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
+ # 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
+
@@ -0,0 +1,23 @@
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
+ module Aws
9
+ module ElasticLoadBalancingV2
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
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
+ module Aws
9
+ module ElasticLoadBalancingV2
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,1806 @@
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
+ module Aws
9
+ module ElasticLoadBalancingV2
10
+ module Types
11
+
12
+ # Information about an action.
13
+ # @note When making an API call, pass Action
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # type: "forward", # required, accepts forward
18
+ # target_group_arn: "TargetGroupArn", # required
19
+ # }
20
+ # @!attribute [rw] type
21
+ # The type of action.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] target_group_arn
25
+ # The Amazon Resource Name (ARN) of the target group.
26
+ # @return [String]
27
+ class Action < Struct.new(
28
+ :type,
29
+ :target_group_arn)
30
+ include Aws::Structure
31
+ end
32
+
33
+ # Contains the parameters for AddTags.
34
+ # @note When making an API call, pass AddTagsInput
35
+ # data as a hash:
36
+ #
37
+ # {
38
+ # resource_arns: ["ResourceArn"], # required
39
+ # tags: [ # required
40
+ # {
41
+ # key: "TagKey", # required
42
+ # value: "TagValue",
43
+ # },
44
+ # ],
45
+ # }
46
+ # @!attribute [rw] resource_arns
47
+ # The Amazon Resource Name (ARN) of the resource.
48
+ # @return [Array<String>]
49
+ #
50
+ # @!attribute [rw] tags
51
+ # The tags. Each resource can have a maximum of 10 tags.
52
+ # @return [Array<Types::Tag>]
53
+ class AddTagsInput < Struct.new(
54
+ :resource_arns,
55
+ :tags)
56
+ include Aws::Structure
57
+ end
58
+
59
+ # Contains the output of AddTags.
60
+ class AddTagsOutput < Aws::EmptyStructure; end
61
+
62
+ # Information about an Availability Zone.
63
+ # @!attribute [rw] zone_name
64
+ # The name of the Availability Zone.
65
+ # @return [String]
66
+ #
67
+ # @!attribute [rw] subnet_id
68
+ # The ID of the subnet.
69
+ # @return [String]
70
+ class AvailabilityZone < Struct.new(
71
+ :zone_name,
72
+ :subnet_id)
73
+ include Aws::Structure
74
+ end
75
+
76
+ # Information about an SSL server certificate deployed on a load
77
+ # balancer.
78
+ # @note When making an API call, pass Certificate
79
+ # data as a hash:
80
+ #
81
+ # {
82
+ # certificate_arn: "CertificateArn",
83
+ # }
84
+ # @!attribute [rw] certificate_arn
85
+ # The Amazon Resource Name (ARN) of the certificate.
86
+ # @return [String]
87
+ class Certificate < Struct.new(
88
+ :certificate_arn)
89
+ include Aws::Structure
90
+ end
91
+
92
+ # Information about a cipher used in a policy.
93
+ # @!attribute [rw] name
94
+ # The name of the cipher.
95
+ # @return [String]
96
+ #
97
+ # @!attribute [rw] priority
98
+ # The priority of the cipher.
99
+ # @return [Integer]
100
+ class Cipher < Struct.new(
101
+ :name,
102
+ :priority)
103
+ include Aws::Structure
104
+ end
105
+
106
+ # Contains the parameters for CreateListener.
107
+ # @note When making an API call, pass CreateListenerInput
108
+ # data as a hash:
109
+ #
110
+ # {
111
+ # load_balancer_arn: "LoadBalancerArn", # required
112
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
113
+ # port: 1, # required
114
+ # ssl_policy: "SslPolicyName",
115
+ # certificates: [
116
+ # {
117
+ # certificate_arn: "CertificateArn",
118
+ # },
119
+ # ],
120
+ # default_actions: [ # required
121
+ # {
122
+ # type: "forward", # required, accepts forward
123
+ # target_group_arn: "TargetGroupArn", # required
124
+ # },
125
+ # ],
126
+ # }
127
+ # @!attribute [rw] load_balancer_arn
128
+ # The Amazon Resource Name (ARN) of the load balancer.
129
+ # @return [String]
130
+ #
131
+ # @!attribute [rw] protocol
132
+ # The protocol for connections from clients to the load balancer.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] port
136
+ # The port on which the load balancer is listening.
137
+ # @return [Integer]
138
+ #
139
+ # @!attribute [rw] ssl_policy
140
+ # The security policy that defines which ciphers and protocols are
141
+ # supported. The default is the current predefined security policy.
142
+ # @return [String]
143
+ #
144
+ # @!attribute [rw] certificates
145
+ # The SSL server certificate. You must provide exactly one certificate
146
+ # if the protocol is HTTPS.
147
+ # @return [Array<Types::Certificate>]
148
+ #
149
+ # @!attribute [rw] default_actions
150
+ # The default action for the listener.
151
+ # @return [Array<Types::Action>]
152
+ class CreateListenerInput < Struct.new(
153
+ :load_balancer_arn,
154
+ :protocol,
155
+ :port,
156
+ :ssl_policy,
157
+ :certificates,
158
+ :default_actions)
159
+ include Aws::Structure
160
+ end
161
+
162
+ # Contains the output of CreateListener.
163
+ # @!attribute [rw] listeners
164
+ # Information about the listener.
165
+ # @return [Array<Types::Listener>]
166
+ class CreateListenerOutput < Struct.new(
167
+ :listeners)
168
+ include Aws::Structure
169
+ end
170
+
171
+ # Contains the parameters for CreateLoadBalancer.
172
+ # @note When making an API call, pass CreateLoadBalancerInput
173
+ # data as a hash:
174
+ #
175
+ # {
176
+ # name: "LoadBalancerName", # required
177
+ # subnets: ["SubnetId"], # required
178
+ # security_groups: ["SecurityGroupId"],
179
+ # scheme: "internet-facing", # accepts internet-facing, internal
180
+ # tags: [
181
+ # {
182
+ # key: "TagKey", # required
183
+ # value: "TagValue",
184
+ # },
185
+ # ],
186
+ # }
187
+ # @!attribute [rw] name
188
+ # The name of the load balancer.
189
+ #
190
+ # This name must be unique within your AWS account, can have a maximum
191
+ # of 32 characters, must contain only alphanumeric characters or
192
+ # hyphens, and must not begin or end with a hyphen.
193
+ # @return [String]
194
+ #
195
+ # @!attribute [rw] subnets
196
+ # The IDs of the subnets to attach to the load balancer. You can
197
+ # specify only one subnet per Availability Zone. You must specify
198
+ # subnets from at least two Availability Zones.
199
+ # @return [Array<String>]
200
+ #
201
+ # @!attribute [rw] security_groups
202
+ # The IDs of the security groups to assign to the load balancer.
203
+ # @return [Array<String>]
204
+ #
205
+ # @!attribute [rw] scheme
206
+ # The nodes of an Internet-facing load balancer have public IP
207
+ # addresses. The DNS name of an Internet-facing load balancer is
208
+ # publicly resolvable to the public IP addresses of the nodes.
209
+ # Therefore, Internet-facing load balancers can route requests from
210
+ # clients over the Internet.
211
+ #
212
+ # The nodes of an internal load balancer have only private IP
213
+ # addresses. The DNS name of an internal load balancer is publicly
214
+ # resolvable to the private IP addresses of the nodes. Therefore,
215
+ # internal load balancers can only route requests from clients with
216
+ # access to the VPC for the load balancer.
217
+ #
218
+ # The default is an Internet-facing load balancer.
219
+ # @return [String]
220
+ #
221
+ # @!attribute [rw] tags
222
+ # One or more tags to assign to the load balancer.
223
+ # @return [Array<Types::Tag>]
224
+ class CreateLoadBalancerInput < Struct.new(
225
+ :name,
226
+ :subnets,
227
+ :security_groups,
228
+ :scheme,
229
+ :tags)
230
+ include Aws::Structure
231
+ end
232
+
233
+ # Contains the output of CreateLoadBalancer.
234
+ # @!attribute [rw] load_balancers
235
+ # Information about the load balancer.
236
+ # @return [Array<Types::LoadBalancer>]
237
+ class CreateLoadBalancerOutput < Struct.new(
238
+ :load_balancers)
239
+ include Aws::Structure
240
+ end
241
+
242
+ # Contains the parameters for CreateRule.
243
+ # @note When making an API call, pass CreateRuleInput
244
+ # data as a hash:
245
+ #
246
+ # {
247
+ # listener_arn: "ListenerArn", # required
248
+ # conditions: [ # required
249
+ # {
250
+ # field: "ConditionFieldName",
251
+ # values: ["StringValue"],
252
+ # },
253
+ # ],
254
+ # priority: 1, # required
255
+ # actions: [ # required
256
+ # {
257
+ # type: "forward", # required, accepts forward
258
+ # target_group_arn: "TargetGroupArn", # required
259
+ # },
260
+ # ],
261
+ # }
262
+ # @!attribute [rw] listener_arn
263
+ # The Amazon Resource Name (ARN) of the listener.
264
+ # @return [String]
265
+ #
266
+ # @!attribute [rw] conditions
267
+ # A condition. Each condition has the field `path-pattern` and
268
+ # specifies one path pattern. A path pattern is case sensitive, can be
269
+ # up to 255 characters in length, and can contain any of the following
270
+ # characters:
271
+ #
272
+ # * A-Z, a-z, 0-9
273
+ #
274
+ # * \_ - . $ / ~ " ' @ : +
275
+ #
276
+ # * &amp; (using &amp;amp;)
277
+ #
278
+ # * * (matches 0 or more characters)
279
+ #
280
+ # * ? (matches exactly 1 character)
281
+ # @return [Array<Types::RuleCondition>]
282
+ #
283
+ # @!attribute [rw] priority
284
+ # The priority for the rule. A listener can't have multiple rules
285
+ # with the same priority.
286
+ # @return [Integer]
287
+ #
288
+ # @!attribute [rw] actions
289
+ # An action. Each action has the type `forward` and specifies a target
290
+ # group.
291
+ # @return [Array<Types::Action>]
292
+ class CreateRuleInput < Struct.new(
293
+ :listener_arn,
294
+ :conditions,
295
+ :priority,
296
+ :actions)
297
+ include Aws::Structure
298
+ end
299
+
300
+ # Contains the output of CreateRule.
301
+ # @!attribute [rw] rules
302
+ # Information about the rule.
303
+ # @return [Array<Types::Rule>]
304
+ class CreateRuleOutput < Struct.new(
305
+ :rules)
306
+ include Aws::Structure
307
+ end
308
+
309
+ # Contains the parameters for CreateTargetGroup.
310
+ # @note When making an API call, pass CreateTargetGroupInput
311
+ # data as a hash:
312
+ #
313
+ # {
314
+ # name: "TargetGroupName", # required
315
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS
316
+ # port: 1, # required
317
+ # vpc_id: "VpcId", # required
318
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
319
+ # health_check_port: "HealthCheckPort",
320
+ # health_check_path: "Path",
321
+ # health_check_interval_seconds: 1,
322
+ # health_check_timeout_seconds: 1,
323
+ # healthy_threshold_count: 1,
324
+ # unhealthy_threshold_count: 1,
325
+ # matcher: {
326
+ # http_code: "HttpCode", # required
327
+ # },
328
+ # }
329
+ # @!attribute [rw] name
330
+ # The name of the target group.
331
+ # @return [String]
332
+ #
333
+ # @!attribute [rw] protocol
334
+ # The protocol to use for routing traffic to the targets.
335
+ # @return [String]
336
+ #
337
+ # @!attribute [rw] port
338
+ # The port on which the targets receive traffic. This port is used
339
+ # unless you specify a port override when registering the target.
340
+ # @return [Integer]
341
+ #
342
+ # @!attribute [rw] vpc_id
343
+ # The identifier of the virtual private cloud (VPC).
344
+ # @return [String]
345
+ #
346
+ # @!attribute [rw] health_check_protocol
347
+ # The protocol the load balancer uses when performing health checks on
348
+ # targets. The default is the HTTP protocol.
349
+ # @return [String]
350
+ #
351
+ # @!attribute [rw] health_check_port
352
+ # The port the load balancer uses when performing health checks on
353
+ # targets. The default is `traffic-port`, which indicates the port on
354
+ # which each target receives traffic from the load balancer.
355
+ # @return [String]
356
+ #
357
+ # @!attribute [rw] health_check_path
358
+ # The ping path that is the destination on the targets for health
359
+ # checks. The default is /.
360
+ # @return [String]
361
+ #
362
+ # @!attribute [rw] health_check_interval_seconds
363
+ # The approximate amount of time, in seconds, between health checks of
364
+ # an individual target. The default is 30 seconds.
365
+ # @return [Integer]
366
+ #
367
+ # @!attribute [rw] health_check_timeout_seconds
368
+ # The amount of time, in seconds, during which no response from a
369
+ # target means a failed health check. The default is 5 seconds.
370
+ # @return [Integer]
371
+ #
372
+ # @!attribute [rw] healthy_threshold_count
373
+ # The number of consecutive health checks successes required before
374
+ # considering an unhealthy target healthy. The default is 5.
375
+ # @return [Integer]
376
+ #
377
+ # @!attribute [rw] unhealthy_threshold_count
378
+ # The number of consecutive health check failures required before
379
+ # considering a target unhealthy. The default is 2.
380
+ # @return [Integer]
381
+ #
382
+ # @!attribute [rw] matcher
383
+ # The HTTP codes to use when checking for a successful response from a
384
+ # target. The default is 200.
385
+ # @return [Types::Matcher]
386
+ class CreateTargetGroupInput < Struct.new(
387
+ :name,
388
+ :protocol,
389
+ :port,
390
+ :vpc_id,
391
+ :health_check_protocol,
392
+ :health_check_port,
393
+ :health_check_path,
394
+ :health_check_interval_seconds,
395
+ :health_check_timeout_seconds,
396
+ :healthy_threshold_count,
397
+ :unhealthy_threshold_count,
398
+ :matcher)
399
+ include Aws::Structure
400
+ end
401
+
402
+ # Contains the output of CreateTargetGroup.
403
+ # @!attribute [rw] target_groups
404
+ # Information about the target group.
405
+ # @return [Array<Types::TargetGroup>]
406
+ class CreateTargetGroupOutput < Struct.new(
407
+ :target_groups)
408
+ include Aws::Structure
409
+ end
410
+
411
+ # Contains the parameters for DeleteListener.
412
+ # @note When making an API call, pass DeleteListenerInput
413
+ # data as a hash:
414
+ #
415
+ # {
416
+ # listener_arn: "ListenerArn", # required
417
+ # }
418
+ # @!attribute [rw] listener_arn
419
+ # The Amazon Resource Name (ARN) of the listener.
420
+ # @return [String]
421
+ class DeleteListenerInput < Struct.new(
422
+ :listener_arn)
423
+ include Aws::Structure
424
+ end
425
+
426
+ # Contains the output of DeleteListener.
427
+ class DeleteListenerOutput < Aws::EmptyStructure; end
428
+
429
+ # Contains the parameters for DeleteLoadBalancer.
430
+ # @note When making an API call, pass DeleteLoadBalancerInput
431
+ # data as a hash:
432
+ #
433
+ # {
434
+ # load_balancer_arn: "LoadBalancerArn", # required
435
+ # }
436
+ # @!attribute [rw] load_balancer_arn
437
+ # The Amazon Resource Name (ARN) of the load balancer.
438
+ # @return [String]
439
+ class DeleteLoadBalancerInput < Struct.new(
440
+ :load_balancer_arn)
441
+ include Aws::Structure
442
+ end
443
+
444
+ # Contains the output of DeleteLoadBalancer.
445
+ class DeleteLoadBalancerOutput < Aws::EmptyStructure; end
446
+
447
+ # Contains the parameters for DeleteRule.
448
+ # @note When making an API call, pass DeleteRuleInput
449
+ # data as a hash:
450
+ #
451
+ # {
452
+ # rule_arn: "RuleArn", # required
453
+ # }
454
+ # @!attribute [rw] rule_arn
455
+ # The Amazon Resource Name (ARN) of the rule.
456
+ # @return [String]
457
+ class DeleteRuleInput < Struct.new(
458
+ :rule_arn)
459
+ include Aws::Structure
460
+ end
461
+
462
+ # Contains the output of DeleteRule.
463
+ class DeleteRuleOutput < Aws::EmptyStructure; end
464
+
465
+ # Contains the parameters for DeleteTargetGroup.
466
+ # @note When making an API call, pass DeleteTargetGroupInput
467
+ # data as a hash:
468
+ #
469
+ # {
470
+ # target_group_arn: "TargetGroupArn", # required
471
+ # }
472
+ # @!attribute [rw] target_group_arn
473
+ # The Amazon Resource Name (ARN) of the target group.
474
+ # @return [String]
475
+ class DeleteTargetGroupInput < Struct.new(
476
+ :target_group_arn)
477
+ include Aws::Structure
478
+ end
479
+
480
+ # Contains the output of DeleteTargetGroup.
481
+ class DeleteTargetGroupOutput < Aws::EmptyStructure; end
482
+
483
+ # Contains the parameters for DeregisterTargets.
484
+ # @note When making an API call, pass DeregisterTargetsInput
485
+ # data as a hash:
486
+ #
487
+ # {
488
+ # target_group_arn: "TargetGroupArn", # required
489
+ # targets: [ # required
490
+ # {
491
+ # id: "TargetId", # required
492
+ # port: 1,
493
+ # },
494
+ # ],
495
+ # }
496
+ # @!attribute [rw] target_group_arn
497
+ # The Amazon Resource Name (ARN) of the target group.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] targets
501
+ # The targets. If you specified a port override when you registered a
502
+ # target, you must specify both the target ID and the port when you
503
+ # deregister it.
504
+ # @return [Array<Types::TargetDescription>]
505
+ class DeregisterTargetsInput < Struct.new(
506
+ :target_group_arn,
507
+ :targets)
508
+ include Aws::Structure
509
+ end
510
+
511
+ # Contains the output of DeregisterTargets.
512
+ class DeregisterTargetsOutput < Aws::EmptyStructure; end
513
+
514
+ # Contains the parameters for DescribeListeners.
515
+ # @note When making an API call, pass DescribeListenersInput
516
+ # data as a hash:
517
+ #
518
+ # {
519
+ # load_balancer_arn: "LoadBalancerArn",
520
+ # listener_arns: ["ListenerArn"],
521
+ # marker: "Marker",
522
+ # page_size: 1,
523
+ # }
524
+ # @!attribute [rw] load_balancer_arn
525
+ # The Amazon Resource Name (ARN) of the load balancer.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] listener_arns
529
+ # The Amazon Resource Names (ARN) of the listeners.
530
+ # @return [Array<String>]
531
+ #
532
+ # @!attribute [rw] marker
533
+ # The marker for the next set of results. (You received this marker
534
+ # from a previous call.)
535
+ # @return [String]
536
+ #
537
+ # @!attribute [rw] page_size
538
+ # The maximum number of results to return with this call.
539
+ # @return [Integer]
540
+ class DescribeListenersInput < Struct.new(
541
+ :load_balancer_arn,
542
+ :listener_arns,
543
+ :marker,
544
+ :page_size)
545
+ include Aws::Structure
546
+ end
547
+
548
+ # Contains the output of DescribeListeners.
549
+ # @!attribute [rw] listeners
550
+ # Information about the listeners.
551
+ # @return [Array<Types::Listener>]
552
+ #
553
+ # @!attribute [rw] next_marker
554
+ # The marker to use when requesting the next set of results. If there
555
+ # are no additional results, the string is empty.
556
+ # @return [String]
557
+ class DescribeListenersOutput < Struct.new(
558
+ :listeners,
559
+ :next_marker)
560
+ include Aws::Structure
561
+ end
562
+
563
+ # Contains the parameters for DescribeLoadBalancerAttributes.
564
+ # @note When making an API call, pass DescribeLoadBalancerAttributesInput
565
+ # data as a hash:
566
+ #
567
+ # {
568
+ # load_balancer_arn: "LoadBalancerArn", # required
569
+ # }
570
+ # @!attribute [rw] load_balancer_arn
571
+ # The Amazon Resource Name (ARN) of the load balancer.
572
+ # @return [String]
573
+ class DescribeLoadBalancerAttributesInput < Struct.new(
574
+ :load_balancer_arn)
575
+ include Aws::Structure
576
+ end
577
+
578
+ # Contains the output of DescribeLoadBalancerAttributes.
579
+ # @!attribute [rw] attributes
580
+ # Information about the load balancer attributes.
581
+ # @return [Array<Types::LoadBalancerAttribute>]
582
+ class DescribeLoadBalancerAttributesOutput < Struct.new(
583
+ :attributes)
584
+ include Aws::Structure
585
+ end
586
+
587
+ # Contains the parameters for DescribeLoadBalancers.
588
+ # @note When making an API call, pass DescribeLoadBalancersInput
589
+ # data as a hash:
590
+ #
591
+ # {
592
+ # load_balancer_arns: ["LoadBalancerArn"],
593
+ # names: ["LoadBalancerName"],
594
+ # marker: "Marker",
595
+ # page_size: 1,
596
+ # }
597
+ # @!attribute [rw] load_balancer_arns
598
+ # The Amazon Resource Names (ARN) of the load balancers.
599
+ # @return [Array<String>]
600
+ #
601
+ # @!attribute [rw] names
602
+ # The names of the load balancers.
603
+ # @return [Array<String>]
604
+ #
605
+ # @!attribute [rw] marker
606
+ # The marker for the next set of results. (You received this marker
607
+ # from a previous call.)
608
+ # @return [String]
609
+ #
610
+ # @!attribute [rw] page_size
611
+ # The maximum number of results to return with this call.
612
+ # @return [Integer]
613
+ class DescribeLoadBalancersInput < Struct.new(
614
+ :load_balancer_arns,
615
+ :names,
616
+ :marker,
617
+ :page_size)
618
+ include Aws::Structure
619
+ end
620
+
621
+ # Contains the output of DescribeLoadBalancers.
622
+ # @!attribute [rw] load_balancers
623
+ # Information about the load balancers.
624
+ # @return [Array<Types::LoadBalancer>]
625
+ #
626
+ # @!attribute [rw] next_marker
627
+ # The marker to use when requesting the next set of results. If there
628
+ # are no additional results, the string is empty.
629
+ # @return [String]
630
+ class DescribeLoadBalancersOutput < Struct.new(
631
+ :load_balancers,
632
+ :next_marker)
633
+ include Aws::Structure
634
+ end
635
+
636
+ # Contains the parameters for DescribeRules.
637
+ # @note When making an API call, pass DescribeRulesInput
638
+ # data as a hash:
639
+ #
640
+ # {
641
+ # listener_arn: "ListenerArn",
642
+ # rule_arns: ["RuleArn"],
643
+ # }
644
+ # @!attribute [rw] listener_arn
645
+ # The Amazon Resource Name (ARN) of the listener.
646
+ # @return [String]
647
+ #
648
+ # @!attribute [rw] rule_arns
649
+ # The Amazon Resource Names (ARN) of the rules.
650
+ # @return [Array<String>]
651
+ class DescribeRulesInput < Struct.new(
652
+ :listener_arn,
653
+ :rule_arns)
654
+ include Aws::Structure
655
+ end
656
+
657
+ # Contains the output of DescribeRules.
658
+ # @!attribute [rw] rules
659
+ # Information about the rules.
660
+ # @return [Array<Types::Rule>]
661
+ class DescribeRulesOutput < Struct.new(
662
+ :rules)
663
+ include Aws::Structure
664
+ end
665
+
666
+ # Contains the parameters for DescribeSSLPolicies.
667
+ # @note When making an API call, pass DescribeSSLPoliciesInput
668
+ # data as a hash:
669
+ #
670
+ # {
671
+ # names: ["SslPolicyName"],
672
+ # marker: "Marker",
673
+ # page_size: 1,
674
+ # }
675
+ # @!attribute [rw] names
676
+ # The names of the policies.
677
+ # @return [Array<String>]
678
+ #
679
+ # @!attribute [rw] marker
680
+ # The marker for the next set of results. (You received this marker
681
+ # from a previous call.)
682
+ # @return [String]
683
+ #
684
+ # @!attribute [rw] page_size
685
+ # The maximum number of results to return with this call.
686
+ # @return [Integer]
687
+ class DescribeSSLPoliciesInput < Struct.new(
688
+ :names,
689
+ :marker,
690
+ :page_size)
691
+ include Aws::Structure
692
+ end
693
+
694
+ # Contains the output of DescribeSSLPolicies.
695
+ # @!attribute [rw] ssl_policies
696
+ # Information about the policies.
697
+ # @return [Array<Types::SslPolicy>]
698
+ #
699
+ # @!attribute [rw] next_marker
700
+ # The marker to use when requesting the next set of results. If there
701
+ # are no additional results, the string is empty.
702
+ # @return [String]
703
+ class DescribeSSLPoliciesOutput < Struct.new(
704
+ :ssl_policies,
705
+ :next_marker)
706
+ include Aws::Structure
707
+ end
708
+
709
+ # Contains the parameters for DescribeTags.
710
+ # @note When making an API call, pass DescribeTagsInput
711
+ # data as a hash:
712
+ #
713
+ # {
714
+ # resource_arns: ["ResourceArn"], # required
715
+ # }
716
+ # @!attribute [rw] resource_arns
717
+ # The Amazon Resource Names (ARN) of the resources.
718
+ # @return [Array<String>]
719
+ class DescribeTagsInput < Struct.new(
720
+ :resource_arns)
721
+ include Aws::Structure
722
+ end
723
+
724
+ # Contains the output of DescribeTags.
725
+ # @!attribute [rw] tag_descriptions
726
+ # Information about the tags.
727
+ # @return [Array<Types::TagDescription>]
728
+ class DescribeTagsOutput < Struct.new(
729
+ :tag_descriptions)
730
+ include Aws::Structure
731
+ end
732
+
733
+ # Contains the parameters for DescribeTargetGroupAttributes.
734
+ # @note When making an API call, pass DescribeTargetGroupAttributesInput
735
+ # data as a hash:
736
+ #
737
+ # {
738
+ # target_group_arn: "TargetGroupArn", # required
739
+ # }
740
+ # @!attribute [rw] target_group_arn
741
+ # The Amazon Resource Name (ARN) of the target group.
742
+ # @return [String]
743
+ class DescribeTargetGroupAttributesInput < Struct.new(
744
+ :target_group_arn)
745
+ include Aws::Structure
746
+ end
747
+
748
+ # Contains the output of DescribeTargetGroupAttributes.
749
+ # @!attribute [rw] attributes
750
+ # Information about the target group attributes
751
+ # @return [Array<Types::TargetGroupAttribute>]
752
+ class DescribeTargetGroupAttributesOutput < Struct.new(
753
+ :attributes)
754
+ include Aws::Structure
755
+ end
756
+
757
+ # Contains the parameters for DescribeTargetGroups.
758
+ # @note When making an API call, pass DescribeTargetGroupsInput
759
+ # data as a hash:
760
+ #
761
+ # {
762
+ # load_balancer_arn: "LoadBalancerArn",
763
+ # target_group_arns: ["TargetGroupArn"],
764
+ # names: ["TargetGroupName"],
765
+ # marker: "Marker",
766
+ # page_size: 1,
767
+ # }
768
+ # @!attribute [rw] load_balancer_arn
769
+ # The Amazon Resource Name (ARN) of the load balancer.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] target_group_arns
773
+ # The Amazon Resource Names (ARN) of the target groups.
774
+ # @return [Array<String>]
775
+ #
776
+ # @!attribute [rw] names
777
+ # The names of the target groups.
778
+ # @return [Array<String>]
779
+ #
780
+ # @!attribute [rw] marker
781
+ # The marker for the next set of results. (You received this marker
782
+ # from a previous call.)
783
+ # @return [String]
784
+ #
785
+ # @!attribute [rw] page_size
786
+ # The maximum number of results to return with this call.
787
+ # @return [Integer]
788
+ class DescribeTargetGroupsInput < Struct.new(
789
+ :load_balancer_arn,
790
+ :target_group_arns,
791
+ :names,
792
+ :marker,
793
+ :page_size)
794
+ include Aws::Structure
795
+ end
796
+
797
+ # Contains the output of DescribeTargetGroups.
798
+ # @!attribute [rw] target_groups
799
+ # Information about the target groups.
800
+ # @return [Array<Types::TargetGroup>]
801
+ #
802
+ # @!attribute [rw] next_marker
803
+ # The marker to use when requesting the next set of results. If there
804
+ # are no additional results, the string is empty.
805
+ # @return [String]
806
+ class DescribeTargetGroupsOutput < Struct.new(
807
+ :target_groups,
808
+ :next_marker)
809
+ include Aws::Structure
810
+ end
811
+
812
+ # Contains the parameters for DescribeTargetHealth.
813
+ # @note When making an API call, pass DescribeTargetHealthInput
814
+ # data as a hash:
815
+ #
816
+ # {
817
+ # target_group_arn: "TargetGroupArn", # required
818
+ # targets: [
819
+ # {
820
+ # id: "TargetId", # required
821
+ # port: 1,
822
+ # },
823
+ # ],
824
+ # }
825
+ # @!attribute [rw] target_group_arn
826
+ # The Amazon Resource Name (ARN) of the target group.
827
+ # @return [String]
828
+ #
829
+ # @!attribute [rw] targets
830
+ # The targets.
831
+ # @return [Array<Types::TargetDescription>]
832
+ class DescribeTargetHealthInput < Struct.new(
833
+ :target_group_arn,
834
+ :targets)
835
+ include Aws::Structure
836
+ end
837
+
838
+ # Contains the output of DescribeTargetHealth.
839
+ # @!attribute [rw] target_health_descriptions
840
+ # Information about the health of the targets.
841
+ # @return [Array<Types::TargetHealthDescription>]
842
+ class DescribeTargetHealthOutput < Struct.new(
843
+ :target_health_descriptions)
844
+ include Aws::Structure
845
+ end
846
+
847
+ # Information about a listener.
848
+ # @!attribute [rw] listener_arn
849
+ # The Amazon Resource Name (ARN) of the listener.
850
+ # @return [String]
851
+ #
852
+ # @!attribute [rw] load_balancer_arn
853
+ # The Amazon Resource Name (ARN) of the load balancer.
854
+ # @return [String]
855
+ #
856
+ # @!attribute [rw] port
857
+ # The port on which the load balancer is listening.
858
+ # @return [Integer]
859
+ #
860
+ # @!attribute [rw] protocol
861
+ # The protocol for connections from clients to the load balancer.
862
+ # @return [String]
863
+ #
864
+ # @!attribute [rw] certificates
865
+ # The SSL server certificate. You must provide a certificate if the
866
+ # protocol is HTTPS.
867
+ # @return [Array<Types::Certificate>]
868
+ #
869
+ # @!attribute [rw] ssl_policy
870
+ # The security policy that defines which ciphers and protocols are
871
+ # supported. The default is the current predefined security policy.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] default_actions
875
+ # The default actions for the listener.
876
+ # @return [Array<Types::Action>]
877
+ class Listener < Struct.new(
878
+ :listener_arn,
879
+ :load_balancer_arn,
880
+ :port,
881
+ :protocol,
882
+ :certificates,
883
+ :ssl_policy,
884
+ :default_actions)
885
+ include Aws::Structure
886
+ end
887
+
888
+ # Information about a load balancer.
889
+ # @!attribute [rw] load_balancer_arn
890
+ # The Amazon Resource Name (ARN) of the load balancer.
891
+ # @return [String]
892
+ #
893
+ # @!attribute [rw] dns_name
894
+ # The public DNS name of the load balancer.
895
+ # @return [String]
896
+ #
897
+ # @!attribute [rw] canonical_hosted_zone_id
898
+ # The ID of the Amazon Route 53 hosted zone associated with the load
899
+ # balancer.
900
+ # @return [String]
901
+ #
902
+ # @!attribute [rw] created_time
903
+ # The date and time the load balancer was created.
904
+ # @return [Time]
905
+ #
906
+ # @!attribute [rw] load_balancer_name
907
+ # The name of the load balancer.
908
+ # @return [String]
909
+ #
910
+ # @!attribute [rw] scheme
911
+ # The nodes of an Internet-facing load balancer have public IP
912
+ # addresses. The DNS name of an Internet-facing load balancer is
913
+ # publicly resolvable to the public IP addresses of the nodes.
914
+ # Therefore, Internet-facing load balancers can route requests from
915
+ # clients over the Internet.
916
+ #
917
+ # The nodes of an internal load balancer have only private IP
918
+ # addresses. The DNS name of an internal load balancer is publicly
919
+ # resolvable to the private IP addresses of the nodes. Therefore,
920
+ # internal load balancers can only route requests from clients with
921
+ # access to the VPC for the load balancer.
922
+ # @return [String]
923
+ #
924
+ # @!attribute [rw] vpc_id
925
+ # The ID of the VPC for the load balancer.
926
+ # @return [String]
927
+ #
928
+ # @!attribute [rw] state
929
+ # The state of the load balancer.
930
+ # @return [Types::LoadBalancerState]
931
+ #
932
+ # @!attribute [rw] type
933
+ # The type of load balancer.
934
+ # @return [String]
935
+ #
936
+ # @!attribute [rw] availability_zones
937
+ # The Availability Zones for the load balancer.
938
+ # @return [Array<Types::AvailabilityZone>]
939
+ #
940
+ # @!attribute [rw] security_groups
941
+ # The IDs of the security groups for the load balancer.
942
+ # @return [Array<String>]
943
+ class LoadBalancer < Struct.new(
944
+ :load_balancer_arn,
945
+ :dns_name,
946
+ :canonical_hosted_zone_id,
947
+ :created_time,
948
+ :load_balancer_name,
949
+ :scheme,
950
+ :vpc_id,
951
+ :state,
952
+ :type,
953
+ :availability_zones,
954
+ :security_groups)
955
+ include Aws::Structure
956
+ end
957
+
958
+ # Information about a load balancer attribute.
959
+ # @note When making an API call, pass LoadBalancerAttribute
960
+ # data as a hash:
961
+ #
962
+ # {
963
+ # key: "LoadBalancerAttributeKey",
964
+ # value: "LoadBalancerAttributeValue",
965
+ # }
966
+ # @!attribute [rw] key
967
+ # The name of the attribute.
968
+ #
969
+ # * `access_logs.s3.enabled` - Indicates whether access logs stored in
970
+ # Amazon S3 are enabled. The value is `true` or `false`.
971
+ #
972
+ # * `access_logs.s3.bucket` - The name of the S3 bucket for the access
973
+ # logs. This attribute is required if access logs in Amazon S3 are
974
+ # enabled. The bucket must exist in the same region as the load
975
+ # balancer and have a bucket policy that grants Elastic Load
976
+ # Balancing permission to write to the bucket.
977
+ #
978
+ # * `access_logs.s3.prefix` - The prefix for the location in the S3
979
+ # bucket. If you don't specify a prefix, the access logs are stored
980
+ # in the root of the bucket.
981
+ #
982
+ # * `deletion_protection.enabled` - Indicates whether deletion
983
+ # protection is enabled. The value is `true` or `false`.
984
+ #
985
+ # * `idle_timeout.timeout_seconds` - The idle timeout value, in
986
+ # seconds. The valid range is 1-3600. The default is 60 seconds.
987
+ # @return [String]
988
+ #
989
+ # @!attribute [rw] value
990
+ # The value of the attribute.
991
+ # @return [String]
992
+ class LoadBalancerAttribute < Struct.new(
993
+ :key,
994
+ :value)
995
+ include Aws::Structure
996
+ end
997
+
998
+ # Information about the state of the load balancer.
999
+ # @!attribute [rw] code
1000
+ # The state code. The initial state of the load balancer is
1001
+ # `provisioning`. After the load balancer is fully set up and ready to
1002
+ # route traffic, its state is `active`. If the load balancer could not
1003
+ # be set up, its state is `failed`.
1004
+ # @return [String]
1005
+ #
1006
+ # @!attribute [rw] reason
1007
+ # A description of the state.
1008
+ # @return [String]
1009
+ class LoadBalancerState < Struct.new(
1010
+ :code,
1011
+ :reason)
1012
+ include Aws::Structure
1013
+ end
1014
+
1015
+ # Information to use when checking for a successful response from a
1016
+ # target.
1017
+ # @note When making an API call, pass Matcher
1018
+ # data as a hash:
1019
+ #
1020
+ # {
1021
+ # http_code: "HttpCode", # required
1022
+ # }
1023
+ # @!attribute [rw] http_code
1024
+ # The HTTP codes. The default value is 200. You can specify multiple
1025
+ # values (for example, "200,202") or a range of values (for example,
1026
+ # "200-299").
1027
+ # @return [String]
1028
+ class Matcher < Struct.new(
1029
+ :http_code)
1030
+ include Aws::Structure
1031
+ end
1032
+
1033
+ # Contains the parameters for ModifyListener.
1034
+ # @note When making an API call, pass ModifyListenerInput
1035
+ # data as a hash:
1036
+ #
1037
+ # {
1038
+ # listener_arn: "ListenerArn", # required
1039
+ # port: 1,
1040
+ # protocol: "HTTP", # accepts HTTP, HTTPS
1041
+ # ssl_policy: "SslPolicyName",
1042
+ # certificates: [
1043
+ # {
1044
+ # certificate_arn: "CertificateArn",
1045
+ # },
1046
+ # ],
1047
+ # default_actions: [
1048
+ # {
1049
+ # type: "forward", # required, accepts forward
1050
+ # target_group_arn: "TargetGroupArn", # required
1051
+ # },
1052
+ # ],
1053
+ # }
1054
+ # @!attribute [rw] listener_arn
1055
+ # The Amazon Resource Name (ARN) of the listener.
1056
+ # @return [String]
1057
+ #
1058
+ # @!attribute [rw] port
1059
+ # The port for connections from clients to the load balancer.
1060
+ # @return [Integer]
1061
+ #
1062
+ # @!attribute [rw] protocol
1063
+ # The protocol for connections from clients to the load balancer.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] ssl_policy
1067
+ # The security policy that defines which ciphers and protocols are
1068
+ # supported.
1069
+ # @return [String]
1070
+ #
1071
+ # @!attribute [rw] certificates
1072
+ # The SSL server certificate.
1073
+ # @return [Array<Types::Certificate>]
1074
+ #
1075
+ # @!attribute [rw] default_actions
1076
+ # The default actions.
1077
+ # @return [Array<Types::Action>]
1078
+ class ModifyListenerInput < Struct.new(
1079
+ :listener_arn,
1080
+ :port,
1081
+ :protocol,
1082
+ :ssl_policy,
1083
+ :certificates,
1084
+ :default_actions)
1085
+ include Aws::Structure
1086
+ end
1087
+
1088
+ # Contains the output of ModifyListener.
1089
+ # @!attribute [rw] listeners
1090
+ # Information about the modified listeners.
1091
+ # @return [Array<Types::Listener>]
1092
+ class ModifyListenerOutput < Struct.new(
1093
+ :listeners)
1094
+ include Aws::Structure
1095
+ end
1096
+
1097
+ # Contains the parameters for ModifyLoadBalancerAttributes.
1098
+ # @note When making an API call, pass ModifyLoadBalancerAttributesInput
1099
+ # data as a hash:
1100
+ #
1101
+ # {
1102
+ # load_balancer_arn: "LoadBalancerArn", # required
1103
+ # attributes: [ # required
1104
+ # {
1105
+ # key: "LoadBalancerAttributeKey",
1106
+ # value: "LoadBalancerAttributeValue",
1107
+ # },
1108
+ # ],
1109
+ # }
1110
+ # @!attribute [rw] load_balancer_arn
1111
+ # The Amazon Resource Name (ARN) of the load balancer.
1112
+ # @return [String]
1113
+ #
1114
+ # @!attribute [rw] attributes
1115
+ # The load balancer attributes.
1116
+ # @return [Array<Types::LoadBalancerAttribute>]
1117
+ class ModifyLoadBalancerAttributesInput < Struct.new(
1118
+ :load_balancer_arn,
1119
+ :attributes)
1120
+ include Aws::Structure
1121
+ end
1122
+
1123
+ # Contains the output of ModifyLoadBalancerAttributes.
1124
+ # @!attribute [rw] attributes
1125
+ # Information about the load balancer attributes.
1126
+ # @return [Array<Types::LoadBalancerAttribute>]
1127
+ class ModifyLoadBalancerAttributesOutput < Struct.new(
1128
+ :attributes)
1129
+ include Aws::Structure
1130
+ end
1131
+
1132
+ # Contains the parameters for ModifyRules.
1133
+ # @note When making an API call, pass ModifyRuleInput
1134
+ # data as a hash:
1135
+ #
1136
+ # {
1137
+ # rule_arn: "RuleArn", # required
1138
+ # conditions: [
1139
+ # {
1140
+ # field: "ConditionFieldName",
1141
+ # values: ["StringValue"],
1142
+ # },
1143
+ # ],
1144
+ # actions: [
1145
+ # {
1146
+ # type: "forward", # required, accepts forward
1147
+ # target_group_arn: "TargetGroupArn", # required
1148
+ # },
1149
+ # ],
1150
+ # }
1151
+ # @!attribute [rw] rule_arn
1152
+ # The Amazon Resource Name (ARN) of the rule.
1153
+ # @return [String]
1154
+ #
1155
+ # @!attribute [rw] conditions
1156
+ # The conditions.
1157
+ # @return [Array<Types::RuleCondition>]
1158
+ #
1159
+ # @!attribute [rw] actions
1160
+ # The actions.
1161
+ # @return [Array<Types::Action>]
1162
+ class ModifyRuleInput < Struct.new(
1163
+ :rule_arn,
1164
+ :conditions,
1165
+ :actions)
1166
+ include Aws::Structure
1167
+ end
1168
+
1169
+ # Contains the output of ModifyRules.
1170
+ # @!attribute [rw] rules
1171
+ # Information about the rule.
1172
+ # @return [Array<Types::Rule>]
1173
+ class ModifyRuleOutput < Struct.new(
1174
+ :rules)
1175
+ include Aws::Structure
1176
+ end
1177
+
1178
+ # Contains the parameters for ModifyTargetGroupAttributes.
1179
+ # @note When making an API call, pass ModifyTargetGroupAttributesInput
1180
+ # data as a hash:
1181
+ #
1182
+ # {
1183
+ # target_group_arn: "TargetGroupArn", # required
1184
+ # attributes: [ # required
1185
+ # {
1186
+ # key: "TargetGroupAttributeKey",
1187
+ # value: "TargetGroupAttributeValue",
1188
+ # },
1189
+ # ],
1190
+ # }
1191
+ # @!attribute [rw] target_group_arn
1192
+ # The Amazon Resource Name (ARN) of the target group.
1193
+ # @return [String]
1194
+ #
1195
+ # @!attribute [rw] attributes
1196
+ # The attributes.
1197
+ # @return [Array<Types::TargetGroupAttribute>]
1198
+ class ModifyTargetGroupAttributesInput < Struct.new(
1199
+ :target_group_arn,
1200
+ :attributes)
1201
+ include Aws::Structure
1202
+ end
1203
+
1204
+ # Contains the output of ModifyTargetGroupAttributes.
1205
+ # @!attribute [rw] attributes
1206
+ # Information about the attributes.
1207
+ # @return [Array<Types::TargetGroupAttribute>]
1208
+ class ModifyTargetGroupAttributesOutput < Struct.new(
1209
+ :attributes)
1210
+ include Aws::Structure
1211
+ end
1212
+
1213
+ # Contains the parameters for ModifyTargetGroup.
1214
+ # @note When making an API call, pass ModifyTargetGroupInput
1215
+ # data as a hash:
1216
+ #
1217
+ # {
1218
+ # target_group_arn: "TargetGroupArn", # required
1219
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
1220
+ # health_check_port: "HealthCheckPort",
1221
+ # health_check_path: "Path",
1222
+ # health_check_interval_seconds: 1,
1223
+ # health_check_timeout_seconds: 1,
1224
+ # healthy_threshold_count: 1,
1225
+ # unhealthy_threshold_count: 1,
1226
+ # matcher: {
1227
+ # http_code: "HttpCode", # required
1228
+ # },
1229
+ # }
1230
+ # @!attribute [rw] target_group_arn
1231
+ # The Amazon Resource Name (ARN) of the target group.
1232
+ # @return [String]
1233
+ #
1234
+ # @!attribute [rw] health_check_protocol
1235
+ # The protocol to use to connect with the target.
1236
+ # @return [String]
1237
+ #
1238
+ # @!attribute [rw] health_check_port
1239
+ # The port to use to connect with the target.
1240
+ # @return [String]
1241
+ #
1242
+ # @!attribute [rw] health_check_path
1243
+ # The ping path that is the destination for the health check request.
1244
+ # @return [String]
1245
+ #
1246
+ # @!attribute [rw] health_check_interval_seconds
1247
+ # The approximate amount of time, in seconds, between health checks of
1248
+ # an individual target.
1249
+ # @return [Integer]
1250
+ #
1251
+ # @!attribute [rw] health_check_timeout_seconds
1252
+ # The amount of time, in seconds, during which no response means a
1253
+ # failed health check.
1254
+ # @return [Integer]
1255
+ #
1256
+ # @!attribute [rw] healthy_threshold_count
1257
+ # The number of consecutive health checks successes required before
1258
+ # considering an unhealthy target healthy.
1259
+ # @return [Integer]
1260
+ #
1261
+ # @!attribute [rw] unhealthy_threshold_count
1262
+ # The number of consecutive health check failures required before
1263
+ # considering the target unhealthy.
1264
+ # @return [Integer]
1265
+ #
1266
+ # @!attribute [rw] matcher
1267
+ # The HTTP codes to use when checking for a successful response from a
1268
+ # target.
1269
+ # @return [Types::Matcher]
1270
+ class ModifyTargetGroupInput < Struct.new(
1271
+ :target_group_arn,
1272
+ :health_check_protocol,
1273
+ :health_check_port,
1274
+ :health_check_path,
1275
+ :health_check_interval_seconds,
1276
+ :health_check_timeout_seconds,
1277
+ :healthy_threshold_count,
1278
+ :unhealthy_threshold_count,
1279
+ :matcher)
1280
+ include Aws::Structure
1281
+ end
1282
+
1283
+ # Contains the output of ModifyTargetGroup.
1284
+ # @!attribute [rw] target_groups
1285
+ # Information about the target group.
1286
+ # @return [Array<Types::TargetGroup>]
1287
+ class ModifyTargetGroupOutput < Struct.new(
1288
+ :target_groups)
1289
+ include Aws::Structure
1290
+ end
1291
+
1292
+ # Contains the parameters for RegisterTargets.
1293
+ # @note When making an API call, pass RegisterTargetsInput
1294
+ # data as a hash:
1295
+ #
1296
+ # {
1297
+ # target_group_arn: "TargetGroupArn", # required
1298
+ # targets: [ # required
1299
+ # {
1300
+ # id: "TargetId", # required
1301
+ # port: 1,
1302
+ # },
1303
+ # ],
1304
+ # }
1305
+ # @!attribute [rw] target_group_arn
1306
+ # The Amazon Resource Name (ARN) of the target group.
1307
+ # @return [String]
1308
+ #
1309
+ # @!attribute [rw] targets
1310
+ # The targets. The default port for a target is the port for the
1311
+ # target group. You can specify a port override. If a target is
1312
+ # already registered, you can register it again using a different
1313
+ # port.
1314
+ # @return [Array<Types::TargetDescription>]
1315
+ class RegisterTargetsInput < Struct.new(
1316
+ :target_group_arn,
1317
+ :targets)
1318
+ include Aws::Structure
1319
+ end
1320
+
1321
+ # Contains the output of RegisterTargets.
1322
+ class RegisterTargetsOutput < Aws::EmptyStructure; end
1323
+
1324
+ # Contains the parameters for RemoveTags.
1325
+ # @note When making an API call, pass RemoveTagsInput
1326
+ # data as a hash:
1327
+ #
1328
+ # {
1329
+ # resource_arns: ["ResourceArn"], # required
1330
+ # tag_keys: ["TagKey"], # required
1331
+ # }
1332
+ # @!attribute [rw] resource_arns
1333
+ # The Amazon Resource Name (ARN) of the resource.
1334
+ # @return [Array<String>]
1335
+ #
1336
+ # @!attribute [rw] tag_keys
1337
+ # The tag keys for the tags to remove.
1338
+ # @return [Array<String>]
1339
+ class RemoveTagsInput < Struct.new(
1340
+ :resource_arns,
1341
+ :tag_keys)
1342
+ include Aws::Structure
1343
+ end
1344
+
1345
+ # Contains the output of RemoveTags.
1346
+ class RemoveTagsOutput < Aws::EmptyStructure; end
1347
+
1348
+ # Information about a rule.
1349
+ # @!attribute [rw] rule_arn
1350
+ # The Amazon Resource Name (ARN) of the rule.
1351
+ # @return [String]
1352
+ #
1353
+ # @!attribute [rw] priority
1354
+ # The priority.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] conditions
1358
+ # The conditions.
1359
+ # @return [Array<Types::RuleCondition>]
1360
+ #
1361
+ # @!attribute [rw] actions
1362
+ # The actions.
1363
+ # @return [Array<Types::Action>]
1364
+ #
1365
+ # @!attribute [rw] is_default
1366
+ # Indicates whether this is the default rule.
1367
+ # @return [Boolean]
1368
+ class Rule < Struct.new(
1369
+ :rule_arn,
1370
+ :priority,
1371
+ :conditions,
1372
+ :actions,
1373
+ :is_default)
1374
+ include Aws::Structure
1375
+ end
1376
+
1377
+ # Information about a condition for a rule.
1378
+ # @note When making an API call, pass RuleCondition
1379
+ # data as a hash:
1380
+ #
1381
+ # {
1382
+ # field: "ConditionFieldName",
1383
+ # values: ["StringValue"],
1384
+ # }
1385
+ # @!attribute [rw] field
1386
+ # The only possible value is `path-pattern`.
1387
+ # @return [String]
1388
+ #
1389
+ # @!attribute [rw] values
1390
+ # The path pattern. You can specify a single path pattern.
1391
+ #
1392
+ # A path pattern is case sensitive, can be up to 255 characters in
1393
+ # length, and can contain any of the following characters:
1394
+ #
1395
+ # * A-Z, a-z, 0-9
1396
+ #
1397
+ # * \_ - . $ / ~ " ' @ : +
1398
+ #
1399
+ # * &amp; (using &amp;amp;)
1400
+ #
1401
+ # * * (matches 0 or more characters)
1402
+ #
1403
+ # * ? (matches exactly 1 character)
1404
+ # @return [Array<String>]
1405
+ class RuleCondition < Struct.new(
1406
+ :field,
1407
+ :values)
1408
+ include Aws::Structure
1409
+ end
1410
+
1411
+ # Information about the priorities for the rules for a listener.
1412
+ # @note When making an API call, pass RulePriorityPair
1413
+ # data as a hash:
1414
+ #
1415
+ # {
1416
+ # rule_arn: "RuleArn",
1417
+ # priority: 1,
1418
+ # }
1419
+ # @!attribute [rw] rule_arn
1420
+ # The Amazon Resource Name (ARN) of the rule.
1421
+ # @return [String]
1422
+ #
1423
+ # @!attribute [rw] priority
1424
+ # The rule priority.
1425
+ # @return [Integer]
1426
+ class RulePriorityPair < Struct.new(
1427
+ :rule_arn,
1428
+ :priority)
1429
+ include Aws::Structure
1430
+ end
1431
+
1432
+ # Contains the parameters for SetRulePriorities.
1433
+ # @note When making an API call, pass SetRulePrioritiesInput
1434
+ # data as a hash:
1435
+ #
1436
+ # {
1437
+ # rule_priorities: [ # required
1438
+ # {
1439
+ # rule_arn: "RuleArn",
1440
+ # priority: 1,
1441
+ # },
1442
+ # ],
1443
+ # }
1444
+ # @!attribute [rw] rule_priorities
1445
+ # The rule priorities.
1446
+ # @return [Array<Types::RulePriorityPair>]
1447
+ class SetRulePrioritiesInput < Struct.new(
1448
+ :rule_priorities)
1449
+ include Aws::Structure
1450
+ end
1451
+
1452
+ # Contains the output of SetRulePriorities.
1453
+ # @!attribute [rw] rules
1454
+ # Information about the rules.
1455
+ # @return [Array<Types::Rule>]
1456
+ class SetRulePrioritiesOutput < Struct.new(
1457
+ :rules)
1458
+ include Aws::Structure
1459
+ end
1460
+
1461
+ # Contains the parameters for SetSecurityGroups.
1462
+ # @note When making an API call, pass SetSecurityGroupsInput
1463
+ # data as a hash:
1464
+ #
1465
+ # {
1466
+ # load_balancer_arn: "LoadBalancerArn", # required
1467
+ # security_groups: ["SecurityGroupId"], # required
1468
+ # }
1469
+ # @!attribute [rw] load_balancer_arn
1470
+ # The Amazon Resource Name (ARN) of the load balancer.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] security_groups
1474
+ # The IDs of the security groups.
1475
+ # @return [Array<String>]
1476
+ class SetSecurityGroupsInput < Struct.new(
1477
+ :load_balancer_arn,
1478
+ :security_groups)
1479
+ include Aws::Structure
1480
+ end
1481
+
1482
+ # Contains the output of SetSecurityGroups.
1483
+ # @!attribute [rw] security_group_ids
1484
+ # The IDs of the security groups associated with the load balancer.
1485
+ # @return [Array<String>]
1486
+ class SetSecurityGroupsOutput < Struct.new(
1487
+ :security_group_ids)
1488
+ include Aws::Structure
1489
+ end
1490
+
1491
+ # Contains the parameters for SetSubnets.
1492
+ # @note When making an API call, pass SetSubnetsInput
1493
+ # data as a hash:
1494
+ #
1495
+ # {
1496
+ # load_balancer_arn: "LoadBalancerArn", # required
1497
+ # subnets: ["SubnetId"], # required
1498
+ # }
1499
+ # @!attribute [rw] load_balancer_arn
1500
+ # The Amazon Resource Name (ARN) of the load balancer.
1501
+ # @return [String]
1502
+ #
1503
+ # @!attribute [rw] subnets
1504
+ # The IDs of the subnets. You must specify at least two subnets. You
1505
+ # can add only one subnet per Availability Zone.
1506
+ # @return [Array<String>]
1507
+ class SetSubnetsInput < Struct.new(
1508
+ :load_balancer_arn,
1509
+ :subnets)
1510
+ include Aws::Structure
1511
+ end
1512
+
1513
+ # Contains the output of SetSubnets.
1514
+ # @!attribute [rw] availability_zones
1515
+ # Information about the subnet and Availability Zone.
1516
+ # @return [Array<Types::AvailabilityZone>]
1517
+ class SetSubnetsOutput < Struct.new(
1518
+ :availability_zones)
1519
+ include Aws::Structure
1520
+ end
1521
+
1522
+ # Information about a policy used for SSL negotiation.
1523
+ # @!attribute [rw] ssl_protocols
1524
+ # The protocols.
1525
+ # @return [Array<String>]
1526
+ #
1527
+ # @!attribute [rw] ciphers
1528
+ # The ciphers.
1529
+ # @return [Array<Types::Cipher>]
1530
+ #
1531
+ # @!attribute [rw] name
1532
+ # The name of the policy.
1533
+ # @return [String]
1534
+ class SslPolicy < Struct.new(
1535
+ :ssl_protocols,
1536
+ :ciphers,
1537
+ :name)
1538
+ include Aws::Structure
1539
+ end
1540
+
1541
+ # Information about a tag.
1542
+ # @note When making an API call, pass Tag
1543
+ # data as a hash:
1544
+ #
1545
+ # {
1546
+ # key: "TagKey", # required
1547
+ # value: "TagValue",
1548
+ # }
1549
+ # @!attribute [rw] key
1550
+ # The key of the tag.
1551
+ # @return [String]
1552
+ #
1553
+ # @!attribute [rw] value
1554
+ # The value of the tag.
1555
+ # @return [String]
1556
+ class Tag < Struct.new(
1557
+ :key,
1558
+ :value)
1559
+ include Aws::Structure
1560
+ end
1561
+
1562
+ # The tags associated with a resource.
1563
+ # @!attribute [rw] resource_arn
1564
+ # The Amazon Resource Name (ARN) of the resource.
1565
+ # @return [String]
1566
+ #
1567
+ # @!attribute [rw] tags
1568
+ # Information about the tags.
1569
+ # @return [Array<Types::Tag>]
1570
+ class TagDescription < Struct.new(
1571
+ :resource_arn,
1572
+ :tags)
1573
+ include Aws::Structure
1574
+ end
1575
+
1576
+ # Information about a target.
1577
+ # @note When making an API call, pass TargetDescription
1578
+ # data as a hash:
1579
+ #
1580
+ # {
1581
+ # id: "TargetId", # required
1582
+ # port: 1,
1583
+ # }
1584
+ # @!attribute [rw] id
1585
+ # The ID of the target.
1586
+ # @return [String]
1587
+ #
1588
+ # @!attribute [rw] port
1589
+ # The port on which the target is listening.
1590
+ # @return [Integer]
1591
+ class TargetDescription < Struct.new(
1592
+ :id,
1593
+ :port)
1594
+ include Aws::Structure
1595
+ end
1596
+
1597
+ # Information about a target group.
1598
+ # @!attribute [rw] target_group_arn
1599
+ # The Amazon Resource Name (ARN) of the target group.
1600
+ # @return [String]
1601
+ #
1602
+ # @!attribute [rw] target_group_name
1603
+ # The name of the target group.
1604
+ # @return [String]
1605
+ #
1606
+ # @!attribute [rw] protocol
1607
+ # The protocol to use for routing traffic to the targets.
1608
+ # @return [String]
1609
+ #
1610
+ # @!attribute [rw] port
1611
+ # The port on which the targets are listening.
1612
+ # @return [Integer]
1613
+ #
1614
+ # @!attribute [rw] vpc_id
1615
+ # The ID of the VPC for the targets.
1616
+ # @return [String]
1617
+ #
1618
+ # @!attribute [rw] health_check_protocol
1619
+ # The protocol to use to connect with the target.
1620
+ # @return [String]
1621
+ #
1622
+ # @!attribute [rw] health_check_port
1623
+ # The port to use to connect with the target.
1624
+ # @return [String]
1625
+ #
1626
+ # @!attribute [rw] health_check_interval_seconds
1627
+ # The approximate amount of time, in seconds, between health checks of
1628
+ # an individual target.
1629
+ # @return [Integer]
1630
+ #
1631
+ # @!attribute [rw] health_check_timeout_seconds
1632
+ # The amount of time, in seconds, during which no response means a
1633
+ # failed health check.
1634
+ # @return [Integer]
1635
+ #
1636
+ # @!attribute [rw] healthy_threshold_count
1637
+ # The number of consecutive health checks successes required before
1638
+ # considering an unhealthy target healthy.
1639
+ # @return [Integer]
1640
+ #
1641
+ # @!attribute [rw] unhealthy_threshold_count
1642
+ # The number of consecutive health check failures required before
1643
+ # considering the target unhealthy.
1644
+ # @return [Integer]
1645
+ #
1646
+ # @!attribute [rw] health_check_path
1647
+ # The destination for the health check request.
1648
+ # @return [String]
1649
+ #
1650
+ # @!attribute [rw] matcher
1651
+ # The HTTP codes to use when checking for a successful response from a
1652
+ # target.
1653
+ # @return [Types::Matcher]
1654
+ #
1655
+ # @!attribute [rw] load_balancer_arns
1656
+ # The Amazon Resource Names (ARN) of the load balancers that route
1657
+ # traffic to this target group.
1658
+ # @return [Array<String>]
1659
+ class TargetGroup < Struct.new(
1660
+ :target_group_arn,
1661
+ :target_group_name,
1662
+ :protocol,
1663
+ :port,
1664
+ :vpc_id,
1665
+ :health_check_protocol,
1666
+ :health_check_port,
1667
+ :health_check_interval_seconds,
1668
+ :health_check_timeout_seconds,
1669
+ :healthy_threshold_count,
1670
+ :unhealthy_threshold_count,
1671
+ :health_check_path,
1672
+ :matcher,
1673
+ :load_balancer_arns)
1674
+ include Aws::Structure
1675
+ end
1676
+
1677
+ # Information about a target group attribute.
1678
+ # @note When making an API call, pass TargetGroupAttribute
1679
+ # data as a hash:
1680
+ #
1681
+ # {
1682
+ # key: "TargetGroupAttributeKey",
1683
+ # value: "TargetGroupAttributeValue",
1684
+ # }
1685
+ # @!attribute [rw] key
1686
+ # The name of the attribute.
1687
+ #
1688
+ # * `deregistration_delay.timeout_seconds` - The amount time for
1689
+ # Elastic Load Balancing to wait before changing the state of a
1690
+ # deregistering target from `draining` to `unused`. The range is
1691
+ # 0-3600 seconds. The default value is 300 seconds.
1692
+ #
1693
+ # * `stickiness.enabled` - Indicates whether sticky sessions are
1694
+ # enabled. The value is `true` or `false`.
1695
+ #
1696
+ # * `stickiness.type` - The type of sticky sessions. The possible
1697
+ # value is `lb_cookie`.
1698
+ #
1699
+ # * `stickiness.lb_cookie.duration_seconds` - The time period, in
1700
+ # seconds, during which requests from a client should be routed to
1701
+ # the same target. After this time period expires, the load
1702
+ # balancer-generated cookie is considered stale. The range is 1
1703
+ # second to 1 week (604800 seconds). The default value is 1 day
1704
+ # (86400 seconds).
1705
+ # @return [String]
1706
+ #
1707
+ # @!attribute [rw] value
1708
+ # The value of the attribute.
1709
+ # @return [String]
1710
+ class TargetGroupAttribute < Struct.new(
1711
+ :key,
1712
+ :value)
1713
+ include Aws::Structure
1714
+ end
1715
+
1716
+ # Information about the current health of a target.
1717
+ # @!attribute [rw] state
1718
+ # The state of the target.
1719
+ # @return [String]
1720
+ #
1721
+ # @!attribute [rw] reason
1722
+ # The reason code. If the target state is `healthy`, a reason code is
1723
+ # not provided.
1724
+ #
1725
+ # If the target state is `initial`, the reason code can be one of the
1726
+ # following values:
1727
+ #
1728
+ # * `Elb.RegistrationInProgress` - The target is in the process of
1729
+ # being registered with the load balancer.
1730
+ #
1731
+ # * `Elb.InitialHealthChecking` - The load balancer is still sending
1732
+ # the target the minimum number of health checks required to
1733
+ # determine its health status.
1734
+ #
1735
+ # If the target state is `unhealthy`, the reason code can be one of
1736
+ # the following values:
1737
+ #
1738
+ # * `Target.ResponseCodeMismatch` - The health checks did not return
1739
+ # an expected HTTP code.
1740
+ #
1741
+ # * `Target.Timeout` - The health check requests timed out.
1742
+ #
1743
+ # * `Target.FailedHealthChecks` - The health checks failed because the
1744
+ # connection to the target timed out, the target response was
1745
+ # malformed, or the target failed the health check for an unknown
1746
+ # reason.
1747
+ #
1748
+ # * `Elb.InternalError` - The health checks failed due to an internal
1749
+ # error.
1750
+ #
1751
+ # If the target state is `unused`, the reason code can be one of the
1752
+ # following values:
1753
+ #
1754
+ # * `Target.NotRegistered` - The target is not registered with the
1755
+ # target group.
1756
+ #
1757
+ # * `Target.NotInUse` - The target group is not used by any load
1758
+ # balancer or the target is in an Availability Zone that is not
1759
+ # enabled for its load balancer.
1760
+ #
1761
+ # * `Target.InvalidState` - The target is in the stopped or terminated
1762
+ # state.
1763
+ #
1764
+ # If the target state is `draining`, the reason code can be the
1765
+ # following value:
1766
+ #
1767
+ # * `Target.DeregistrationInProgress` - The target is in the process
1768
+ # of being deregistered and the deregistration delay period has not
1769
+ # expired.
1770
+ #
1771
+ # ^
1772
+ # @return [String]
1773
+ #
1774
+ # @!attribute [rw] description
1775
+ # A description of the target health that provides additional details.
1776
+ # If the state is `healthy`, a description is not provided.
1777
+ # @return [String]
1778
+ class TargetHealth < Struct.new(
1779
+ :state,
1780
+ :reason,
1781
+ :description)
1782
+ include Aws::Structure
1783
+ end
1784
+
1785
+ # Information about the health of a target.
1786
+ # @!attribute [rw] target
1787
+ # The description of the target.
1788
+ # @return [Types::TargetDescription]
1789
+ #
1790
+ # @!attribute [rw] health_check_port
1791
+ # The port to use to connect with the target.
1792
+ # @return [String]
1793
+ #
1794
+ # @!attribute [rw] target_health
1795
+ # The health information for the target.
1796
+ # @return [Types::TargetHealth]
1797
+ class TargetHealthDescription < Struct.new(
1798
+ :target,
1799
+ :health_check_port,
1800
+ :target_health)
1801
+ include Aws::Structure
1802
+ end
1803
+
1804
+ end
1805
+ end
1806
+ end