aws-sdk-elasticloadbalancingv2 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 847ac2a7247f41c9d41670b445459c80baffff74
4
+ data.tar.gz: 1d5d50fe01a5af0cbac27c519b1a98ea009ce7ae
5
+ SHA512:
6
+ metadata.gz: de06340aab147fd639d3ef299258578d37022a5a919c82fbea1defe5ceb5aa73018c694a1269c59f96a2c674cbccec7fb0af696c2b131abfb67bb51781d22426
7
+ data.tar.gz: dc224a77f035e4860b915e54586330aa2c79dcd2ea87d353995bb31134be5c1a6eb5c17c6aad5fd5ba047e0baa4ce8545ea930e6f8376be3fe0ae4ad0de1afe8
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-elasticloadbalancingv2/types'
12
+ require_relative 'aws-sdk-elasticloadbalancingv2/client_api'
13
+ require_relative 'aws-sdk-elasticloadbalancingv2/client'
14
+ require_relative 'aws-sdk-elasticloadbalancingv2/errors'
15
+ require_relative 'aws-sdk-elasticloadbalancingv2/resource'
16
+ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
17
+
18
+ # This module provides support for Elastic Load Balancing. This module is available in the
19
+ # `aws-sdk-elasticloadbalancingv2` 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 Elastic Load Balancing all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::ElasticLoadBalancingV2::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::ElasticLoadBalancingV2
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1391 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/query.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:elasticloadbalancingv2)
25
+
26
+ module Aws
27
+ module ElasticLoadBalancingV2
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :elasticloadbalancingv2
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::Query)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :stub_responses (false)
117
+ # Causes the client to return stubbed responses. By default
118
+ # fake responses are generated and returned. You can specify
119
+ # the response data to return or errors to raise by calling
120
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
121
+ #
122
+ # ** Please note ** When response stubbing is enabled, no HTTP
123
+ # requests are made, and retries are disabled.
124
+ # @option options [Boolean] :validate_params (true)
125
+ # When `true`, request parameters are validated before
126
+ # sending the request.
127
+ def initialize(*args)
128
+ super
129
+ end
130
+
131
+ # @!group API Operations
132
+
133
+ # Adds the specified tags to the specified resource. You can tag your
134
+ # Application Load Balancers and your target groups.
135
+ #
136
+ # Each tag consists of a key and an optional value. If a resource
137
+ # already has a tag with the same key, `AddTags` updates its value.
138
+ #
139
+ # To list the current tags for your resources, use DescribeTags. To
140
+ # remove tags from your resources, use RemoveTags.
141
+ # @option params [required, Array<String>] :resource_arns
142
+ # The Amazon Resource Name (ARN) of the resource.
143
+ # @option params [required, Array<Types::Tag>] :tags
144
+ # The tags. Each resource can have a maximum of 10 tags.
145
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
146
+ #
147
+ # @example Request syntax with placeholder values
148
+ # resp = client.add_tags({
149
+ # resource_arns: ["ResourceArn"], # required
150
+ # tags: [ # required
151
+ # {
152
+ # key: "TagKey", # required
153
+ # value: "TagValue",
154
+ # },
155
+ # ],
156
+ # })
157
+ # @overload add_tags(params = {})
158
+ # @param [Hash] params ({})
159
+ def add_tags(params = {}, options = {})
160
+ req = build_request(:add_tags, params)
161
+ req.send_request(options)
162
+ end
163
+
164
+ # Creates a listener for the specified Application Load Balancer.
165
+ #
166
+ # You can create up to 10 listeners per load balancer.
167
+ #
168
+ # To update a listener, use ModifyListener. When you are finished with a
169
+ # listener, you can delete it using DeleteListener. If you are finished
170
+ # with both the listener and the load balancer, you can delete them both
171
+ # using DeleteLoadBalancer.
172
+ #
173
+ # For more information, see [Listeners for Your Application Load
174
+ # Balancers][1] in the *Application Load Balancers Guide*.
175
+ #
176
+ #
177
+ #
178
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
179
+ # @option params [required, String] :load_balancer_arn
180
+ # The Amazon Resource Name (ARN) of the load balancer.
181
+ # @option params [required, String] :protocol
182
+ # The protocol for connections from clients to the load balancer.
183
+ # @option params [required, Integer] :port
184
+ # The port on which the load balancer is listening.
185
+ # @option params [String] :ssl_policy
186
+ # The security policy that defines which ciphers and protocols are
187
+ # supported. The default is the current predefined security policy.
188
+ # @option params [Array<Types::Certificate>] :certificates
189
+ # The SSL server certificate. You must provide exactly one certificate
190
+ # if the protocol is HTTPS.
191
+ # @option params [required, Array<Types::Action>] :default_actions
192
+ # The default action for the listener.
193
+ # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
194
+ #
195
+ # * {Types::CreateListenerOutput#listeners #Listeners} => Array&lt;Types::Listener&gt;
196
+ #
197
+ # @example Request syntax with placeholder values
198
+ # resp = client.create_listener({
199
+ # load_balancer_arn: "LoadBalancerArn", # required
200
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
201
+ # port: 1, # required
202
+ # ssl_policy: "SslPolicyName",
203
+ # certificates: [
204
+ # {
205
+ # certificate_arn: "CertificateArn",
206
+ # },
207
+ # ],
208
+ # default_actions: [ # required
209
+ # {
210
+ # type: "forward", # required, accepts forward
211
+ # target_group_arn: "TargetGroupArn", # required
212
+ # },
213
+ # ],
214
+ # })
215
+ #
216
+ # @example Response structure
217
+ # resp.listeners #=> Array
218
+ # resp.listeners[0].listener_arn #=> String
219
+ # resp.listeners[0].load_balancer_arn #=> String
220
+ # resp.listeners[0].port #=> Integer
221
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
222
+ # resp.listeners[0].certificates #=> Array
223
+ # resp.listeners[0].certificates[0].certificate_arn #=> String
224
+ # resp.listeners[0].ssl_policy #=> String
225
+ # resp.listeners[0].default_actions #=> Array
226
+ # resp.listeners[0].default_actions[0].type #=> String, one of "forward"
227
+ # resp.listeners[0].default_actions[0].target_group_arn #=> String
228
+ # @overload create_listener(params = {})
229
+ # @param [Hash] params ({})
230
+ def create_listener(params = {}, options = {})
231
+ req = build_request(:create_listener, params)
232
+ req.send_request(options)
233
+ end
234
+
235
+ # Creates an Application Load Balancer.
236
+ #
237
+ # To create listeners for your load balancer, use CreateListener. You
238
+ # can add security groups, subnets, and tags when you create your load
239
+ # balancer, or you can add them later using SetSecurityGroups,
240
+ # SetSubnets, and AddTags.
241
+ #
242
+ # To describe your current load balancers, see DescribeLoadBalancers.
243
+ # When you are finished with a load balancer, you can delete it using
244
+ # DeleteLoadBalancer.
245
+ #
246
+ # You can create up to 20 load balancers per region per account. You can
247
+ # request an increase for the number of load balancers for your account.
248
+ # For more information, see [Limits for Your Application Load
249
+ # Balancer][1] in the *Application Load Balancers Guide*.
250
+ #
251
+ # For more information, see [Application Load Balancers][2] in the
252
+ # *Application Load Balancers Guide*.
253
+ #
254
+ #
255
+ #
256
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
257
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
258
+ # @option params [required, String] :name
259
+ # The name of the load balancer.
260
+ #
261
+ # This name must be unique within your AWS account, can have a maximum
262
+ # of 32 characters, must contain only alphanumeric characters or
263
+ # hyphens, and must not begin or end with a hyphen.
264
+ # @option params [required, Array<String>] :subnets
265
+ # The IDs of the subnets to attach to the load balancer. You can specify
266
+ # only one subnet per Availability Zone. You must specify subnets from
267
+ # at least two Availability Zones.
268
+ # @option params [Array<String>] :security_groups
269
+ # The IDs of the security groups to assign to the load balancer.
270
+ # @option params [String] :scheme
271
+ # The nodes of an Internet-facing load balancer have public IP
272
+ # addresses. The DNS name of an Internet-facing load balancer is
273
+ # publicly resolvable to the public IP addresses of the nodes.
274
+ # Therefore, Internet-facing load balancers can route requests from
275
+ # clients over the Internet.
276
+ #
277
+ # The nodes of an internal load balancer have only private IP addresses.
278
+ # The DNS name of an internal load balancer is publicly resolvable to
279
+ # the private IP addresses of the nodes. Therefore, internal load
280
+ # balancers can only route requests from clients with access to the VPC
281
+ # for the load balancer.
282
+ #
283
+ # The default is an Internet-facing load balancer.
284
+ # @option params [Array<Types::Tag>] :tags
285
+ # One or more tags to assign to the load balancer.
286
+ # @return [Types::CreateLoadBalancerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
287
+ #
288
+ # * {Types::CreateLoadBalancerOutput#load_balancers #LoadBalancers} => Array&lt;Types::LoadBalancer&gt;
289
+ #
290
+ # @example Request syntax with placeholder values
291
+ # resp = client.create_load_balancer({
292
+ # name: "LoadBalancerName", # required
293
+ # subnets: ["SubnetId"], # required
294
+ # security_groups: ["SecurityGroupId"],
295
+ # scheme: "internet-facing", # accepts internet-facing, internal
296
+ # tags: [
297
+ # {
298
+ # key: "TagKey", # required
299
+ # value: "TagValue",
300
+ # },
301
+ # ],
302
+ # })
303
+ #
304
+ # @example Response structure
305
+ # resp.load_balancers #=> Array
306
+ # resp.load_balancers[0].load_balancer_arn #=> String
307
+ # resp.load_balancers[0].dns_name #=> String
308
+ # resp.load_balancers[0].canonical_hosted_zone_id #=> String
309
+ # resp.load_balancers[0].created_time #=> Time
310
+ # resp.load_balancers[0].load_balancer_name #=> String
311
+ # resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
312
+ # resp.load_balancers[0].vpc_id #=> String
313
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
314
+ # resp.load_balancers[0].state.reason #=> String
315
+ # resp.load_balancers[0].type #=> String, one of "application"
316
+ # resp.load_balancers[0].availability_zones #=> Array
317
+ # resp.load_balancers[0].availability_zones[0].zone_name #=> String
318
+ # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
319
+ # resp.load_balancers[0].security_groups #=> Array
320
+ # resp.load_balancers[0].security_groups[0] #=> String
321
+ # @overload create_load_balancer(params = {})
322
+ # @param [Hash] params ({})
323
+ def create_load_balancer(params = {}, options = {})
324
+ req = build_request(:create_load_balancer, params)
325
+ req.send_request(options)
326
+ end
327
+
328
+ # Creates a rule for the specified listener.
329
+ #
330
+ # Each rule can have one action and one condition. Rules are evaluated
331
+ # in priority order, from the lowest value to the highest value. When
332
+ # the condition for a rule is met, the specified action is taken. If no
333
+ # conditions are met, the default action for the default rule is taken.
334
+ # For more information, see [Listener Rules][1] in the *Application Load
335
+ # Balancers Guide*.
336
+ #
337
+ # To view your current rules, use DescribeRules. To update a rule, use
338
+ # ModifyRule. To set the priorities of your rules, use
339
+ # SetRulePriorities. To delete a rule, use DeleteRule.
340
+ #
341
+ #
342
+ #
343
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules
344
+ # @option params [required, String] :listener_arn
345
+ # The Amazon Resource Name (ARN) of the listener.
346
+ # @option params [required, Array<Types::RuleCondition>] :conditions
347
+ # A condition. Each condition has the field `path-pattern` and specifies
348
+ # one path pattern. A path pattern is case sensitive, can be up to 255
349
+ # characters in length, and can contain any of the following characters:
350
+ #
351
+ # * A-Z, a-z, 0-9
352
+ #
353
+ # * \_ - . $ / ~ " ' @ : +
354
+ #
355
+ # * &amp; (using &amp;amp;)
356
+ #
357
+ # * * (matches 0 or more characters)
358
+ #
359
+ # * ? (matches exactly 1 character)
360
+ # @option params [required, Integer] :priority
361
+ # The priority for the rule. A listener can't have multiple rules with
362
+ # the same priority.
363
+ # @option params [required, Array<Types::Action>] :actions
364
+ # An action. Each action has the type `forward` and specifies a target
365
+ # group.
366
+ # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
367
+ #
368
+ # * {Types::CreateRuleOutput#rules #Rules} => Array&lt;Types::Rule&gt;
369
+ #
370
+ # @example Request syntax with placeholder values
371
+ # resp = client.create_rule({
372
+ # listener_arn: "ListenerArn", # required
373
+ # conditions: [ # required
374
+ # {
375
+ # field: "ConditionFieldName",
376
+ # values: ["StringValue"],
377
+ # },
378
+ # ],
379
+ # priority: 1, # required
380
+ # actions: [ # required
381
+ # {
382
+ # type: "forward", # required, accepts forward
383
+ # target_group_arn: "TargetGroupArn", # required
384
+ # },
385
+ # ],
386
+ # })
387
+ #
388
+ # @example Response structure
389
+ # resp.rules #=> Array
390
+ # resp.rules[0].rule_arn #=> String
391
+ # resp.rules[0].priority #=> String
392
+ # resp.rules[0].conditions #=> Array
393
+ # resp.rules[0].conditions[0].field #=> String
394
+ # resp.rules[0].conditions[0].values #=> Array
395
+ # resp.rules[0].conditions[0].values[0] #=> String
396
+ # resp.rules[0].actions #=> Array
397
+ # resp.rules[0].actions[0].type #=> String, one of "forward"
398
+ # resp.rules[0].actions[0].target_group_arn #=> String
399
+ # resp.rules[0].is_default #=> Boolean
400
+ # @overload create_rule(params = {})
401
+ # @param [Hash] params ({})
402
+ def create_rule(params = {}, options = {})
403
+ req = build_request(:create_rule, params)
404
+ req.send_request(options)
405
+ end
406
+
407
+ # Creates a target group.
408
+ #
409
+ # To register targets with the target group, use RegisterTargets. To
410
+ # update the health check settings for the target group, use
411
+ # ModifyTargetGroup. To monitor the health of targets in the target
412
+ # group, use DescribeTargetHealth.
413
+ #
414
+ # To route traffic to the targets in a target group, specify the target
415
+ # group in an action using CreateListener or CreateRule.
416
+ #
417
+ # To delete a target group, use DeleteTargetGroup.
418
+ #
419
+ # For more information, see [Target Groups for Your Application Load
420
+ # Balancers][1] in the *Application Load Balancers Guide*.
421
+ #
422
+ #
423
+ #
424
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
425
+ # @option params [required, String] :name
426
+ # The name of the target group.
427
+ # @option params [required, String] :protocol
428
+ # The protocol to use for routing traffic to the targets.
429
+ # @option params [required, Integer] :port
430
+ # The port on which the targets receive traffic. This port is used
431
+ # unless you specify a port override when registering the target.
432
+ # @option params [required, String] :vpc_id
433
+ # The identifier of the virtual private cloud (VPC).
434
+ # @option params [String] :health_check_protocol
435
+ # The protocol the load balancer uses when performing health checks on
436
+ # targets. The default is the HTTP protocol.
437
+ # @option params [String] :health_check_port
438
+ # The port the load balancer uses when performing health checks on
439
+ # targets. The default is `traffic-port`, which indicates the port on
440
+ # which each target receives traffic from the load balancer.
441
+ # @option params [String] :health_check_path
442
+ # The ping path that is the destination on the targets for health
443
+ # checks. The default is /.
444
+ # @option params [Integer] :health_check_interval_seconds
445
+ # The approximate amount of time, in seconds, between health checks of
446
+ # an individual target. The default is 30 seconds.
447
+ # @option params [Integer] :health_check_timeout_seconds
448
+ # The amount of time, in seconds, during which no response from a target
449
+ # means a failed health check. The default is 5 seconds.
450
+ # @option params [Integer] :healthy_threshold_count
451
+ # The number of consecutive health checks successes required before
452
+ # considering an unhealthy target healthy. The default is 5.
453
+ # @option params [Integer] :unhealthy_threshold_count
454
+ # The number of consecutive health check failures required before
455
+ # considering a target unhealthy. The default is 2.
456
+ # @option params [Types::Matcher] :matcher
457
+ # The HTTP codes to use when checking for a successful response from a
458
+ # target. The default is 200.
459
+ # @return [Types::CreateTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
460
+ #
461
+ # * {Types::CreateTargetGroupOutput#target_groups #TargetGroups} => Array&lt;Types::TargetGroup&gt;
462
+ #
463
+ # @example Request syntax with placeholder values
464
+ # resp = client.create_target_group({
465
+ # name: "TargetGroupName", # required
466
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
467
+ # port: 1, # required
468
+ # vpc_id: "VpcId", # required
469
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
470
+ # health_check_port: "HealthCheckPort",
471
+ # health_check_path: "Path",
472
+ # health_check_interval_seconds: 1,
473
+ # health_check_timeout_seconds: 1,
474
+ # healthy_threshold_count: 1,
475
+ # unhealthy_threshold_count: 1,
476
+ # matcher: {
477
+ # http_code: "HttpCode", # required
478
+ # },
479
+ # })
480
+ #
481
+ # @example Response structure
482
+ # resp.target_groups #=> Array
483
+ # resp.target_groups[0].target_group_arn #=> String
484
+ # resp.target_groups[0].target_group_name #=> String
485
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
486
+ # resp.target_groups[0].port #=> Integer
487
+ # resp.target_groups[0].vpc_id #=> String
488
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
489
+ # resp.target_groups[0].health_check_port #=> String
490
+ # resp.target_groups[0].health_check_interval_seconds #=> Integer
491
+ # resp.target_groups[0].health_check_timeout_seconds #=> Integer
492
+ # resp.target_groups[0].healthy_threshold_count #=> Integer
493
+ # resp.target_groups[0].unhealthy_threshold_count #=> Integer
494
+ # resp.target_groups[0].health_check_path #=> String
495
+ # resp.target_groups[0].matcher.http_code #=> String
496
+ # resp.target_groups[0].load_balancer_arns #=> Array
497
+ # resp.target_groups[0].load_balancer_arns[0] #=> String
498
+ # @overload create_target_group(params = {})
499
+ # @param [Hash] params ({})
500
+ def create_target_group(params = {}, options = {})
501
+ req = build_request(:create_target_group, params)
502
+ req.send_request(options)
503
+ end
504
+
505
+ # Deletes the specified listener.
506
+ #
507
+ # Alternatively, your listener is deleted when you delete the load
508
+ # balancer it is attached to using DeleteLoadBalancer.
509
+ # @option params [required, String] :listener_arn
510
+ # The Amazon Resource Name (ARN) of the listener.
511
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
512
+ #
513
+ # @example Request syntax with placeholder values
514
+ # resp = client.delete_listener({
515
+ # listener_arn: "ListenerArn", # required
516
+ # })
517
+ # @overload delete_listener(params = {})
518
+ # @param [Hash] params ({})
519
+ def delete_listener(params = {}, options = {})
520
+ req = build_request(:delete_listener, params)
521
+ req.send_request(options)
522
+ end
523
+
524
+ # Deletes the specified Application Load Balancer and its attached
525
+ # listeners.
526
+ #
527
+ # You can't delete a load balancer if deletion protection is enabled.
528
+ # If the load balancer does not exist or has already been deleted, the
529
+ # call succeeds.
530
+ #
531
+ # Deleting a load balancer does not affect its registered targets. For
532
+ # example, your EC2 instances continue to run and are still registered
533
+ # to their target groups. If you no longer need these EC2 instances, you
534
+ # can stop or terminate them.
535
+ # @option params [required, String] :load_balancer_arn
536
+ # The Amazon Resource Name (ARN) of the load balancer.
537
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
538
+ #
539
+ # @example Request syntax with placeholder values
540
+ # resp = client.delete_load_balancer({
541
+ # load_balancer_arn: "LoadBalancerArn", # required
542
+ # })
543
+ # @overload delete_load_balancer(params = {})
544
+ # @param [Hash] params ({})
545
+ def delete_load_balancer(params = {}, options = {})
546
+ req = build_request(:delete_load_balancer, params)
547
+ req.send_request(options)
548
+ end
549
+
550
+ # Deletes the specified rule.
551
+ # @option params [required, String] :rule_arn
552
+ # The Amazon Resource Name (ARN) of the rule.
553
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
554
+ #
555
+ # @example Request syntax with placeholder values
556
+ # resp = client.delete_rule({
557
+ # rule_arn: "RuleArn", # required
558
+ # })
559
+ # @overload delete_rule(params = {})
560
+ # @param [Hash] params ({})
561
+ def delete_rule(params = {}, options = {})
562
+ req = build_request(:delete_rule, params)
563
+ req.send_request(options)
564
+ end
565
+
566
+ # Deletes the specified target group.
567
+ #
568
+ # You can delete a target group if it is not referenced by any actions.
569
+ # Deleting a target group also deletes any associated health checks.
570
+ # @option params [required, String] :target_group_arn
571
+ # The Amazon Resource Name (ARN) of the target group.
572
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
573
+ #
574
+ # @example Request syntax with placeholder values
575
+ # resp = client.delete_target_group({
576
+ # target_group_arn: "TargetGroupArn", # required
577
+ # })
578
+ # @overload delete_target_group(params = {})
579
+ # @param [Hash] params ({})
580
+ def delete_target_group(params = {}, options = {})
581
+ req = build_request(:delete_target_group, params)
582
+ req.send_request(options)
583
+ end
584
+
585
+ # Deregisters the specified targets from the specified target group.
586
+ # After the targets are deregistered, they no longer receive traffic
587
+ # from the load balancer.
588
+ # @option params [required, String] :target_group_arn
589
+ # The Amazon Resource Name (ARN) of the target group.
590
+ # @option params [required, Array<Types::TargetDescription>] :targets
591
+ # The targets. If you specified a port override when you registered a
592
+ # target, you must specify both the target ID and the port when you
593
+ # deregister it.
594
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
595
+ #
596
+ # @example Request syntax with placeholder values
597
+ # resp = client.deregister_targets({
598
+ # target_group_arn: "TargetGroupArn", # required
599
+ # targets: [ # required
600
+ # {
601
+ # id: "TargetId", # required
602
+ # port: 1,
603
+ # },
604
+ # ],
605
+ # })
606
+ # @overload deregister_targets(params = {})
607
+ # @param [Hash] params ({})
608
+ def deregister_targets(params = {}, options = {})
609
+ req = build_request(:deregister_targets, params)
610
+ req.send_request(options)
611
+ end
612
+
613
+ # Describes the specified listeners or the listeners for the specified
614
+ # Application Load Balancer. You must specify either a load balancer or
615
+ # one or more listeners.
616
+ # @option params [String] :load_balancer_arn
617
+ # The Amazon Resource Name (ARN) of the load balancer.
618
+ # @option params [Array<String>] :listener_arns
619
+ # The Amazon Resource Names (ARN) of the listeners.
620
+ # @option params [String] :marker
621
+ # The marker for the next set of results. (You received this marker from
622
+ # a previous call.)
623
+ # @option params [Integer] :page_size
624
+ # The maximum number of results to return with this call.
625
+ # @return [Types::DescribeListenersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
626
+ #
627
+ # * {Types::DescribeListenersOutput#listeners #Listeners} => Array&lt;Types::Listener&gt;
628
+ # * {Types::DescribeListenersOutput#next_marker #NextMarker} => String
629
+ #
630
+ # @example Request syntax with placeholder values
631
+ # resp = client.describe_listeners({
632
+ # load_balancer_arn: "LoadBalancerArn",
633
+ # listener_arns: ["ListenerArn"],
634
+ # marker: "Marker",
635
+ # page_size: 1,
636
+ # })
637
+ #
638
+ # @example Response structure
639
+ # resp.listeners #=> Array
640
+ # resp.listeners[0].listener_arn #=> String
641
+ # resp.listeners[0].load_balancer_arn #=> String
642
+ # resp.listeners[0].port #=> Integer
643
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
644
+ # resp.listeners[0].certificates #=> Array
645
+ # resp.listeners[0].certificates[0].certificate_arn #=> String
646
+ # resp.listeners[0].ssl_policy #=> String
647
+ # resp.listeners[0].default_actions #=> Array
648
+ # resp.listeners[0].default_actions[0].type #=> String, one of "forward"
649
+ # resp.listeners[0].default_actions[0].target_group_arn #=> String
650
+ # resp.next_marker #=> String
651
+ # @overload describe_listeners(params = {})
652
+ # @param [Hash] params ({})
653
+ def describe_listeners(params = {}, options = {})
654
+ req = build_request(:describe_listeners, params)
655
+ req.send_request(options)
656
+ end
657
+
658
+ # Describes the attributes for the specified Application Load Balancer.
659
+ # @option params [required, String] :load_balancer_arn
660
+ # The Amazon Resource Name (ARN) of the load balancer.
661
+ # @return [Types::DescribeLoadBalancerAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
662
+ #
663
+ # * {Types::DescribeLoadBalancerAttributesOutput#attributes #Attributes} => Array&lt;Types::LoadBalancerAttribute&gt;
664
+ #
665
+ # @example Request syntax with placeholder values
666
+ # resp = client.describe_load_balancer_attributes({
667
+ # load_balancer_arn: "LoadBalancerArn", # required
668
+ # })
669
+ #
670
+ # @example Response structure
671
+ # resp.attributes #=> Array
672
+ # resp.attributes[0].key #=> String
673
+ # resp.attributes[0].value #=> String
674
+ # @overload describe_load_balancer_attributes(params = {})
675
+ # @param [Hash] params ({})
676
+ def describe_load_balancer_attributes(params = {}, options = {})
677
+ req = build_request(:describe_load_balancer_attributes, params)
678
+ req.send_request(options)
679
+ end
680
+
681
+ # Describes the specified Application Load Balancers or all of your
682
+ # Application Load Balancers.
683
+ #
684
+ # To describe the listeners for a load balancer, use DescribeListeners.
685
+ # To describe the attributes for a load balancer, use
686
+ # DescribeLoadBalancerAttributes.
687
+ # @option params [Array<String>] :load_balancer_arns
688
+ # The Amazon Resource Names (ARN) of the load balancers.
689
+ # @option params [Array<String>] :names
690
+ # The names of the load balancers.
691
+ # @option params [String] :marker
692
+ # The marker for the next set of results. (You received this marker from
693
+ # a previous call.)
694
+ # @option params [Integer] :page_size
695
+ # The maximum number of results to return with this call.
696
+ # @return [Types::DescribeLoadBalancersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
697
+ #
698
+ # * {Types::DescribeLoadBalancersOutput#load_balancers #LoadBalancers} => Array&lt;Types::LoadBalancer&gt;
699
+ # * {Types::DescribeLoadBalancersOutput#next_marker #NextMarker} => String
700
+ #
701
+ # @example Request syntax with placeholder values
702
+ # resp = client.describe_load_balancers({
703
+ # load_balancer_arns: ["LoadBalancerArn"],
704
+ # names: ["LoadBalancerName"],
705
+ # marker: "Marker",
706
+ # page_size: 1,
707
+ # })
708
+ #
709
+ # @example Response structure
710
+ # resp.load_balancers #=> Array
711
+ # resp.load_balancers[0].load_balancer_arn #=> String
712
+ # resp.load_balancers[0].dns_name #=> String
713
+ # resp.load_balancers[0].canonical_hosted_zone_id #=> String
714
+ # resp.load_balancers[0].created_time #=> Time
715
+ # resp.load_balancers[0].load_balancer_name #=> String
716
+ # resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
717
+ # resp.load_balancers[0].vpc_id #=> String
718
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
719
+ # resp.load_balancers[0].state.reason #=> String
720
+ # resp.load_balancers[0].type #=> String, one of "application"
721
+ # resp.load_balancers[0].availability_zones #=> Array
722
+ # resp.load_balancers[0].availability_zones[0].zone_name #=> String
723
+ # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
724
+ # resp.load_balancers[0].security_groups #=> Array
725
+ # resp.load_balancers[0].security_groups[0] #=> String
726
+ # resp.next_marker #=> String
727
+ # @overload describe_load_balancers(params = {})
728
+ # @param [Hash] params ({})
729
+ def describe_load_balancers(params = {}, options = {})
730
+ req = build_request(:describe_load_balancers, params)
731
+ req.send_request(options)
732
+ end
733
+
734
+ # Describes the specified rules or the rules for the specified listener.
735
+ # You must specify either a listener or one or more rules.
736
+ # @option params [String] :listener_arn
737
+ # The Amazon Resource Name (ARN) of the listener.
738
+ # @option params [Array<String>] :rule_arns
739
+ # The Amazon Resource Names (ARN) of the rules.
740
+ # @return [Types::DescribeRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
+ #
742
+ # * {Types::DescribeRulesOutput#rules #Rules} => Array&lt;Types::Rule&gt;
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ # resp = client.describe_rules({
746
+ # listener_arn: "ListenerArn",
747
+ # rule_arns: ["RuleArn"],
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ # resp.rules #=> Array
752
+ # resp.rules[0].rule_arn #=> String
753
+ # resp.rules[0].priority #=> String
754
+ # resp.rules[0].conditions #=> Array
755
+ # resp.rules[0].conditions[0].field #=> String
756
+ # resp.rules[0].conditions[0].values #=> Array
757
+ # resp.rules[0].conditions[0].values[0] #=> String
758
+ # resp.rules[0].actions #=> Array
759
+ # resp.rules[0].actions[0].type #=> String, one of "forward"
760
+ # resp.rules[0].actions[0].target_group_arn #=> String
761
+ # resp.rules[0].is_default #=> Boolean
762
+ # @overload describe_rules(params = {})
763
+ # @param [Hash] params ({})
764
+ def describe_rules(params = {}, options = {})
765
+ req = build_request(:describe_rules, params)
766
+ req.send_request(options)
767
+ end
768
+
769
+ # Describes the specified policies or all policies used for SSL
770
+ # negotiation.
771
+ #
772
+ # Note that the only supported policy at this time is
773
+ # ELBSecurityPolicy-2015-05.
774
+ # @option params [Array<String>] :names
775
+ # The names of the policies.
776
+ # @option params [String] :marker
777
+ # The marker for the next set of results. (You received this marker from
778
+ # a previous call.)
779
+ # @option params [Integer] :page_size
780
+ # The maximum number of results to return with this call.
781
+ # @return [Types::DescribeSSLPoliciesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
782
+ #
783
+ # * {Types::DescribeSSLPoliciesOutput#ssl_policies #SslPolicies} => Array&lt;Types::SslPolicy&gt;
784
+ # * {Types::DescribeSSLPoliciesOutput#next_marker #NextMarker} => String
785
+ #
786
+ # @example Request syntax with placeholder values
787
+ # resp = client.describe_ssl_policies({
788
+ # names: ["SslPolicyName"],
789
+ # marker: "Marker",
790
+ # page_size: 1,
791
+ # })
792
+ #
793
+ # @example Response structure
794
+ # resp.ssl_policies #=> Array
795
+ # resp.ssl_policies[0].ssl_protocols #=> Array
796
+ # resp.ssl_policies[0].ssl_protocols[0] #=> String
797
+ # resp.ssl_policies[0].ciphers #=> Array
798
+ # resp.ssl_policies[0].ciphers[0].name #=> String
799
+ # resp.ssl_policies[0].ciphers[0].priority #=> Integer
800
+ # resp.ssl_policies[0].name #=> String
801
+ # resp.next_marker #=> String
802
+ # @overload describe_ssl_policies(params = {})
803
+ # @param [Hash] params ({})
804
+ def describe_ssl_policies(params = {}, options = {})
805
+ req = build_request(:describe_ssl_policies, params)
806
+ req.send_request(options)
807
+ end
808
+
809
+ # Describes the tags for the specified resources.
810
+ # @option params [required, Array<String>] :resource_arns
811
+ # The Amazon Resource Names (ARN) of the resources.
812
+ # @return [Types::DescribeTagsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
813
+ #
814
+ # * {Types::DescribeTagsOutput#tag_descriptions #TagDescriptions} => Array&lt;Types::TagDescription&gt;
815
+ #
816
+ # @example Request syntax with placeholder values
817
+ # resp = client.describe_tags({
818
+ # resource_arns: ["ResourceArn"], # required
819
+ # })
820
+ #
821
+ # @example Response structure
822
+ # resp.tag_descriptions #=> Array
823
+ # resp.tag_descriptions[0].resource_arn #=> String
824
+ # resp.tag_descriptions[0].tags #=> Array
825
+ # resp.tag_descriptions[0].tags[0].key #=> String
826
+ # resp.tag_descriptions[0].tags[0].value #=> String
827
+ # @overload describe_tags(params = {})
828
+ # @param [Hash] params ({})
829
+ def describe_tags(params = {}, options = {})
830
+ req = build_request(:describe_tags, params)
831
+ req.send_request(options)
832
+ end
833
+
834
+ # Describes the attributes for the specified target group.
835
+ # @option params [required, String] :target_group_arn
836
+ # The Amazon Resource Name (ARN) of the target group.
837
+ # @return [Types::DescribeTargetGroupAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
838
+ #
839
+ # * {Types::DescribeTargetGroupAttributesOutput#attributes #Attributes} => Array&lt;Types::TargetGroupAttribute&gt;
840
+ #
841
+ # @example Request syntax with placeholder values
842
+ # resp = client.describe_target_group_attributes({
843
+ # target_group_arn: "TargetGroupArn", # required
844
+ # })
845
+ #
846
+ # @example Response structure
847
+ # resp.attributes #=> Array
848
+ # resp.attributes[0].key #=> String
849
+ # resp.attributes[0].value #=> String
850
+ # @overload describe_target_group_attributes(params = {})
851
+ # @param [Hash] params ({})
852
+ def describe_target_group_attributes(params = {}, options = {})
853
+ req = build_request(:describe_target_group_attributes, params)
854
+ req.send_request(options)
855
+ end
856
+
857
+ # Describes the specified target groups or all of your target groups. By
858
+ # default, all target groups are described. Alternatively, you can
859
+ # specify one of the following to filter the results: the ARN of the
860
+ # load balancer, the names of one or more target groups, or the ARNs of
861
+ # one or more target groups.
862
+ #
863
+ # To describe the targets for a target group, use DescribeTargetHealth.
864
+ # To describe the attributes of a target group, use
865
+ # DescribeTargetGroupAttributes.
866
+ # @option params [String] :load_balancer_arn
867
+ # The Amazon Resource Name (ARN) of the load balancer.
868
+ # @option params [Array<String>] :target_group_arns
869
+ # The Amazon Resource Names (ARN) of the target groups.
870
+ # @option params [Array<String>] :names
871
+ # The names of the target groups.
872
+ # @option params [String] :marker
873
+ # The marker for the next set of results. (You received this marker from
874
+ # a previous call.)
875
+ # @option params [Integer] :page_size
876
+ # The maximum number of results to return with this call.
877
+ # @return [Types::DescribeTargetGroupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
878
+ #
879
+ # * {Types::DescribeTargetGroupsOutput#target_groups #TargetGroups} => Array&lt;Types::TargetGroup&gt;
880
+ # * {Types::DescribeTargetGroupsOutput#next_marker #NextMarker} => String
881
+ #
882
+ # @example Request syntax with placeholder values
883
+ # resp = client.describe_target_groups({
884
+ # load_balancer_arn: "LoadBalancerArn",
885
+ # target_group_arns: ["TargetGroupArn"],
886
+ # names: ["TargetGroupName"],
887
+ # marker: "Marker",
888
+ # page_size: 1,
889
+ # })
890
+ #
891
+ # @example Response structure
892
+ # resp.target_groups #=> Array
893
+ # resp.target_groups[0].target_group_arn #=> String
894
+ # resp.target_groups[0].target_group_name #=> String
895
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
896
+ # resp.target_groups[0].port #=> Integer
897
+ # resp.target_groups[0].vpc_id #=> String
898
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
899
+ # resp.target_groups[0].health_check_port #=> String
900
+ # resp.target_groups[0].health_check_interval_seconds #=> Integer
901
+ # resp.target_groups[0].health_check_timeout_seconds #=> Integer
902
+ # resp.target_groups[0].healthy_threshold_count #=> Integer
903
+ # resp.target_groups[0].unhealthy_threshold_count #=> Integer
904
+ # resp.target_groups[0].health_check_path #=> String
905
+ # resp.target_groups[0].matcher.http_code #=> String
906
+ # resp.target_groups[0].load_balancer_arns #=> Array
907
+ # resp.target_groups[0].load_balancer_arns[0] #=> String
908
+ # resp.next_marker #=> String
909
+ # @overload describe_target_groups(params = {})
910
+ # @param [Hash] params ({})
911
+ def describe_target_groups(params = {}, options = {})
912
+ req = build_request(:describe_target_groups, params)
913
+ req.send_request(options)
914
+ end
915
+
916
+ # Describes the health of the specified targets or all of your targets.
917
+ # @option params [required, String] :target_group_arn
918
+ # The Amazon Resource Name (ARN) of the target group.
919
+ # @option params [Array<Types::TargetDescription>] :targets
920
+ # The targets.
921
+ # @return [Types::DescribeTargetHealthOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
922
+ #
923
+ # * {Types::DescribeTargetHealthOutput#target_health_descriptions #TargetHealthDescriptions} => Array&lt;Types::TargetHealthDescription&gt;
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ # resp = client.describe_target_health({
927
+ # target_group_arn: "TargetGroupArn", # required
928
+ # targets: [
929
+ # {
930
+ # id: "TargetId", # required
931
+ # port: 1,
932
+ # },
933
+ # ],
934
+ # })
935
+ #
936
+ # @example Response structure
937
+ # resp.target_health_descriptions #=> Array
938
+ # resp.target_health_descriptions[0].target.id #=> String
939
+ # resp.target_health_descriptions[0].target.port #=> Integer
940
+ # resp.target_health_descriptions[0].health_check_port #=> String
941
+ # resp.target_health_descriptions[0].target_health.state #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining"
942
+ # resp.target_health_descriptions[0].target_health.reason #=> String, one of "Elb.RegistrationInProgress", "Elb.InitialHealthChecking", "Target.ResponseCodeMismatch", "Target.Timeout", "Target.FailedHealthChecks", "Target.NotRegistered", "Target.NotInUse", "Target.DeregistrationInProgress", "Target.InvalidState", "Elb.InternalError"
943
+ # resp.target_health_descriptions[0].target_health.description #=> String
944
+ # @overload describe_target_health(params = {})
945
+ # @param [Hash] params ({})
946
+ def describe_target_health(params = {}, options = {})
947
+ req = build_request(:describe_target_health, params)
948
+ req.send_request(options)
949
+ end
950
+
951
+ # Modifies the specified properties of the specified listener.
952
+ #
953
+ # Any properties that you do not specify retain their current values.
954
+ # However, changing the protocol from HTTPS to HTTP removes the security
955
+ # policy and SSL certificate properties. If you change the protocol from
956
+ # HTTP to HTTPS, you must add the security policy.
957
+ # @option params [required, String] :listener_arn
958
+ # The Amazon Resource Name (ARN) of the listener.
959
+ # @option params [Integer] :port
960
+ # The port for connections from clients to the load balancer.
961
+ # @option params [String] :protocol
962
+ # The protocol for connections from clients to the load balancer.
963
+ # @option params [String] :ssl_policy
964
+ # The security policy that defines which ciphers and protocols are
965
+ # supported.
966
+ # @option params [Array<Types::Certificate>] :certificates
967
+ # The SSL server certificate.
968
+ # @option params [Array<Types::Action>] :default_actions
969
+ # The default actions.
970
+ # @return [Types::ModifyListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
971
+ #
972
+ # * {Types::ModifyListenerOutput#listeners #Listeners} => Array&lt;Types::Listener&gt;
973
+ #
974
+ # @example Request syntax with placeholder values
975
+ # resp = client.modify_listener({
976
+ # listener_arn: "ListenerArn", # required
977
+ # port: 1,
978
+ # protocol: "HTTP", # accepts HTTP, HTTPS
979
+ # ssl_policy: "SslPolicyName",
980
+ # certificates: [
981
+ # {
982
+ # certificate_arn: "CertificateArn",
983
+ # },
984
+ # ],
985
+ # default_actions: [
986
+ # {
987
+ # type: "forward", # required, accepts forward
988
+ # target_group_arn: "TargetGroupArn", # required
989
+ # },
990
+ # ],
991
+ # })
992
+ #
993
+ # @example Response structure
994
+ # resp.listeners #=> Array
995
+ # resp.listeners[0].listener_arn #=> String
996
+ # resp.listeners[0].load_balancer_arn #=> String
997
+ # resp.listeners[0].port #=> Integer
998
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
999
+ # resp.listeners[0].certificates #=> Array
1000
+ # resp.listeners[0].certificates[0].certificate_arn #=> String
1001
+ # resp.listeners[0].ssl_policy #=> String
1002
+ # resp.listeners[0].default_actions #=> Array
1003
+ # resp.listeners[0].default_actions[0].type #=> String, one of "forward"
1004
+ # resp.listeners[0].default_actions[0].target_group_arn #=> String
1005
+ # @overload modify_listener(params = {})
1006
+ # @param [Hash] params ({})
1007
+ def modify_listener(params = {}, options = {})
1008
+ req = build_request(:modify_listener, params)
1009
+ req.send_request(options)
1010
+ end
1011
+
1012
+ # Modifies the specified attributes of the specified Application Load
1013
+ # Balancer.
1014
+ #
1015
+ # If any of the specified attributes can't be modified as requested,
1016
+ # the call fails. Any existing attributes that you do not modify retain
1017
+ # their current values.
1018
+ # @option params [required, String] :load_balancer_arn
1019
+ # The Amazon Resource Name (ARN) of the load balancer.
1020
+ # @option params [required, Array<Types::LoadBalancerAttribute>] :attributes
1021
+ # The load balancer attributes.
1022
+ # @return [Types::ModifyLoadBalancerAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1023
+ #
1024
+ # * {Types::ModifyLoadBalancerAttributesOutput#attributes #Attributes} => Array&lt;Types::LoadBalancerAttribute&gt;
1025
+ #
1026
+ # @example Request syntax with placeholder values
1027
+ # resp = client.modify_load_balancer_attributes({
1028
+ # load_balancer_arn: "LoadBalancerArn", # required
1029
+ # attributes: [ # required
1030
+ # {
1031
+ # key: "LoadBalancerAttributeKey",
1032
+ # value: "LoadBalancerAttributeValue",
1033
+ # },
1034
+ # ],
1035
+ # })
1036
+ #
1037
+ # @example Response structure
1038
+ # resp.attributes #=> Array
1039
+ # resp.attributes[0].key #=> String
1040
+ # resp.attributes[0].value #=> String
1041
+ # @overload modify_load_balancer_attributes(params = {})
1042
+ # @param [Hash] params ({})
1043
+ def modify_load_balancer_attributes(params = {}, options = {})
1044
+ req = build_request(:modify_load_balancer_attributes, params)
1045
+ req.send_request(options)
1046
+ end
1047
+
1048
+ # Modifies the specified rule.
1049
+ #
1050
+ # Any existing properties that you do not modify retain their current
1051
+ # values.
1052
+ #
1053
+ # To modify the default action, use ModifyListener.
1054
+ # @option params [required, String] :rule_arn
1055
+ # The Amazon Resource Name (ARN) of the rule.
1056
+ # @option params [Array<Types::RuleCondition>] :conditions
1057
+ # The conditions.
1058
+ # @option params [Array<Types::Action>] :actions
1059
+ # The actions.
1060
+ # @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1061
+ #
1062
+ # * {Types::ModifyRuleOutput#rules #Rules} => Array&lt;Types::Rule&gt;
1063
+ #
1064
+ # @example Request syntax with placeholder values
1065
+ # resp = client.modify_rule({
1066
+ # rule_arn: "RuleArn", # required
1067
+ # conditions: [
1068
+ # {
1069
+ # field: "ConditionFieldName",
1070
+ # values: ["StringValue"],
1071
+ # },
1072
+ # ],
1073
+ # actions: [
1074
+ # {
1075
+ # type: "forward", # required, accepts forward
1076
+ # target_group_arn: "TargetGroupArn", # required
1077
+ # },
1078
+ # ],
1079
+ # })
1080
+ #
1081
+ # @example Response structure
1082
+ # resp.rules #=> Array
1083
+ # resp.rules[0].rule_arn #=> String
1084
+ # resp.rules[0].priority #=> String
1085
+ # resp.rules[0].conditions #=> Array
1086
+ # resp.rules[0].conditions[0].field #=> String
1087
+ # resp.rules[0].conditions[0].values #=> Array
1088
+ # resp.rules[0].conditions[0].values[0] #=> String
1089
+ # resp.rules[0].actions #=> Array
1090
+ # resp.rules[0].actions[0].type #=> String, one of "forward"
1091
+ # resp.rules[0].actions[0].target_group_arn #=> String
1092
+ # resp.rules[0].is_default #=> Boolean
1093
+ # @overload modify_rule(params = {})
1094
+ # @param [Hash] params ({})
1095
+ def modify_rule(params = {}, options = {})
1096
+ req = build_request(:modify_rule, params)
1097
+ req.send_request(options)
1098
+ end
1099
+
1100
+ # Modifies the health checks used when evaluating the health state of
1101
+ # the targets in the specified target group.
1102
+ #
1103
+ # To monitor the health of the targets, use DescribeTargetHealth.
1104
+ # @option params [required, String] :target_group_arn
1105
+ # The Amazon Resource Name (ARN) of the target group.
1106
+ # @option params [String] :health_check_protocol
1107
+ # The protocol to use to connect with the target.
1108
+ # @option params [String] :health_check_port
1109
+ # The port to use to connect with the target.
1110
+ # @option params [String] :health_check_path
1111
+ # The ping path that is the destination for the health check request.
1112
+ # @option params [Integer] :health_check_interval_seconds
1113
+ # The approximate amount of time, in seconds, between health checks of
1114
+ # an individual target.
1115
+ # @option params [Integer] :health_check_timeout_seconds
1116
+ # The amount of time, in seconds, during which no response means a
1117
+ # failed health check.
1118
+ # @option params [Integer] :healthy_threshold_count
1119
+ # The number of consecutive health checks successes required before
1120
+ # considering an unhealthy target healthy.
1121
+ # @option params [Integer] :unhealthy_threshold_count
1122
+ # The number of consecutive health check failures required before
1123
+ # considering the target unhealthy.
1124
+ # @option params [Types::Matcher] :matcher
1125
+ # The HTTP codes to use when checking for a successful response from a
1126
+ # target.
1127
+ # @return [Types::ModifyTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1128
+ #
1129
+ # * {Types::ModifyTargetGroupOutput#target_groups #TargetGroups} => Array&lt;Types::TargetGroup&gt;
1130
+ #
1131
+ # @example Request syntax with placeholder values
1132
+ # resp = client.modify_target_group({
1133
+ # target_group_arn: "TargetGroupArn", # required
1134
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
1135
+ # health_check_port: "HealthCheckPort",
1136
+ # health_check_path: "Path",
1137
+ # health_check_interval_seconds: 1,
1138
+ # health_check_timeout_seconds: 1,
1139
+ # healthy_threshold_count: 1,
1140
+ # unhealthy_threshold_count: 1,
1141
+ # matcher: {
1142
+ # http_code: "HttpCode", # required
1143
+ # },
1144
+ # })
1145
+ #
1146
+ # @example Response structure
1147
+ # resp.target_groups #=> Array
1148
+ # resp.target_groups[0].target_group_arn #=> String
1149
+ # resp.target_groups[0].target_group_name #=> String
1150
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
1151
+ # resp.target_groups[0].port #=> Integer
1152
+ # resp.target_groups[0].vpc_id #=> String
1153
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
1154
+ # resp.target_groups[0].health_check_port #=> String
1155
+ # resp.target_groups[0].health_check_interval_seconds #=> Integer
1156
+ # resp.target_groups[0].health_check_timeout_seconds #=> Integer
1157
+ # resp.target_groups[0].healthy_threshold_count #=> Integer
1158
+ # resp.target_groups[0].unhealthy_threshold_count #=> Integer
1159
+ # resp.target_groups[0].health_check_path #=> String
1160
+ # resp.target_groups[0].matcher.http_code #=> String
1161
+ # resp.target_groups[0].load_balancer_arns #=> Array
1162
+ # resp.target_groups[0].load_balancer_arns[0] #=> String
1163
+ # @overload modify_target_group(params = {})
1164
+ # @param [Hash] params ({})
1165
+ def modify_target_group(params = {}, options = {})
1166
+ req = build_request(:modify_target_group, params)
1167
+ req.send_request(options)
1168
+ end
1169
+
1170
+ # Modifies the specified attributes of the specified target group.
1171
+ # @option params [required, String] :target_group_arn
1172
+ # The Amazon Resource Name (ARN) of the target group.
1173
+ # @option params [required, Array<Types::TargetGroupAttribute>] :attributes
1174
+ # The attributes.
1175
+ # @return [Types::ModifyTargetGroupAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1176
+ #
1177
+ # * {Types::ModifyTargetGroupAttributesOutput#attributes #Attributes} => Array&lt;Types::TargetGroupAttribute&gt;
1178
+ #
1179
+ # @example Request syntax with placeholder values
1180
+ # resp = client.modify_target_group_attributes({
1181
+ # target_group_arn: "TargetGroupArn", # required
1182
+ # attributes: [ # required
1183
+ # {
1184
+ # key: "TargetGroupAttributeKey",
1185
+ # value: "TargetGroupAttributeValue",
1186
+ # },
1187
+ # ],
1188
+ # })
1189
+ #
1190
+ # @example Response structure
1191
+ # resp.attributes #=> Array
1192
+ # resp.attributes[0].key #=> String
1193
+ # resp.attributes[0].value #=> String
1194
+ # @overload modify_target_group_attributes(params = {})
1195
+ # @param [Hash] params ({})
1196
+ def modify_target_group_attributes(params = {}, options = {})
1197
+ req = build_request(:modify_target_group_attributes, params)
1198
+ req.send_request(options)
1199
+ end
1200
+
1201
+ # Registers the specified targets with the specified target group.
1202
+ #
1203
+ # By default, the load balancer routes requests to registered targets
1204
+ # using the protocol and port number for the target group.
1205
+ # Alternatively, you can override the port for a target when you
1206
+ # register it.
1207
+ #
1208
+ # The target must be in the virtual private cloud (VPC) that you
1209
+ # specified for the target group. If the target is an EC2 instance, it
1210
+ # can't be in the `stopped` or `running` state when you register it.
1211
+ #
1212
+ # To remove a target from a target group, use DeregisterTargets.
1213
+ # @option params [required, String] :target_group_arn
1214
+ # The Amazon Resource Name (ARN) of the target group.
1215
+ # @option params [required, Array<Types::TargetDescription>] :targets
1216
+ # The targets. The default port for a target is the port for the target
1217
+ # group. You can specify a port override. If a target is already
1218
+ # registered, you can register it again using a different port.
1219
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1220
+ #
1221
+ # @example Request syntax with placeholder values
1222
+ # resp = client.register_targets({
1223
+ # target_group_arn: "TargetGroupArn", # required
1224
+ # targets: [ # required
1225
+ # {
1226
+ # id: "TargetId", # required
1227
+ # port: 1,
1228
+ # },
1229
+ # ],
1230
+ # })
1231
+ # @overload register_targets(params = {})
1232
+ # @param [Hash] params ({})
1233
+ def register_targets(params = {}, options = {})
1234
+ req = build_request(:register_targets, params)
1235
+ req.send_request(options)
1236
+ end
1237
+
1238
+ # Removes the specified tags from the specified resource.
1239
+ #
1240
+ # To list the current tags for your resources, use DescribeTags.
1241
+ # @option params [required, Array<String>] :resource_arns
1242
+ # The Amazon Resource Name (ARN) of the resource.
1243
+ # @option params [required, Array<String>] :tag_keys
1244
+ # The tag keys for the tags to remove.
1245
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1246
+ #
1247
+ # @example Request syntax with placeholder values
1248
+ # resp = client.remove_tags({
1249
+ # resource_arns: ["ResourceArn"], # required
1250
+ # tag_keys: ["TagKey"], # required
1251
+ # })
1252
+ # @overload remove_tags(params = {})
1253
+ # @param [Hash] params ({})
1254
+ def remove_tags(params = {}, options = {})
1255
+ req = build_request(:remove_tags, params)
1256
+ req.send_request(options)
1257
+ end
1258
+
1259
+ # Sets the priorities of the specified rules.
1260
+ #
1261
+ # You can reorder the rules as long as there are no priority conflicts
1262
+ # in the new order. Any existing rules that you do not specify retain
1263
+ # their current priority.
1264
+ # @option params [required, Array<Types::RulePriorityPair>] :rule_priorities
1265
+ # The rule priorities.
1266
+ # @return [Types::SetRulePrioritiesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
+ #
1268
+ # * {Types::SetRulePrioritiesOutput#rules #Rules} => Array&lt;Types::Rule&gt;
1269
+ #
1270
+ # @example Request syntax with placeholder values
1271
+ # resp = client.set_rule_priorities({
1272
+ # rule_priorities: [ # required
1273
+ # {
1274
+ # rule_arn: "RuleArn",
1275
+ # priority: 1,
1276
+ # },
1277
+ # ],
1278
+ # })
1279
+ #
1280
+ # @example Response structure
1281
+ # resp.rules #=> Array
1282
+ # resp.rules[0].rule_arn #=> String
1283
+ # resp.rules[0].priority #=> String
1284
+ # resp.rules[0].conditions #=> Array
1285
+ # resp.rules[0].conditions[0].field #=> String
1286
+ # resp.rules[0].conditions[0].values #=> Array
1287
+ # resp.rules[0].conditions[0].values[0] #=> String
1288
+ # resp.rules[0].actions #=> Array
1289
+ # resp.rules[0].actions[0].type #=> String, one of "forward"
1290
+ # resp.rules[0].actions[0].target_group_arn #=> String
1291
+ # resp.rules[0].is_default #=> Boolean
1292
+ # @overload set_rule_priorities(params = {})
1293
+ # @param [Hash] params ({})
1294
+ def set_rule_priorities(params = {}, options = {})
1295
+ req = build_request(:set_rule_priorities, params)
1296
+ req.send_request(options)
1297
+ end
1298
+
1299
+ # Associates the specified security groups with the specified load
1300
+ # balancer. The specified security groups override the previously
1301
+ # associated security groups.
1302
+ # @option params [required, String] :load_balancer_arn
1303
+ # The Amazon Resource Name (ARN) of the load balancer.
1304
+ # @option params [required, Array<String>] :security_groups
1305
+ # The IDs of the security groups.
1306
+ # @return [Types::SetSecurityGroupsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1307
+ #
1308
+ # * {Types::SetSecurityGroupsOutput#security_group_ids #SecurityGroupIds} => Array&lt;String&gt;
1309
+ #
1310
+ # @example Request syntax with placeholder values
1311
+ # resp = client.set_security_groups({
1312
+ # load_balancer_arn: "LoadBalancerArn", # required
1313
+ # security_groups: ["SecurityGroupId"], # required
1314
+ # })
1315
+ #
1316
+ # @example Response structure
1317
+ # resp.security_group_ids #=> Array
1318
+ # resp.security_group_ids[0] #=> String
1319
+ # @overload set_security_groups(params = {})
1320
+ # @param [Hash] params ({})
1321
+ def set_security_groups(params = {}, options = {})
1322
+ req = build_request(:set_security_groups, params)
1323
+ req.send_request(options)
1324
+ end
1325
+
1326
+ # Enables the Availability Zone for the specified subnets for the
1327
+ # specified load balancer. The specified subnets replace the previously
1328
+ # enabled subnets.
1329
+ # @option params [required, String] :load_balancer_arn
1330
+ # The Amazon Resource Name (ARN) of the load balancer.
1331
+ # @option params [required, Array<String>] :subnets
1332
+ # The IDs of the subnets. You must specify at least two subnets. You can
1333
+ # add only one subnet per Availability Zone.
1334
+ # @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1335
+ #
1336
+ # * {Types::SetSubnetsOutput#availability_zones #AvailabilityZones} => Array&lt;Types::AvailabilityZone&gt;
1337
+ #
1338
+ # @example Request syntax with placeholder values
1339
+ # resp = client.set_subnets({
1340
+ # load_balancer_arn: "LoadBalancerArn", # required
1341
+ # subnets: ["SubnetId"], # required
1342
+ # })
1343
+ #
1344
+ # @example Response structure
1345
+ # resp.availability_zones #=> Array
1346
+ # resp.availability_zones[0].zone_name #=> String
1347
+ # resp.availability_zones[0].subnet_id #=> String
1348
+ # @overload set_subnets(params = {})
1349
+ # @param [Hash] params ({})
1350
+ def set_subnets(params = {}, options = {})
1351
+ req = build_request(:set_subnets, params)
1352
+ req.send_request(options)
1353
+ end
1354
+
1355
+ # @!endgroup
1356
+
1357
+ # @param params ({})
1358
+ # @api private
1359
+ def build_request(operation_name, params = {})
1360
+ handlers = @handlers.for(operation_name)
1361
+ context = Seahorse::Client::RequestContext.new(
1362
+ operation_name: operation_name,
1363
+ operation: config.api.operation(operation_name),
1364
+ client: self,
1365
+ params: params,
1366
+ config: config)
1367
+ context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
1368
+ context[:gem_version] = '1.0.0.rc1'
1369
+ Seahorse::Client::Request.new(handlers, context)
1370
+ end
1371
+
1372
+ # @api private
1373
+ # @deprecated
1374
+ def waiter_names
1375
+ []
1376
+ end
1377
+
1378
+ class << self
1379
+
1380
+ # @api private
1381
+ attr_reader :identifier
1382
+
1383
+ # @api private
1384
+ def errors_module
1385
+ Errors
1386
+ end
1387
+
1388
+ end
1389
+ end
1390
+ end
1391
+ end