aws-sdk-globalaccelerator 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3b70dde004138c3b01f65f6cec335f01fb1d2842
4
+ data.tar.gz: fb15737ab4f72c0a025f828f64446f1dba8ef68c
5
+ SHA512:
6
+ metadata.gz: 274b44330c14352f6bed861688b7fea6834dfb8aef4a9a6ff49855a057efc3f1797150ae0da503561444af49acd80dbc2c2f21371af27cfe2acb9e2915d21d97
7
+ data.tar.gz: f2d73bc938cfa5503aba1f9f792e86f896b4d0418bf577a39e2632d0cf56053b819299bfa2d79433c123e6e439aba501b04e4efe142ff80b2caee7193cf233b6
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-globalaccelerator/types'
12
+ require_relative 'aws-sdk-globalaccelerator/client_api'
13
+ require_relative 'aws-sdk-globalaccelerator/client'
14
+ require_relative 'aws-sdk-globalaccelerator/errors'
15
+ require_relative 'aws-sdk-globalaccelerator/resource'
16
+ require_relative 'aws-sdk-globalaccelerator/customizations'
17
+
18
+ # This module provides support for AWS Global Accelerator. This module is available in the
19
+ # `aws-sdk-globalaccelerator` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Global Accelerator all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::GlobalAccelerator::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::GlobalAccelerator
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1107 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:globalaccelerator)
30
+
31
+ module Aws::GlobalAccelerator
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :globalaccelerator
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :simple_json (false)
190
+ # Disables request parameter conversion, validation, and formatting.
191
+ # Also disable response data type conversions. This option is useful
192
+ # when you want to ensure the highest level of performance by
193
+ # avoiding overhead of walking request parameters and response data
194
+ # structures.
195
+ #
196
+ # When `:simple_json` is enabled, the request parameters hash must
197
+ # be formatted exactly as the DynamoDB API expects.
198
+ #
199
+ # @option options [Boolean] :stub_responses (false)
200
+ # Causes the client to return stubbed responses. By default
201
+ # fake responses are generated and returned. You can specify
202
+ # the response data to return or errors to raise by calling
203
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
204
+ #
205
+ # ** Please note ** When response stubbing is enabled, no HTTP
206
+ # requests are made, and retries are disabled.
207
+ #
208
+ # @option options [Boolean] :validate_params (true)
209
+ # When `true`, request parameters are validated before
210
+ # sending the request.
211
+ #
212
+ def initialize(*args)
213
+ super
214
+ end
215
+
216
+ # @!group API Operations
217
+
218
+ # Create an accelerator. An accelerator includes one or more listeners
219
+ # that process inbound connections and direct traffic to one or more
220
+ # endpoint groups, each of which includes endpoints, such as Network
221
+ # Load Balancers. To see an AWS CLI example of creating an accelerator,
222
+ # scroll down to **Example**.
223
+ #
224
+ # @option params [required, String] :name
225
+ # The name of an accelerator. The name can have a maximum of 32
226
+ # characters, must contain only alphanumeric characters or hyphens (-),
227
+ # and must not begin or end with a hyphen.
228
+ #
229
+ # @option params [String] :ip_address_type
230
+ # The value for the address type must be IPv4.
231
+ #
232
+ # @option params [Boolean] :enabled
233
+ # Indicates whether an accelerator is enabled. The value is true or
234
+ # false. The default value is true.
235
+ #
236
+ # If the value is set to true, an accelerator cannot be deleted. If set
237
+ # to false, the accelerator can be deleted.
238
+ #
239
+ # @option params [required, String] :idempotency_token
240
+ # A unique, case-sensitive identifier that you provide to ensure the
241
+ # idempotency—that is, the uniqueness—of an accelerator.
242
+ #
243
+ # @return [Types::CreateAcceleratorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
244
+ #
245
+ # * {Types::CreateAcceleratorResponse#accelerator #accelerator} => Types::Accelerator
246
+ #
247
+ # @example Request syntax with placeholder values
248
+ #
249
+ # resp = client.create_accelerator({
250
+ # name: "GenericString", # required
251
+ # ip_address_type: "IPV4", # accepts IPV4
252
+ # enabled: false,
253
+ # idempotency_token: "IdempotencyToken", # required
254
+ # })
255
+ #
256
+ # @example Response structure
257
+ #
258
+ # resp.accelerator.accelerator_arn #=> String
259
+ # resp.accelerator.name #=> String
260
+ # resp.accelerator.ip_address_type #=> String, one of "IPV4"
261
+ # resp.accelerator.enabled #=> Boolean
262
+ # resp.accelerator.ip_sets #=> Array
263
+ # resp.accelerator.ip_sets[0].ip_family #=> String
264
+ # resp.accelerator.ip_sets[0].ip_addresses #=> Array
265
+ # resp.accelerator.ip_sets[0].ip_addresses[0] #=> String
266
+ # resp.accelerator.status #=> String, one of "DEPLOYED", "IN_PROGRESS"
267
+ # resp.accelerator.created_time #=> Time
268
+ # resp.accelerator.last_modified_time #=> Time
269
+ #
270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateAccelerator AWS API Documentation
271
+ #
272
+ # @overload create_accelerator(params = {})
273
+ # @param [Hash] params ({})
274
+ def create_accelerator(params = {}, options = {})
275
+ req = build_request(:create_accelerator, params)
276
+ req.send_request(options)
277
+ end
278
+
279
+ # Create an endpoint group for the specified accelerator. An endpoint
280
+ # group is a collection of endpoints in one AWS Region. To see an AWS
281
+ # CLI example of creating an endpoint group, scroll down to **Example**.
282
+ #
283
+ # @option params [required, String] :listener_arn
284
+ # The Amazon Resource Name (ARN) of the listener.
285
+ #
286
+ # @option params [required, String] :endpoint_group_region
287
+ # The name of the AWS Region where the endpoint group is located. A
288
+ # listener can have only one endpoint group in a specific Region.
289
+ #
290
+ # @option params [Array<Types::EndpointConfiguration>] :endpoint_configurations
291
+ # The list of endpoint objects.
292
+ #
293
+ # @option params [Float] :traffic_dial_percentage
294
+ # The percentage of traffic to send to an AWS Region. Additional traffic
295
+ # is distributed to other endpoint groups for this listener.
296
+ #
297
+ # Use this action to increase (dial up) or decrease (dial down) traffic
298
+ # to a specific Region. The percentage is applied to the traffic that
299
+ # would otherwise have been routed to the Region based on optimal
300
+ # routing.
301
+ #
302
+ # The default value is 100.
303
+ #
304
+ # @option params [Integer] :health_check_port
305
+ # The port that AWS Global Accelerator uses to check the health of
306
+ # endpoints that are part of this endpoint group. The default port is
307
+ # the listener port that this endpoint group is associated with. If
308
+ # listener port is a list of ports, Global Accelerator uses the first
309
+ # port in the list.
310
+ #
311
+ # @option params [String] :health_check_protocol
312
+ # The protocol that AWS Global Accelerator uses to check the health of
313
+ # endpoints that are part of this endpoint group. The default value is
314
+ # TCP.
315
+ #
316
+ # @option params [String] :health_check_path
317
+ # If the protocol is HTTP/S, then this specifies the path that is the
318
+ # destination for health check targets. The default value is slash (/).
319
+ #
320
+ # @option params [Integer] :health_check_interval_seconds
321
+ # The time, in seconds, between each health check for an endpoint. The
322
+ # default value is 30.
323
+ #
324
+ # @option params [Integer] :threshold_count
325
+ # The number of consecutive health checks required to set the state of a
326
+ # healthy endpoint to unhealthy, or to set an unhealthy endpoint to
327
+ # healthy. The default value is 3.
328
+ #
329
+ # @option params [required, String] :idempotency_token
330
+ # A unique, case-sensitive identifier that you provide to ensure the
331
+ # idempotency—that is, the uniqueness—of the request.
332
+ #
333
+ # @return [Types::CreateEndpointGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
334
+ #
335
+ # * {Types::CreateEndpointGroupResponse#endpoint_group #endpoint_group} => Types::EndpointGroup
336
+ #
337
+ # @example Request syntax with placeholder values
338
+ #
339
+ # resp = client.create_endpoint_group({
340
+ # listener_arn: "GenericString", # required
341
+ # endpoint_group_region: "GenericString", # required
342
+ # endpoint_configurations: [
343
+ # {
344
+ # endpoint_id: "GenericString",
345
+ # weight: 1,
346
+ # },
347
+ # ],
348
+ # traffic_dial_percentage: 1.0,
349
+ # health_check_port: 1,
350
+ # health_check_protocol: "TCP", # accepts TCP, HTTP, HTTPS
351
+ # health_check_path: "GenericString",
352
+ # health_check_interval_seconds: 1,
353
+ # threshold_count: 1,
354
+ # idempotency_token: "IdempotencyToken", # required
355
+ # })
356
+ #
357
+ # @example Response structure
358
+ #
359
+ # resp.endpoint_group.endpoint_group_arn #=> String
360
+ # resp.endpoint_group.endpoint_group_region #=> String
361
+ # resp.endpoint_group.endpoint_descriptions #=> Array
362
+ # resp.endpoint_group.endpoint_descriptions[0].endpoint_id #=> String
363
+ # resp.endpoint_group.endpoint_descriptions[0].weight #=> Integer
364
+ # resp.endpoint_group.endpoint_descriptions[0].health_state #=> String, one of "INITIAL", "HEALTHY", "UNHEALTHY"
365
+ # resp.endpoint_group.endpoint_descriptions[0].health_reason #=> String
366
+ # resp.endpoint_group.traffic_dial_percentage #=> Float
367
+ # resp.endpoint_group.health_check_port #=> Integer
368
+ # resp.endpoint_group.health_check_protocol #=> String, one of "TCP", "HTTP", "HTTPS"
369
+ # resp.endpoint_group.health_check_path #=> String
370
+ # resp.endpoint_group.health_check_interval_seconds #=> Integer
371
+ # resp.endpoint_group.threshold_count #=> Integer
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateEndpointGroup AWS API Documentation
374
+ #
375
+ # @overload create_endpoint_group(params = {})
376
+ # @param [Hash] params ({})
377
+ def create_endpoint_group(params = {}, options = {})
378
+ req = build_request(:create_endpoint_group, params)
379
+ req.send_request(options)
380
+ end
381
+
382
+ # Create a listener to process inbound connections from clients to an
383
+ # accelerator. Connections arrive to assigned static IP addresses on a
384
+ # port, port range, or list of port ranges that you specify. To see an
385
+ # AWS CLI example of creating a listener, scroll down to **Example**.
386
+ #
387
+ # @option params [required, String] :accelerator_arn
388
+ # The Amazon Resource Name (ARN) of your accelerator.
389
+ #
390
+ # @option params [required, Array<Types::PortRange>] :port_ranges
391
+ # The list of port ranges to support for connections from clients to
392
+ # your accelerator.
393
+ #
394
+ # @option params [required, String] :protocol
395
+ # The protocol for connections from clients to your accelerator.
396
+ #
397
+ # @option params [String] :client_affinity
398
+ # Client affinity lets you direct all requests from a user to the same
399
+ # endpoint, if you have stateful applications, regardless of the port
400
+ # and protocol of the client request. Clienty affinity gives you control
401
+ # over whether to always route each client to the same specific
402
+ # endpoint.
403
+ #
404
+ # AWS Global Accelerator uses a consistent-flow hashing algorithm to
405
+ # choose the optimal endpoint for a connection. If client affinity is
406
+ # `NONE`, Global Accelerator uses the "five-tuple" (5-tuple)
407
+ # properties—client IP address, client port, destination IP address,
408
+ # destination port, and protocol—to select the hash value, and then
409
+ # chooses the best endpoint. However, with this setting, if someone uses
410
+ # different ports to connect to Global Accelerator, their connections
411
+ # might not be always routed to the same endpoint because the hash value
412
+ # changes.
413
+ #
414
+ # If you want a given client to always be routed to the same endpoint,
415
+ # set client affinity to `CLIENT_IP` instead. When you use the
416
+ # `CLIENT_IP` setting, Global Accelerator uses the "two-tuple"
417
+ # (2-tuple) properties— client IP address and destination IP address—to
418
+ # select the hash value. For UDP, Global Accelerator always uses
419
+ # two-tuple properties to select the hash value.
420
+ #
421
+ # The default value is `NONE`.
422
+ #
423
+ # @option params [required, String] :idempotency_token
424
+ # A unique, case-sensitive identifier that you provide to ensure the
425
+ # idempotency—that is, the uniqueness—of the request.
426
+ #
427
+ # @return [Types::CreateListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
428
+ #
429
+ # * {Types::CreateListenerResponse#listener #listener} => Types::Listener
430
+ #
431
+ # @example Request syntax with placeholder values
432
+ #
433
+ # resp = client.create_listener({
434
+ # accelerator_arn: "GenericString", # required
435
+ # port_ranges: [ # required
436
+ # {
437
+ # from_port: 1,
438
+ # to_port: 1,
439
+ # },
440
+ # ],
441
+ # protocol: "TCP", # required, accepts TCP, UDP
442
+ # client_affinity: "NONE", # accepts NONE, SOURCE_IP
443
+ # idempotency_token: "IdempotencyToken", # required
444
+ # })
445
+ #
446
+ # @example Response structure
447
+ #
448
+ # resp.listener.listener_arn #=> String
449
+ # resp.listener.port_ranges #=> Array
450
+ # resp.listener.port_ranges[0].from_port #=> Integer
451
+ # resp.listener.port_ranges[0].to_port #=> Integer
452
+ # resp.listener.protocol #=> String, one of "TCP", "UDP"
453
+ # resp.listener.client_affinity #=> String, one of "NONE", "SOURCE_IP"
454
+ #
455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/CreateListener AWS API Documentation
456
+ #
457
+ # @overload create_listener(params = {})
458
+ # @param [Hash] params ({})
459
+ def create_listener(params = {}, options = {})
460
+ req = build_request(:create_listener, params)
461
+ req.send_request(options)
462
+ end
463
+
464
+ # Delete an accelerator. Note: before you can delete an accelerator, you
465
+ # must disable it.
466
+ #
467
+ # @option params [required, String] :accelerator_arn
468
+ # The Amazon Resource Name (ARN) of an accelerator.
469
+ #
470
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
471
+ #
472
+ # @example Request syntax with placeholder values
473
+ #
474
+ # resp = client.delete_accelerator({
475
+ # accelerator_arn: "GenericString", # required
476
+ # })
477
+ #
478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteAccelerator AWS API Documentation
479
+ #
480
+ # @overload delete_accelerator(params = {})
481
+ # @param [Hash] params ({})
482
+ def delete_accelerator(params = {}, options = {})
483
+ req = build_request(:delete_accelerator, params)
484
+ req.send_request(options)
485
+ end
486
+
487
+ # Delete an endpoint group from a listener.
488
+ #
489
+ # @option params [required, String] :endpoint_group_arn
490
+ # The Amazon Resource Name (ARN) of the endpoint group to delete.
491
+ #
492
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
493
+ #
494
+ # @example Request syntax with placeholder values
495
+ #
496
+ # resp = client.delete_endpoint_group({
497
+ # endpoint_group_arn: "GenericString", # required
498
+ # })
499
+ #
500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteEndpointGroup AWS API Documentation
501
+ #
502
+ # @overload delete_endpoint_group(params = {})
503
+ # @param [Hash] params ({})
504
+ def delete_endpoint_group(params = {}, options = {})
505
+ req = build_request(:delete_endpoint_group, params)
506
+ req.send_request(options)
507
+ end
508
+
509
+ # Delete a listener from an accelerator.
510
+ #
511
+ # @option params [required, String] :listener_arn
512
+ # The Amazon Resource Name (ARN) of the listener.
513
+ #
514
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
515
+ #
516
+ # @example Request syntax with placeholder values
517
+ #
518
+ # resp = client.delete_listener({
519
+ # listener_arn: "GenericString", # required
520
+ # })
521
+ #
522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DeleteListener AWS API Documentation
523
+ #
524
+ # @overload delete_listener(params = {})
525
+ # @param [Hash] params ({})
526
+ def delete_listener(params = {}, options = {})
527
+ req = build_request(:delete_listener, params)
528
+ req.send_request(options)
529
+ end
530
+
531
+ # Describe an accelerator. To see an AWS CLI example of describing an
532
+ # accelerator, scroll down to **Example**.
533
+ #
534
+ # @option params [required, String] :accelerator_arn
535
+ # The Amazon Resource Name (ARN) of the accelerator to describe.
536
+ #
537
+ # @return [Types::DescribeAcceleratorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
538
+ #
539
+ # * {Types::DescribeAcceleratorResponse#accelerator #accelerator} => Types::Accelerator
540
+ #
541
+ # @example Request syntax with placeholder values
542
+ #
543
+ # resp = client.describe_accelerator({
544
+ # accelerator_arn: "GenericString", # required
545
+ # })
546
+ #
547
+ # @example Response structure
548
+ #
549
+ # resp.accelerator.accelerator_arn #=> String
550
+ # resp.accelerator.name #=> String
551
+ # resp.accelerator.ip_address_type #=> String, one of "IPV4"
552
+ # resp.accelerator.enabled #=> Boolean
553
+ # resp.accelerator.ip_sets #=> Array
554
+ # resp.accelerator.ip_sets[0].ip_family #=> String
555
+ # resp.accelerator.ip_sets[0].ip_addresses #=> Array
556
+ # resp.accelerator.ip_sets[0].ip_addresses[0] #=> String
557
+ # resp.accelerator.status #=> String, one of "DEPLOYED", "IN_PROGRESS"
558
+ # resp.accelerator.created_time #=> Time
559
+ # resp.accelerator.last_modified_time #=> Time
560
+ #
561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAccelerator AWS API Documentation
562
+ #
563
+ # @overload describe_accelerator(params = {})
564
+ # @param [Hash] params ({})
565
+ def describe_accelerator(params = {}, options = {})
566
+ req = build_request(:describe_accelerator, params)
567
+ req.send_request(options)
568
+ end
569
+
570
+ # Describe the attributes of an accelerator.
571
+ #
572
+ # @option params [String] :accelerator_arn
573
+ # The Amazon Resource Name (ARN) of the accelerator with the attributes
574
+ # that you want to describe.
575
+ #
576
+ # @return [Types::DescribeAcceleratorAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
577
+ #
578
+ # * {Types::DescribeAcceleratorAttributesResponse#accelerator_attributes #accelerator_attributes} => Types::AcceleratorAttributes
579
+ #
580
+ # @example Request syntax with placeholder values
581
+ #
582
+ # resp = client.describe_accelerator_attributes({
583
+ # accelerator_arn: "GenericString",
584
+ # })
585
+ #
586
+ # @example Response structure
587
+ #
588
+ # resp.accelerator_attributes.flow_logs_enabled #=> Boolean
589
+ # resp.accelerator_attributes.flow_logs_s3_bucket #=> String
590
+ # resp.accelerator_attributes.flow_logs_s3_prefix #=> String
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeAcceleratorAttributes AWS API Documentation
593
+ #
594
+ # @overload describe_accelerator_attributes(params = {})
595
+ # @param [Hash] params ({})
596
+ def describe_accelerator_attributes(params = {}, options = {})
597
+ req = build_request(:describe_accelerator_attributes, params)
598
+ req.send_request(options)
599
+ end
600
+
601
+ # Describe an endpoint group.
602
+ #
603
+ # @option params [required, String] :endpoint_group_arn
604
+ # The Amazon Resource Name (ARN) of the endpoint group to describe.
605
+ #
606
+ # @return [Types::DescribeEndpointGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
607
+ #
608
+ # * {Types::DescribeEndpointGroupResponse#endpoint_group #endpoint_group} => Types::EndpointGroup
609
+ #
610
+ # @example Request syntax with placeholder values
611
+ #
612
+ # resp = client.describe_endpoint_group({
613
+ # endpoint_group_arn: "GenericString", # required
614
+ # })
615
+ #
616
+ # @example Response structure
617
+ #
618
+ # resp.endpoint_group.endpoint_group_arn #=> String
619
+ # resp.endpoint_group.endpoint_group_region #=> String
620
+ # resp.endpoint_group.endpoint_descriptions #=> Array
621
+ # resp.endpoint_group.endpoint_descriptions[0].endpoint_id #=> String
622
+ # resp.endpoint_group.endpoint_descriptions[0].weight #=> Integer
623
+ # resp.endpoint_group.endpoint_descriptions[0].health_state #=> String, one of "INITIAL", "HEALTHY", "UNHEALTHY"
624
+ # resp.endpoint_group.endpoint_descriptions[0].health_reason #=> String
625
+ # resp.endpoint_group.traffic_dial_percentage #=> Float
626
+ # resp.endpoint_group.health_check_port #=> Integer
627
+ # resp.endpoint_group.health_check_protocol #=> String, one of "TCP", "HTTP", "HTTPS"
628
+ # resp.endpoint_group.health_check_path #=> String
629
+ # resp.endpoint_group.health_check_interval_seconds #=> Integer
630
+ # resp.endpoint_group.threshold_count #=> Integer
631
+ #
632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeEndpointGroup AWS API Documentation
633
+ #
634
+ # @overload describe_endpoint_group(params = {})
635
+ # @param [Hash] params ({})
636
+ def describe_endpoint_group(params = {}, options = {})
637
+ req = build_request(:describe_endpoint_group, params)
638
+ req.send_request(options)
639
+ end
640
+
641
+ # Describe a listener.
642
+ #
643
+ # @option params [required, String] :listener_arn
644
+ # The Amazon Resource Name (ARN) of the listener to describe.
645
+ #
646
+ # @return [Types::DescribeListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
647
+ #
648
+ # * {Types::DescribeListenerResponse#listener #listener} => Types::Listener
649
+ #
650
+ # @example Request syntax with placeholder values
651
+ #
652
+ # resp = client.describe_listener({
653
+ # listener_arn: "GenericString", # required
654
+ # })
655
+ #
656
+ # @example Response structure
657
+ #
658
+ # resp.listener.listener_arn #=> String
659
+ # resp.listener.port_ranges #=> Array
660
+ # resp.listener.port_ranges[0].from_port #=> Integer
661
+ # resp.listener.port_ranges[0].to_port #=> Integer
662
+ # resp.listener.protocol #=> String, one of "TCP", "UDP"
663
+ # resp.listener.client_affinity #=> String, one of "NONE", "SOURCE_IP"
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/DescribeListener AWS API Documentation
666
+ #
667
+ # @overload describe_listener(params = {})
668
+ # @param [Hash] params ({})
669
+ def describe_listener(params = {}, options = {})
670
+ req = build_request(:describe_listener, params)
671
+ req.send_request(options)
672
+ end
673
+
674
+ # List the accelerators for an AWS account.
675
+ #
676
+ # @option params [Integer] :max_results
677
+ # The number of Global Accelerator objects that you want to return with
678
+ # this call. The default value is 10.
679
+ #
680
+ # @option params [String] :next_token
681
+ # The token for the next set of results. You receive this token from a
682
+ # previous call.
683
+ #
684
+ # @return [Types::ListAcceleratorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
685
+ #
686
+ # * {Types::ListAcceleratorsResponse#accelerators #accelerators} => Array&lt;Types::Accelerator&gt;
687
+ # * {Types::ListAcceleratorsResponse#next_token #next_token} => String
688
+ #
689
+ # @example Request syntax with placeholder values
690
+ #
691
+ # resp = client.list_accelerators({
692
+ # max_results: 1,
693
+ # next_token: "GenericString",
694
+ # })
695
+ #
696
+ # @example Response structure
697
+ #
698
+ # resp.accelerators #=> Array
699
+ # resp.accelerators[0].accelerator_arn #=> String
700
+ # resp.accelerators[0].name #=> String
701
+ # resp.accelerators[0].ip_address_type #=> String, one of "IPV4"
702
+ # resp.accelerators[0].enabled #=> Boolean
703
+ # resp.accelerators[0].ip_sets #=> Array
704
+ # resp.accelerators[0].ip_sets[0].ip_family #=> String
705
+ # resp.accelerators[0].ip_sets[0].ip_addresses #=> Array
706
+ # resp.accelerators[0].ip_sets[0].ip_addresses[0] #=> String
707
+ # resp.accelerators[0].status #=> String, one of "DEPLOYED", "IN_PROGRESS"
708
+ # resp.accelerators[0].created_time #=> Time
709
+ # resp.accelerators[0].last_modified_time #=> Time
710
+ # resp.next_token #=> String
711
+ #
712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListAccelerators AWS API Documentation
713
+ #
714
+ # @overload list_accelerators(params = {})
715
+ # @param [Hash] params ({})
716
+ def list_accelerators(params = {}, options = {})
717
+ req = build_request(:list_accelerators, params)
718
+ req.send_request(options)
719
+ end
720
+
721
+ # List the endpoint groups that are associated with a listener.
722
+ #
723
+ # @option params [required, String] :listener_arn
724
+ # The Amazon Resource Name (ARN) of the listener.
725
+ #
726
+ # @option params [Integer] :max_results
727
+ # The number of endpoint group objects that you want to return with this
728
+ # call. The default value is 10.
729
+ #
730
+ # @option params [String] :next_token
731
+ # The token for the next set of results. You receive this token from a
732
+ # previous call.
733
+ #
734
+ # @return [Types::ListEndpointGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
735
+ #
736
+ # * {Types::ListEndpointGroupsResponse#endpoint_groups #endpoint_groups} => Array&lt;Types::EndpointGroup&gt;
737
+ # * {Types::ListEndpointGroupsResponse#next_token #next_token} => String
738
+ #
739
+ # @example Request syntax with placeholder values
740
+ #
741
+ # resp = client.list_endpoint_groups({
742
+ # listener_arn: "GenericString", # required
743
+ # max_results: 1,
744
+ # next_token: "GenericString",
745
+ # })
746
+ #
747
+ # @example Response structure
748
+ #
749
+ # resp.endpoint_groups #=> Array
750
+ # resp.endpoint_groups[0].endpoint_group_arn #=> String
751
+ # resp.endpoint_groups[0].endpoint_group_region #=> String
752
+ # resp.endpoint_groups[0].endpoint_descriptions #=> Array
753
+ # resp.endpoint_groups[0].endpoint_descriptions[0].endpoint_id #=> String
754
+ # resp.endpoint_groups[0].endpoint_descriptions[0].weight #=> Integer
755
+ # resp.endpoint_groups[0].endpoint_descriptions[0].health_state #=> String, one of "INITIAL", "HEALTHY", "UNHEALTHY"
756
+ # resp.endpoint_groups[0].endpoint_descriptions[0].health_reason #=> String
757
+ # resp.endpoint_groups[0].traffic_dial_percentage #=> Float
758
+ # resp.endpoint_groups[0].health_check_port #=> Integer
759
+ # resp.endpoint_groups[0].health_check_protocol #=> String, one of "TCP", "HTTP", "HTTPS"
760
+ # resp.endpoint_groups[0].health_check_path #=> String
761
+ # resp.endpoint_groups[0].health_check_interval_seconds #=> Integer
762
+ # resp.endpoint_groups[0].threshold_count #=> Integer
763
+ # resp.next_token #=> String
764
+ #
765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListEndpointGroups AWS API Documentation
766
+ #
767
+ # @overload list_endpoint_groups(params = {})
768
+ # @param [Hash] params ({})
769
+ def list_endpoint_groups(params = {}, options = {})
770
+ req = build_request(:list_endpoint_groups, params)
771
+ req.send_request(options)
772
+ end
773
+
774
+ # List the listeners for an accelerator.
775
+ #
776
+ # @option params [required, String] :accelerator_arn
777
+ # The Amazon Resource Name (ARN) of the accelerator for which you want
778
+ # to list listener objects.
779
+ #
780
+ # @option params [Integer] :max_results
781
+ # The number of listener objects that you want to return with this call.
782
+ # The default value is 10.
783
+ #
784
+ # @option params [String] :next_token
785
+ # The token for the next set of results. You receive this token from a
786
+ # previous call.
787
+ #
788
+ # @return [Types::ListListenersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
+ #
790
+ # * {Types::ListListenersResponse#listeners #listeners} => Array&lt;Types::Listener&gt;
791
+ # * {Types::ListListenersResponse#next_token #next_token} => String
792
+ #
793
+ # @example Request syntax with placeholder values
794
+ #
795
+ # resp = client.list_listeners({
796
+ # accelerator_arn: "GenericString", # required
797
+ # max_results: 1,
798
+ # next_token: "GenericString",
799
+ # })
800
+ #
801
+ # @example Response structure
802
+ #
803
+ # resp.listeners #=> Array
804
+ # resp.listeners[0].listener_arn #=> String
805
+ # resp.listeners[0].port_ranges #=> Array
806
+ # resp.listeners[0].port_ranges[0].from_port #=> Integer
807
+ # resp.listeners[0].port_ranges[0].to_port #=> Integer
808
+ # resp.listeners[0].protocol #=> String, one of "TCP", "UDP"
809
+ # resp.listeners[0].client_affinity #=> String, one of "NONE", "SOURCE_IP"
810
+ # resp.next_token #=> String
811
+ #
812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ListListeners AWS API Documentation
813
+ #
814
+ # @overload list_listeners(params = {})
815
+ # @param [Hash] params ({})
816
+ def list_listeners(params = {}, options = {})
817
+ req = build_request(:list_listeners, params)
818
+ req.send_request(options)
819
+ end
820
+
821
+ # Update an accelerator.
822
+ #
823
+ # @option params [required, String] :accelerator_arn
824
+ # The Amazon Resource Name (ARN) of the accelerator to update.
825
+ #
826
+ # @option params [String] :name
827
+ # The name of the accelerator. The name can have a maximum of 32
828
+ # characters, must contain only alphanumeric characters or hyphens (-),
829
+ # and must not begin or end with a hyphen.
830
+ #
831
+ # @option params [String] :ip_address_type
832
+ # The value for the address type must be IPv4.
833
+ #
834
+ # @option params [Boolean] :enabled
835
+ # Indicates whether an accelerator is enabled. The value is true or
836
+ # false. The default value is true.
837
+ #
838
+ # If the value is set to true, the accelerator cannot be deleted. If set
839
+ # to false, the accelerator can be deleted.
840
+ #
841
+ # @return [Types::UpdateAcceleratorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
842
+ #
843
+ # * {Types::UpdateAcceleratorResponse#accelerator #accelerator} => Types::Accelerator
844
+ #
845
+ # @example Request syntax with placeholder values
846
+ #
847
+ # resp = client.update_accelerator({
848
+ # accelerator_arn: "GenericString", # required
849
+ # name: "GenericString",
850
+ # ip_address_type: "IPV4", # accepts IPV4
851
+ # enabled: false,
852
+ # })
853
+ #
854
+ # @example Response structure
855
+ #
856
+ # resp.accelerator.accelerator_arn #=> String
857
+ # resp.accelerator.name #=> String
858
+ # resp.accelerator.ip_address_type #=> String, one of "IPV4"
859
+ # resp.accelerator.enabled #=> Boolean
860
+ # resp.accelerator.ip_sets #=> Array
861
+ # resp.accelerator.ip_sets[0].ip_family #=> String
862
+ # resp.accelerator.ip_sets[0].ip_addresses #=> Array
863
+ # resp.accelerator.ip_sets[0].ip_addresses[0] #=> String
864
+ # resp.accelerator.status #=> String, one of "DEPLOYED", "IN_PROGRESS"
865
+ # resp.accelerator.created_time #=> Time
866
+ # resp.accelerator.last_modified_time #=> Time
867
+ #
868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAccelerator AWS API Documentation
869
+ #
870
+ # @overload update_accelerator(params = {})
871
+ # @param [Hash] params ({})
872
+ def update_accelerator(params = {}, options = {})
873
+ req = build_request(:update_accelerator, params)
874
+ req.send_request(options)
875
+ end
876
+
877
+ # Update the attributes for an accelerator. To see an AWS CLI example of
878
+ # updating an accelerator to enable flow logs, scroll down to
879
+ # **Example**.
880
+ #
881
+ # @option params [String] :accelerator_arn
882
+ # The Amazon Resource Name (ARN) of the accelerator that you want to
883
+ # update.
884
+ #
885
+ # @option params [Boolean] :flow_logs_enabled
886
+ # Update whether flow logs are enabled.
887
+ #
888
+ # @option params [String] :flow_logs_s3_bucket
889
+ # Update the name of the Amazon S3 bucket for the flow logs.
890
+ #
891
+ # @option params [String] :flow_logs_s3_prefix
892
+ # Update the prefix for the location in the Amazon S3 bucket for the
893
+ # flow logs.
894
+ #
895
+ # @return [Types::UpdateAcceleratorAttributesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
896
+ #
897
+ # * {Types::UpdateAcceleratorAttributesResponse#accelerator_attributes #accelerator_attributes} => Types::AcceleratorAttributes
898
+ #
899
+ # @example Request syntax with placeholder values
900
+ #
901
+ # resp = client.update_accelerator_attributes({
902
+ # accelerator_arn: "GenericString",
903
+ # flow_logs_enabled: false,
904
+ # flow_logs_s3_bucket: "GenericString",
905
+ # flow_logs_s3_prefix: "GenericString",
906
+ # })
907
+ #
908
+ # @example Response structure
909
+ #
910
+ # resp.accelerator_attributes.flow_logs_enabled #=> Boolean
911
+ # resp.accelerator_attributes.flow_logs_s3_bucket #=> String
912
+ # resp.accelerator_attributes.flow_logs_s3_prefix #=> String
913
+ #
914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateAcceleratorAttributes AWS API Documentation
915
+ #
916
+ # @overload update_accelerator_attributes(params = {})
917
+ # @param [Hash] params ({})
918
+ def update_accelerator_attributes(params = {}, options = {})
919
+ req = build_request(:update_accelerator_attributes, params)
920
+ req.send_request(options)
921
+ end
922
+
923
+ # Update an endpoint group. To see an AWS CLI example of updating an
924
+ # endpoint group, scroll down to **Example**.
925
+ #
926
+ # @option params [required, String] :endpoint_group_arn
927
+ # The Amazon Resource Name (ARN) of the endpoint group.
928
+ #
929
+ # @option params [Array<Types::EndpointConfiguration>] :endpoint_configurations
930
+ # The list of endpoint objects.
931
+ #
932
+ # @option params [Float] :traffic_dial_percentage
933
+ # The percentage of traffic to send to an AWS Region. Additional traffic
934
+ # is distributed to other endpoint groups for this listener.
935
+ #
936
+ # Use this action to increase (dial up) or decrease (dial down) traffic
937
+ # to a specific Region. The percentage is applied to the traffic that
938
+ # would otherwise have been routed to the Region based on optimal
939
+ # routing.
940
+ #
941
+ # The default value is 100.
942
+ #
943
+ # @option params [Integer] :health_check_port
944
+ # The port that AWS Global Accelerator uses to check the health of
945
+ # endpoints that are part of this endpoint group. The default port is
946
+ # the listener port that this endpoint group is associated with. If the
947
+ # listener port is a list of ports, Global Accelerator uses the first
948
+ # port in the list.
949
+ #
950
+ # @option params [String] :health_check_protocol
951
+ # The protocol that AWS Global Accelerator uses to check the health of
952
+ # endpoints that are part of this endpoint group. The default value is
953
+ # TCP.
954
+ #
955
+ # @option params [String] :health_check_path
956
+ # If the protocol is HTTP/S, then this specifies the path that is the
957
+ # destination for health check targets. The default value is slash (/).
958
+ #
959
+ # @option params [Integer] :health_check_interval_seconds
960
+ # The time, in seconds, between each health check for an endpoint. The
961
+ # default value is 30.
962
+ #
963
+ # @option params [Integer] :threshold_count
964
+ # The number of consecutive health checks required to set the state of a
965
+ # healthy endpoint to unhealthy, or to set an unhealthy endpoint to
966
+ # healthy. The default value is 3.
967
+ #
968
+ # @return [Types::UpdateEndpointGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
969
+ #
970
+ # * {Types::UpdateEndpointGroupResponse#endpoint_group #endpoint_group} => Types::EndpointGroup
971
+ #
972
+ # @example Request syntax with placeholder values
973
+ #
974
+ # resp = client.update_endpoint_group({
975
+ # endpoint_group_arn: "GenericString", # required
976
+ # endpoint_configurations: [
977
+ # {
978
+ # endpoint_id: "GenericString",
979
+ # weight: 1,
980
+ # },
981
+ # ],
982
+ # traffic_dial_percentage: 1.0,
983
+ # health_check_port: 1,
984
+ # health_check_protocol: "TCP", # accepts TCP, HTTP, HTTPS
985
+ # health_check_path: "GenericString",
986
+ # health_check_interval_seconds: 1,
987
+ # threshold_count: 1,
988
+ # })
989
+ #
990
+ # @example Response structure
991
+ #
992
+ # resp.endpoint_group.endpoint_group_arn #=> String
993
+ # resp.endpoint_group.endpoint_group_region #=> String
994
+ # resp.endpoint_group.endpoint_descriptions #=> Array
995
+ # resp.endpoint_group.endpoint_descriptions[0].endpoint_id #=> String
996
+ # resp.endpoint_group.endpoint_descriptions[0].weight #=> Integer
997
+ # resp.endpoint_group.endpoint_descriptions[0].health_state #=> String, one of "INITIAL", "HEALTHY", "UNHEALTHY"
998
+ # resp.endpoint_group.endpoint_descriptions[0].health_reason #=> String
999
+ # resp.endpoint_group.traffic_dial_percentage #=> Float
1000
+ # resp.endpoint_group.health_check_port #=> Integer
1001
+ # resp.endpoint_group.health_check_protocol #=> String, one of "TCP", "HTTP", "HTTPS"
1002
+ # resp.endpoint_group.health_check_path #=> String
1003
+ # resp.endpoint_group.health_check_interval_seconds #=> Integer
1004
+ # resp.endpoint_group.threshold_count #=> Integer
1005
+ #
1006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateEndpointGroup AWS API Documentation
1007
+ #
1008
+ # @overload update_endpoint_group(params = {})
1009
+ # @param [Hash] params ({})
1010
+ def update_endpoint_group(params = {}, options = {})
1011
+ req = build_request(:update_endpoint_group, params)
1012
+ req.send_request(options)
1013
+ end
1014
+
1015
+ # Update a listener.
1016
+ #
1017
+ # @option params [required, String] :listener_arn
1018
+ # The Amazon Resource Name (ARN) of the listener to update.
1019
+ #
1020
+ # @option params [Array<Types::PortRange>] :port_ranges
1021
+ # The updated list of port ranges for the connections from clients to
1022
+ # the accelerator.
1023
+ #
1024
+ # @option params [String] :protocol
1025
+ # The updated protocol for the connections from clients to the
1026
+ # accelerator.
1027
+ #
1028
+ # @option params [String] :client_affinity
1029
+ # Client affinity lets you direct all requests from a user to the same
1030
+ # endpoint, if you have stateful applications, regardless of the source
1031
+ # port and protocol of the user request. This gives you control over
1032
+ # whether and how to maintain client affinity to a given endpoint.
1033
+ #
1034
+ # The default value is `NONE`.
1035
+ #
1036
+ # @return [Types::UpdateListenerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1037
+ #
1038
+ # * {Types::UpdateListenerResponse#listener #listener} => Types::Listener
1039
+ #
1040
+ # @example Request syntax with placeholder values
1041
+ #
1042
+ # resp = client.update_listener({
1043
+ # listener_arn: "GenericString", # required
1044
+ # port_ranges: [
1045
+ # {
1046
+ # from_port: 1,
1047
+ # to_port: 1,
1048
+ # },
1049
+ # ],
1050
+ # protocol: "TCP", # accepts TCP, UDP
1051
+ # client_affinity: "NONE", # accepts NONE, SOURCE_IP
1052
+ # })
1053
+ #
1054
+ # @example Response structure
1055
+ #
1056
+ # resp.listener.listener_arn #=> String
1057
+ # resp.listener.port_ranges #=> Array
1058
+ # resp.listener.port_ranges[0].from_port #=> Integer
1059
+ # resp.listener.port_ranges[0].to_port #=> Integer
1060
+ # resp.listener.protocol #=> String, one of "TCP", "UDP"
1061
+ # resp.listener.client_affinity #=> String, one of "NONE", "SOURCE_IP"
1062
+ #
1063
+ # @see http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/UpdateListener AWS API Documentation
1064
+ #
1065
+ # @overload update_listener(params = {})
1066
+ # @param [Hash] params ({})
1067
+ def update_listener(params = {}, options = {})
1068
+ req = build_request(:update_listener, params)
1069
+ req.send_request(options)
1070
+ end
1071
+
1072
+ # @!endgroup
1073
+
1074
+ # @param params ({})
1075
+ # @api private
1076
+ def build_request(operation_name, params = {})
1077
+ handlers = @handlers.for(operation_name)
1078
+ context = Seahorse::Client::RequestContext.new(
1079
+ operation_name: operation_name,
1080
+ operation: config.api.operation(operation_name),
1081
+ client: self,
1082
+ params: params,
1083
+ config: config)
1084
+ context[:gem_name] = 'aws-sdk-globalaccelerator'
1085
+ context[:gem_version] = '1.0.0'
1086
+ Seahorse::Client::Request.new(handlers, context)
1087
+ end
1088
+
1089
+ # @api private
1090
+ # @deprecated
1091
+ def waiter_names
1092
+ []
1093
+ end
1094
+
1095
+ class << self
1096
+
1097
+ # @api private
1098
+ attr_reader :identifier
1099
+
1100
+ # @api private
1101
+ def errors_module
1102
+ Errors
1103
+ end
1104
+
1105
+ end
1106
+ end
1107
+ end