aws-sdk-elasticloadbalancing 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 ElasticLoadBalancing
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 ElasticLoadBalancing
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,1757 @@
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 ElasticLoadBalancing
10
+ module Types
11
+
12
+ # Information about the `AccessLog` attribute.
13
+ # @note When making an API call, pass AccessLog
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # enabled: false, # required
18
+ # s3_bucket_name: "S3BucketName",
19
+ # emit_interval: 1,
20
+ # s3_bucket_prefix: "AccessLogPrefix",
21
+ # }
22
+ # @!attribute [rw] enabled
23
+ # Specifies whether access logs are enabled for the load balancer.
24
+ # @return [Boolean]
25
+ #
26
+ # @!attribute [rw] s3_bucket_name
27
+ # The name of the Amazon S3 bucket where the access logs are stored.
28
+ # @return [String]
29
+ #
30
+ # @!attribute [rw] emit_interval
31
+ # The interval for publishing the access logs. You can specify an
32
+ # interval of either 5 minutes or 60 minutes.
33
+ #
34
+ # Default: 60 minutes
35
+ # @return [Integer]
36
+ #
37
+ # @!attribute [rw] s3_bucket_prefix
38
+ # The logical hierarchy you created for your Amazon S3 bucket, for
39
+ # example `my-bucket-prefix/prod`. If the prefix is not provided, the
40
+ # log is placed at the root level of the bucket.
41
+ # @return [String]
42
+ class AccessLog < Struct.new(
43
+ :enabled,
44
+ :s3_bucket_name,
45
+ :emit_interval,
46
+ :s3_bucket_prefix)
47
+ include Aws::Structure
48
+ end
49
+
50
+ # Contains the parameters for EnableAvailabilityZonesForLoadBalancer.
51
+ # @note When making an API call, pass AddAvailabilityZonesInput
52
+ # data as a hash:
53
+ #
54
+ # {
55
+ # load_balancer_name: "AccessPointName", # required
56
+ # availability_zones: ["AvailabilityZone"], # required
57
+ # }
58
+ # @!attribute [rw] load_balancer_name
59
+ # The name of the load balancer.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] availability_zones
63
+ # The Availability Zones. These must be in the same region as the load
64
+ # balancer.
65
+ # @return [Array<String>]
66
+ class AddAvailabilityZonesInput < Struct.new(
67
+ :load_balancer_name,
68
+ :availability_zones)
69
+ include Aws::Structure
70
+ end
71
+
72
+ # Contains the output of EnableAvailabilityZonesForLoadBalancer.
73
+ # @!attribute [rw] availability_zones
74
+ # The updated list of Availability Zones for the load balancer.
75
+ # @return [Array<String>]
76
+ class AddAvailabilityZonesOutput < Struct.new(
77
+ :availability_zones)
78
+ include Aws::Structure
79
+ end
80
+
81
+ # Contains the parameters for AddTags.
82
+ # @note When making an API call, pass AddTagsInput
83
+ # data as a hash:
84
+ #
85
+ # {
86
+ # load_balancer_names: ["AccessPointName"], # required
87
+ # tags: [ # required
88
+ # {
89
+ # key: "TagKey", # required
90
+ # value: "TagValue",
91
+ # },
92
+ # ],
93
+ # }
94
+ # @!attribute [rw] load_balancer_names
95
+ # The name of the load balancer. You can specify one load balancer
96
+ # only.
97
+ # @return [Array<String>]
98
+ #
99
+ # @!attribute [rw] tags
100
+ # The tags.
101
+ # @return [Array<Types::Tag>]
102
+ class AddTagsInput < Struct.new(
103
+ :load_balancer_names,
104
+ :tags)
105
+ include Aws::Structure
106
+ end
107
+
108
+ # Contains the output of AddTags.
109
+ class AddTagsOutput < Aws::EmptyStructure; end
110
+
111
+ # This data type is reserved.
112
+ # @note When making an API call, pass AdditionalAttribute
113
+ # data as a hash:
114
+ #
115
+ # {
116
+ # key: "AdditionalAttributeKey",
117
+ # value: "AdditionalAttributeValue",
118
+ # }
119
+ # @!attribute [rw] key
120
+ # This parameter is reserved.
121
+ # @return [String]
122
+ #
123
+ # @!attribute [rw] value
124
+ # This parameter is reserved.
125
+ # @return [String]
126
+ class AdditionalAttribute < Struct.new(
127
+ :key,
128
+ :value)
129
+ include Aws::Structure
130
+ end
131
+
132
+ # Information about a policy for application-controlled session
133
+ # stickiness.
134
+ # @!attribute [rw] policy_name
135
+ # The mnemonic name for the policy being created. The name must be
136
+ # unique within a set of policies for this load balancer.
137
+ # @return [String]
138
+ #
139
+ # @!attribute [rw] cookie_name
140
+ # The name of the application cookie used for stickiness.
141
+ # @return [String]
142
+ class AppCookieStickinessPolicy < Struct.new(
143
+ :policy_name,
144
+ :cookie_name)
145
+ include Aws::Structure
146
+ end
147
+
148
+ # Contains the parameters for ApplySecurityGroupsToLoadBalancer.
149
+ # @note When making an API call, pass ApplySecurityGroupsToLoadBalancerInput
150
+ # data as a hash:
151
+ #
152
+ # {
153
+ # load_balancer_name: "AccessPointName", # required
154
+ # security_groups: ["SecurityGroupId"], # required
155
+ # }
156
+ # @!attribute [rw] load_balancer_name
157
+ # The name of the load balancer.
158
+ # @return [String]
159
+ #
160
+ # @!attribute [rw] security_groups
161
+ # The IDs of the security groups to associate with the load balancer.
162
+ # Note that you cannot specify the name of the security group.
163
+ # @return [Array<String>]
164
+ class ApplySecurityGroupsToLoadBalancerInput < Struct.new(
165
+ :load_balancer_name,
166
+ :security_groups)
167
+ include Aws::Structure
168
+ end
169
+
170
+ # Contains the output of ApplySecurityGroupsToLoadBalancer.
171
+ # @!attribute [rw] security_groups
172
+ # The IDs of the security groups associated with the load balancer.
173
+ # @return [Array<String>]
174
+ class ApplySecurityGroupsToLoadBalancerOutput < Struct.new(
175
+ :security_groups)
176
+ include Aws::Structure
177
+ end
178
+
179
+ # Contains the parameters for AttachLoaBalancerToSubnets.
180
+ # @note When making an API call, pass AttachLoadBalancerToSubnetsInput
181
+ # data as a hash:
182
+ #
183
+ # {
184
+ # load_balancer_name: "AccessPointName", # required
185
+ # subnets: ["SubnetId"], # required
186
+ # }
187
+ # @!attribute [rw] load_balancer_name
188
+ # The name of the load balancer.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] subnets
192
+ # The IDs of the subnets to add. You can add only one subnet per
193
+ # Availability Zone.
194
+ # @return [Array<String>]
195
+ class AttachLoadBalancerToSubnetsInput < Struct.new(
196
+ :load_balancer_name,
197
+ :subnets)
198
+ include Aws::Structure
199
+ end
200
+
201
+ # Contains the output of AttachLoadBalancerToSubnets.
202
+ # @!attribute [rw] subnets
203
+ # The IDs of the subnets attached to the load balancer.
204
+ # @return [Array<String>]
205
+ class AttachLoadBalancerToSubnetsOutput < Struct.new(
206
+ :subnets)
207
+ include Aws::Structure
208
+ end
209
+
210
+ # Information about the configuration of an EC2 instance.
211
+ # @!attribute [rw] instance_port
212
+ # The port on which the EC2 instance is listening.
213
+ # @return [Integer]
214
+ #
215
+ # @!attribute [rw] policy_names
216
+ # The names of the policies enabled for the EC2 instance.
217
+ # @return [Array<String>]
218
+ class BackendServerDescription < Struct.new(
219
+ :instance_port,
220
+ :policy_names)
221
+ include Aws::Structure
222
+ end
223
+
224
+ # Contains the parameters for ConfigureHealthCheck.
225
+ # @note When making an API call, pass ConfigureHealthCheckInput
226
+ # data as a hash:
227
+ #
228
+ # {
229
+ # load_balancer_name: "AccessPointName", # required
230
+ # health_check: { # required
231
+ # target: "HealthCheckTarget", # required
232
+ # interval: 1, # required
233
+ # timeout: 1, # required
234
+ # unhealthy_threshold: 1, # required
235
+ # healthy_threshold: 1, # required
236
+ # },
237
+ # }
238
+ # @!attribute [rw] load_balancer_name
239
+ # The name of the load balancer.
240
+ # @return [String]
241
+ #
242
+ # @!attribute [rw] health_check
243
+ # The configuration information.
244
+ # @return [Types::HealthCheck]
245
+ class ConfigureHealthCheckInput < Struct.new(
246
+ :load_balancer_name,
247
+ :health_check)
248
+ include Aws::Structure
249
+ end
250
+
251
+ # Contains the output of ConfigureHealthCheck.
252
+ # @!attribute [rw] health_check
253
+ # The updated health check.
254
+ # @return [Types::HealthCheck]
255
+ class ConfigureHealthCheckOutput < Struct.new(
256
+ :health_check)
257
+ include Aws::Structure
258
+ end
259
+
260
+ # Information about the `ConnectionDraining` attribute.
261
+ # @note When making an API call, pass ConnectionDraining
262
+ # data as a hash:
263
+ #
264
+ # {
265
+ # enabled: false, # required
266
+ # timeout: 1,
267
+ # }
268
+ # @!attribute [rw] enabled
269
+ # Specifies whether connection draining is enabled for the load
270
+ # balancer.
271
+ # @return [Boolean]
272
+ #
273
+ # @!attribute [rw] timeout
274
+ # The maximum time, in seconds, to keep the existing connections open
275
+ # before deregistering the instances.
276
+ # @return [Integer]
277
+ class ConnectionDraining < Struct.new(
278
+ :enabled,
279
+ :timeout)
280
+ include Aws::Structure
281
+ end
282
+
283
+ # Information about the `ConnectionSettings` attribute.
284
+ # @note When making an API call, pass ConnectionSettings
285
+ # data as a hash:
286
+ #
287
+ # {
288
+ # idle_timeout: 1, # required
289
+ # }
290
+ # @!attribute [rw] idle_timeout
291
+ # The time, in seconds, that the connection is allowed to be idle (no
292
+ # data has been sent over the connection) before it is closed by the
293
+ # load balancer.
294
+ # @return [Integer]
295
+ class ConnectionSettings < Struct.new(
296
+ :idle_timeout)
297
+ include Aws::Structure
298
+ end
299
+
300
+ # Contains the parameters for CreateLoadBalancer.
301
+ # @note When making an API call, pass CreateAccessPointInput
302
+ # data as a hash:
303
+ #
304
+ # {
305
+ # load_balancer_name: "AccessPointName", # required
306
+ # listeners: [ # required
307
+ # {
308
+ # protocol: "Protocol", # required
309
+ # load_balancer_port: 1, # required
310
+ # instance_protocol: "Protocol",
311
+ # instance_port: 1, # required
312
+ # ssl_certificate_id: "SSLCertificateId",
313
+ # },
314
+ # ],
315
+ # availability_zones: ["AvailabilityZone"],
316
+ # subnets: ["SubnetId"],
317
+ # security_groups: ["SecurityGroupId"],
318
+ # scheme: "LoadBalancerScheme",
319
+ # tags: [
320
+ # {
321
+ # key: "TagKey", # required
322
+ # value: "TagValue",
323
+ # },
324
+ # ],
325
+ # }
326
+ # @!attribute [rw] load_balancer_name
327
+ # The name of the load balancer.
328
+ #
329
+ # This name must be unique within your set of load balancers for the
330
+ # region, must have a maximum of 32 characters, must contain only
331
+ # alphanumeric characters or hyphens, and cannot begin or end with a
332
+ # hyphen.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] listeners
336
+ # The listeners.
337
+ #
338
+ # For more information, see [Listeners for Your Classic Load
339
+ # Balancer][1] in the *Classic Load Balancers Guide*.
340
+ #
341
+ #
342
+ #
343
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html
344
+ # @return [Array<Types::Listener>]
345
+ #
346
+ # @!attribute [rw] availability_zones
347
+ # One or more Availability Zones from the same region as the load
348
+ # balancer.
349
+ #
350
+ # You must specify at least one Availability Zone.
351
+ #
352
+ # You can add more Availability Zones after you create the load
353
+ # balancer using EnableAvailabilityZonesForLoadBalancer.
354
+ # @return [Array<String>]
355
+ #
356
+ # @!attribute [rw] subnets
357
+ # The IDs of the subnets in your VPC to attach to the load balancer.
358
+ # Specify one subnet per Availability Zone specified in
359
+ # `AvailabilityZones`.
360
+ # @return [Array<String>]
361
+ #
362
+ # @!attribute [rw] security_groups
363
+ # The IDs of the security groups to assign to the load balancer.
364
+ # @return [Array<String>]
365
+ #
366
+ # @!attribute [rw] scheme
367
+ # The type of a load balancer. Valid only for load balancers in a VPC.
368
+ #
369
+ # By default, Elastic Load Balancing creates an Internet-facing load
370
+ # balancer with a DNS name that resolves to public IP addresses. For
371
+ # more information about Internet-facing and Internal load balancers,
372
+ # see [Load Balancer Scheme][1] in the *Elastic Load Balancing User
373
+ # Guide*.
374
+ #
375
+ # Specify `internal` to create a load balancer with a DNS name that
376
+ # resolves to private IP addresses.
377
+ #
378
+ #
379
+ #
380
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme
381
+ # @return [String]
382
+ #
383
+ # @!attribute [rw] tags
384
+ # A list of tags to assign to the load balancer.
385
+ #
386
+ # For more information about tagging your load balancer, see [Tag Your
387
+ # Classic Load Balancer][1] in the *Classic Load Balancers Guide*.
388
+ #
389
+ #
390
+ #
391
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html
392
+ # @return [Array<Types::Tag>]
393
+ class CreateAccessPointInput < Struct.new(
394
+ :load_balancer_name,
395
+ :listeners,
396
+ :availability_zones,
397
+ :subnets,
398
+ :security_groups,
399
+ :scheme,
400
+ :tags)
401
+ include Aws::Structure
402
+ end
403
+
404
+ # Contains the output for CreateLoadBalancer.
405
+ # @!attribute [rw] dns_name
406
+ # The DNS name of the load balancer.
407
+ # @return [String]
408
+ class CreateAccessPointOutput < Struct.new(
409
+ :dns_name)
410
+ include Aws::Structure
411
+ end
412
+
413
+ # Contains the parameters for CreateAppCookieStickinessPolicy.
414
+ # @note When making an API call, pass CreateAppCookieStickinessPolicyInput
415
+ # data as a hash:
416
+ #
417
+ # {
418
+ # load_balancer_name: "AccessPointName", # required
419
+ # policy_name: "PolicyName", # required
420
+ # cookie_name: "CookieName", # required
421
+ # }
422
+ # @!attribute [rw] load_balancer_name
423
+ # The name of the load balancer.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] policy_name
427
+ # The name of the policy being created. Policy names must consist of
428
+ # alphanumeric characters and dashes (-). This name must be unique
429
+ # within the set of policies for this load balancer.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] cookie_name
433
+ # The name of the application cookie used for stickiness.
434
+ # @return [String]
435
+ class CreateAppCookieStickinessPolicyInput < Struct.new(
436
+ :load_balancer_name,
437
+ :policy_name,
438
+ :cookie_name)
439
+ include Aws::Structure
440
+ end
441
+
442
+ # Contains the output for CreateAppCookieStickinessPolicy.
443
+ class CreateAppCookieStickinessPolicyOutput < Aws::EmptyStructure; end
444
+
445
+ # Contains the parameters for CreateLBCookieStickinessPolicy.
446
+ # @note When making an API call, pass CreateLBCookieStickinessPolicyInput
447
+ # data as a hash:
448
+ #
449
+ # {
450
+ # load_balancer_name: "AccessPointName", # required
451
+ # policy_name: "PolicyName", # required
452
+ # cookie_expiration_period: 1,
453
+ # }
454
+ # @!attribute [rw] load_balancer_name
455
+ # The name of the load balancer.
456
+ # @return [String]
457
+ #
458
+ # @!attribute [rw] policy_name
459
+ # The name of the policy being created. Policy names must consist of
460
+ # alphanumeric characters and dashes (-). This name must be unique
461
+ # within the set of policies for this load balancer.
462
+ # @return [String]
463
+ #
464
+ # @!attribute [rw] cookie_expiration_period
465
+ # The time period, in seconds, after which the cookie should be
466
+ # considered stale. If you do not specify this parameter, the default
467
+ # value is 0, which indicates that the sticky session should last for
468
+ # the duration of the browser session.
469
+ # @return [Integer]
470
+ class CreateLBCookieStickinessPolicyInput < Struct.new(
471
+ :load_balancer_name,
472
+ :policy_name,
473
+ :cookie_expiration_period)
474
+ include Aws::Structure
475
+ end
476
+
477
+ # Contains the output for CreateLBCookieStickinessPolicy.
478
+ class CreateLBCookieStickinessPolicyOutput < Aws::EmptyStructure; end
479
+
480
+ # Contains the parameters for CreateLoadBalancerListeners.
481
+ # @note When making an API call, pass CreateLoadBalancerListenerInput
482
+ # data as a hash:
483
+ #
484
+ # {
485
+ # load_balancer_name: "AccessPointName", # required
486
+ # listeners: [ # required
487
+ # {
488
+ # protocol: "Protocol", # required
489
+ # load_balancer_port: 1, # required
490
+ # instance_protocol: "Protocol",
491
+ # instance_port: 1, # required
492
+ # ssl_certificate_id: "SSLCertificateId",
493
+ # },
494
+ # ],
495
+ # }
496
+ # @!attribute [rw] load_balancer_name
497
+ # The name of the load balancer.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] listeners
501
+ # The listeners.
502
+ # @return [Array<Types::Listener>]
503
+ class CreateLoadBalancerListenerInput < Struct.new(
504
+ :load_balancer_name,
505
+ :listeners)
506
+ include Aws::Structure
507
+ end
508
+
509
+ # Contains the parameters for CreateLoadBalancerListener.
510
+ class CreateLoadBalancerListenerOutput < Aws::EmptyStructure; end
511
+
512
+ # Contains the parameters for CreateLoadBalancerPolicy.
513
+ # @note When making an API call, pass CreateLoadBalancerPolicyInput
514
+ # data as a hash:
515
+ #
516
+ # {
517
+ # load_balancer_name: "AccessPointName", # required
518
+ # policy_name: "PolicyName", # required
519
+ # policy_type_name: "PolicyTypeName", # required
520
+ # policy_attributes: [
521
+ # {
522
+ # attribute_name: "AttributeName",
523
+ # attribute_value: "AttributeValue",
524
+ # },
525
+ # ],
526
+ # }
527
+ # @!attribute [rw] load_balancer_name
528
+ # The name of the load balancer.
529
+ # @return [String]
530
+ #
531
+ # @!attribute [rw] policy_name
532
+ # The name of the load balancer policy to be created. This name must
533
+ # be unique within the set of policies for this load balancer.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] policy_type_name
537
+ # The name of the base policy type. To get the list of policy types,
538
+ # use DescribeLoadBalancerPolicyTypes.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] policy_attributes
542
+ # The policy attributes.
543
+ # @return [Array<Types::PolicyAttribute>]
544
+ class CreateLoadBalancerPolicyInput < Struct.new(
545
+ :load_balancer_name,
546
+ :policy_name,
547
+ :policy_type_name,
548
+ :policy_attributes)
549
+ include Aws::Structure
550
+ end
551
+
552
+ # Contains the output of CreateLoadBalancerPolicy.
553
+ class CreateLoadBalancerPolicyOutput < Aws::EmptyStructure; end
554
+
555
+ # Information about the `CrossZoneLoadBalancing` attribute.
556
+ # @note When making an API call, pass CrossZoneLoadBalancing
557
+ # data as a hash:
558
+ #
559
+ # {
560
+ # enabled: false, # required
561
+ # }
562
+ # @!attribute [rw] enabled
563
+ # Specifies whether cross-zone load balancing is enabled for the load
564
+ # balancer.
565
+ # @return [Boolean]
566
+ class CrossZoneLoadBalancing < Struct.new(
567
+ :enabled)
568
+ include Aws::Structure
569
+ end
570
+
571
+ # Contains the parameters for DeleteLoadBalancer.
572
+ # @note When making an API call, pass DeleteAccessPointInput
573
+ # data as a hash:
574
+ #
575
+ # {
576
+ # load_balancer_name: "AccessPointName", # required
577
+ # }
578
+ # @!attribute [rw] load_balancer_name
579
+ # The name of the load balancer.
580
+ # @return [String]
581
+ class DeleteAccessPointInput < Struct.new(
582
+ :load_balancer_name)
583
+ include Aws::Structure
584
+ end
585
+
586
+ # Contains the output of DeleteLoadBalancer.
587
+ class DeleteAccessPointOutput < Aws::EmptyStructure; end
588
+
589
+ # Contains the parameters for DeleteLoadBalancerListeners.
590
+ # @note When making an API call, pass DeleteLoadBalancerListenerInput
591
+ # data as a hash:
592
+ #
593
+ # {
594
+ # load_balancer_name: "AccessPointName", # required
595
+ # load_balancer_ports: [1], # required
596
+ # }
597
+ # @!attribute [rw] load_balancer_name
598
+ # The name of the load balancer.
599
+ # @return [String]
600
+ #
601
+ # @!attribute [rw] load_balancer_ports
602
+ # The client port numbers of the listeners.
603
+ # @return [Array<Integer>]
604
+ class DeleteLoadBalancerListenerInput < Struct.new(
605
+ :load_balancer_name,
606
+ :load_balancer_ports)
607
+ include Aws::Structure
608
+ end
609
+
610
+ # Contains the output of DeleteLoadBalancerListeners.
611
+ class DeleteLoadBalancerListenerOutput < Aws::EmptyStructure; end
612
+
613
+ # Contains the parameters for DeleteLoadBalancerPolicy.
614
+ # @note When making an API call, pass DeleteLoadBalancerPolicyInput
615
+ # data as a hash:
616
+ #
617
+ # {
618
+ # load_balancer_name: "AccessPointName", # required
619
+ # policy_name: "PolicyName", # required
620
+ # }
621
+ # @!attribute [rw] load_balancer_name
622
+ # The name of the load balancer.
623
+ # @return [String]
624
+ #
625
+ # @!attribute [rw] policy_name
626
+ # The name of the policy.
627
+ # @return [String]
628
+ class DeleteLoadBalancerPolicyInput < Struct.new(
629
+ :load_balancer_name,
630
+ :policy_name)
631
+ include Aws::Structure
632
+ end
633
+
634
+ # Contains the output of DeleteLoadBalancerPolicy.
635
+ class DeleteLoadBalancerPolicyOutput < Aws::EmptyStructure; end
636
+
637
+ # Contains the parameters for DeregisterInstancesFromLoadBalancer.
638
+ # @note When making an API call, pass DeregisterEndPointsInput
639
+ # data as a hash:
640
+ #
641
+ # {
642
+ # load_balancer_name: "AccessPointName", # required
643
+ # instances: [ # required
644
+ # {
645
+ # instance_id: "InstanceId",
646
+ # },
647
+ # ],
648
+ # }
649
+ # @!attribute [rw] load_balancer_name
650
+ # The name of the load balancer.
651
+ # @return [String]
652
+ #
653
+ # @!attribute [rw] instances
654
+ # The IDs of the instances.
655
+ # @return [Array<Types::Instance>]
656
+ class DeregisterEndPointsInput < Struct.new(
657
+ :load_balancer_name,
658
+ :instances)
659
+ include Aws::Structure
660
+ end
661
+
662
+ # Contains the output of DeregisterInstancesFromLoadBalancer.
663
+ # @!attribute [rw] instances
664
+ # The remaining instances registered with the load balancer.
665
+ # @return [Array<Types::Instance>]
666
+ class DeregisterEndPointsOutput < Struct.new(
667
+ :instances)
668
+ include Aws::Structure
669
+ end
670
+
671
+ # Contains the parameters for DescribeLoadBalancers.
672
+ # @note When making an API call, pass DescribeAccessPointsInput
673
+ # data as a hash:
674
+ #
675
+ # {
676
+ # load_balancer_names: ["AccessPointName"],
677
+ # marker: "Marker",
678
+ # page_size: 1,
679
+ # }
680
+ # @!attribute [rw] load_balancer_names
681
+ # The names of the load balancers.
682
+ # @return [Array<String>]
683
+ #
684
+ # @!attribute [rw] marker
685
+ # The marker for the next set of results. (You received this marker
686
+ # from a previous call.)
687
+ # @return [String]
688
+ #
689
+ # @!attribute [rw] page_size
690
+ # The maximum number of results to return with this call (a number
691
+ # from 1 to 400). The default is 400.
692
+ # @return [Integer]
693
+ class DescribeAccessPointsInput < Struct.new(
694
+ :load_balancer_names,
695
+ :marker,
696
+ :page_size)
697
+ include Aws::Structure
698
+ end
699
+
700
+ # Contains the parameters for DescribeLoadBalancers.
701
+ # @!attribute [rw] load_balancer_descriptions
702
+ # Information about the load balancers.
703
+ # @return [Array<Types::LoadBalancerDescription>]
704
+ #
705
+ # @!attribute [rw] next_marker
706
+ # The marker to use when requesting the next set of results. If there
707
+ # are no additional results, the string is empty.
708
+ # @return [String]
709
+ class DescribeAccessPointsOutput < Struct.new(
710
+ :load_balancer_descriptions,
711
+ :next_marker)
712
+ include Aws::Structure
713
+ end
714
+
715
+ # Contains the parameters for DescribeInstanceHealth.
716
+ # @note When making an API call, pass DescribeEndPointStateInput
717
+ # data as a hash:
718
+ #
719
+ # {
720
+ # load_balancer_name: "AccessPointName", # required
721
+ # instances: [
722
+ # {
723
+ # instance_id: "InstanceId",
724
+ # },
725
+ # ],
726
+ # }
727
+ # @!attribute [rw] load_balancer_name
728
+ # The name of the load balancer.
729
+ # @return [String]
730
+ #
731
+ # @!attribute [rw] instances
732
+ # The IDs of the instances.
733
+ # @return [Array<Types::Instance>]
734
+ class DescribeEndPointStateInput < Struct.new(
735
+ :load_balancer_name,
736
+ :instances)
737
+ include Aws::Structure
738
+ end
739
+
740
+ # Contains the output for DescribeInstanceHealth.
741
+ # @!attribute [rw] instance_states
742
+ # Information about the health of the instances.
743
+ # @return [Array<Types::InstanceState>]
744
+ class DescribeEndPointStateOutput < Struct.new(
745
+ :instance_states)
746
+ include Aws::Structure
747
+ end
748
+
749
+ # Contains the parameters for DescribeLoadBalancerAttributes.
750
+ # @note When making an API call, pass DescribeLoadBalancerAttributesInput
751
+ # data as a hash:
752
+ #
753
+ # {
754
+ # load_balancer_name: "AccessPointName", # required
755
+ # }
756
+ # @!attribute [rw] load_balancer_name
757
+ # The name of the load balancer.
758
+ # @return [String]
759
+ class DescribeLoadBalancerAttributesInput < Struct.new(
760
+ :load_balancer_name)
761
+ include Aws::Structure
762
+ end
763
+
764
+ # Contains the output of DescribeLoadBalancerAttributes.
765
+ # @!attribute [rw] load_balancer_attributes
766
+ # Information about the load balancer attributes.
767
+ # @return [Types::LoadBalancerAttributes]
768
+ class DescribeLoadBalancerAttributesOutput < Struct.new(
769
+ :load_balancer_attributes)
770
+ include Aws::Structure
771
+ end
772
+
773
+ # Contains the parameters for DescribeLoadBalancerPolicies.
774
+ # @note When making an API call, pass DescribeLoadBalancerPoliciesInput
775
+ # data as a hash:
776
+ #
777
+ # {
778
+ # load_balancer_name: "AccessPointName",
779
+ # policy_names: ["PolicyName"],
780
+ # }
781
+ # @!attribute [rw] load_balancer_name
782
+ # The name of the load balancer.
783
+ # @return [String]
784
+ #
785
+ # @!attribute [rw] policy_names
786
+ # The names of the policies.
787
+ # @return [Array<String>]
788
+ class DescribeLoadBalancerPoliciesInput < Struct.new(
789
+ :load_balancer_name,
790
+ :policy_names)
791
+ include Aws::Structure
792
+ end
793
+
794
+ # Contains the output of DescribeLoadBalancerPolicies.
795
+ # @!attribute [rw] policy_descriptions
796
+ # Information about the policies.
797
+ # @return [Array<Types::PolicyDescription>]
798
+ class DescribeLoadBalancerPoliciesOutput < Struct.new(
799
+ :policy_descriptions)
800
+ include Aws::Structure
801
+ end
802
+
803
+ # Contains the parameters for DescribeLoadBalancerPolicyTypes.
804
+ # @note When making an API call, pass DescribeLoadBalancerPolicyTypesInput
805
+ # data as a hash:
806
+ #
807
+ # {
808
+ # policy_type_names: ["PolicyTypeName"],
809
+ # }
810
+ # @!attribute [rw] policy_type_names
811
+ # The names of the policy types. If no names are specified, describes
812
+ # all policy types defined by Elastic Load Balancing.
813
+ # @return [Array<String>]
814
+ class DescribeLoadBalancerPolicyTypesInput < Struct.new(
815
+ :policy_type_names)
816
+ include Aws::Structure
817
+ end
818
+
819
+ # Contains the output of DescribeLoadBalancerPolicyTypes.
820
+ # @!attribute [rw] policy_type_descriptions
821
+ # Information about the policy types.
822
+ # @return [Array<Types::PolicyTypeDescription>]
823
+ class DescribeLoadBalancerPolicyTypesOutput < Struct.new(
824
+ :policy_type_descriptions)
825
+ include Aws::Structure
826
+ end
827
+
828
+ # Contains the parameters for DescribeTags.
829
+ # @note When making an API call, pass DescribeTagsInput
830
+ # data as a hash:
831
+ #
832
+ # {
833
+ # load_balancer_names: ["AccessPointName"], # required
834
+ # }
835
+ # @!attribute [rw] load_balancer_names
836
+ # The names of the load balancers.
837
+ # @return [Array<String>]
838
+ class DescribeTagsInput < Struct.new(
839
+ :load_balancer_names)
840
+ include Aws::Structure
841
+ end
842
+
843
+ # Contains the output for DescribeTags.
844
+ # @!attribute [rw] tag_descriptions
845
+ # Information about the tags.
846
+ # @return [Array<Types::TagDescription>]
847
+ class DescribeTagsOutput < Struct.new(
848
+ :tag_descriptions)
849
+ include Aws::Structure
850
+ end
851
+
852
+ # Contains the parameters for DetachLoadBalancerFromSubnets.
853
+ # @note When making an API call, pass DetachLoadBalancerFromSubnetsInput
854
+ # data as a hash:
855
+ #
856
+ # {
857
+ # load_balancer_name: "AccessPointName", # required
858
+ # subnets: ["SubnetId"], # required
859
+ # }
860
+ # @!attribute [rw] load_balancer_name
861
+ # The name of the load balancer.
862
+ # @return [String]
863
+ #
864
+ # @!attribute [rw] subnets
865
+ # The IDs of the subnets.
866
+ # @return [Array<String>]
867
+ class DetachLoadBalancerFromSubnetsInput < Struct.new(
868
+ :load_balancer_name,
869
+ :subnets)
870
+ include Aws::Structure
871
+ end
872
+
873
+ # Contains the output of DetachLoadBalancerFromSubnets.
874
+ # @!attribute [rw] subnets
875
+ # The IDs of the remaining subnets for the load balancer.
876
+ # @return [Array<String>]
877
+ class DetachLoadBalancerFromSubnetsOutput < Struct.new(
878
+ :subnets)
879
+ include Aws::Structure
880
+ end
881
+
882
+ # Information about a health check.
883
+ # @note When making an API call, pass HealthCheck
884
+ # data as a hash:
885
+ #
886
+ # {
887
+ # target: "HealthCheckTarget", # required
888
+ # interval: 1, # required
889
+ # timeout: 1, # required
890
+ # unhealthy_threshold: 1, # required
891
+ # healthy_threshold: 1, # required
892
+ # }
893
+ # @!attribute [rw] target
894
+ # The instance being checked. The protocol is either TCP, HTTP, HTTPS,
895
+ # or SSL. The range of valid ports is one (1) through 65535.
896
+ #
897
+ # TCP is the default, specified as a TCP: port pair, for example
898
+ # "TCP:5000". In this case, a health check simply attempts to open a
899
+ # TCP connection to the instance on the specified port. Failure to
900
+ # connect within the configured timeout is considered unhealthy.
901
+ #
902
+ # SSL is also specified as SSL: port pair, for example, SSL:5000.
903
+ #
904
+ # For HTTP/HTTPS, you must include a ping path in the string. HTTP is
905
+ # specified as a HTTP:port;/;PathToPing; grouping, for example
906
+ # "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request
907
+ # is issued to the instance on the given port and path. Any answer
908
+ # other than "200 OK" within the timeout period is considered
909
+ # unhealthy.
910
+ #
911
+ # The total length of the HTTP ping target must be 1024 16-bit Unicode
912
+ # characters or less.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] interval
916
+ # The approximate interval, in seconds, between health checks of an
917
+ # individual instance.
918
+ # @return [Integer]
919
+ #
920
+ # @!attribute [rw] timeout
921
+ # The amount of time, in seconds, during which no response means a
922
+ # failed health check.
923
+ #
924
+ # This value must be less than the `Interval` value.
925
+ # @return [Integer]
926
+ #
927
+ # @!attribute [rw] unhealthy_threshold
928
+ # The number of consecutive health check failures required before
929
+ # moving the instance to the `Unhealthy` state.
930
+ # @return [Integer]
931
+ #
932
+ # @!attribute [rw] healthy_threshold
933
+ # The number of consecutive health checks successes required before
934
+ # moving the instance to the `Healthy` state.
935
+ # @return [Integer]
936
+ class HealthCheck < Struct.new(
937
+ :target,
938
+ :interval,
939
+ :timeout,
940
+ :unhealthy_threshold,
941
+ :healthy_threshold)
942
+ include Aws::Structure
943
+ end
944
+
945
+ # The ID of an EC2 instance.
946
+ # @note When making an API call, pass Instance
947
+ # data as a hash:
948
+ #
949
+ # {
950
+ # instance_id: "InstanceId",
951
+ # }
952
+ # @!attribute [rw] instance_id
953
+ # The instance ID.
954
+ # @return [String]
955
+ class Instance < Struct.new(
956
+ :instance_id)
957
+ include Aws::Structure
958
+ end
959
+
960
+ # Information about the state of an EC2 instance.
961
+ # @!attribute [rw] instance_id
962
+ # The ID of the instance.
963
+ # @return [String]
964
+ #
965
+ # @!attribute [rw] state
966
+ # The current state of the instance.
967
+ #
968
+ # Valid values: `InService` \| `OutOfService` \| `Unknown`
969
+ # @return [String]
970
+ #
971
+ # @!attribute [rw] reason_code
972
+ # Information about the cause of `OutOfService` instances.
973
+ # Specifically, whether the cause is Elastic Load Balancing or the
974
+ # instance.
975
+ #
976
+ # Valid values: `ELB` \| `Instance` \| `N/A`
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] description
980
+ # A description of the instance state. This string can contain one or
981
+ # more of the following messages.
982
+ #
983
+ # * `N/A`
984
+ #
985
+ # * `A transient error occurred. Please try again later.`
986
+ #
987
+ # * `Instance has failed at least the UnhealthyThreshold number of
988
+ # health checks consecutively.`
989
+ #
990
+ # * `Instance has not passed the configured HealthyThreshold number of
991
+ # health checks consecutively.`
992
+ #
993
+ # * `Instance registration is still in progress.`
994
+ #
995
+ # * `Instance is in the EC2 Availability Zone for which LoadBalancer
996
+ # is not configured to route traffic to.`
997
+ #
998
+ # * `Instance is not currently registered with the LoadBalancer.`
999
+ #
1000
+ # * `Instance deregistration currently in progress.`
1001
+ #
1002
+ # * `Disable Availability Zone is currently in progress.`
1003
+ #
1004
+ # * `Instance is in pending state.`
1005
+ #
1006
+ # * `Instance is in stopped state.`
1007
+ #
1008
+ # * `Instance is in terminated state.`
1009
+ # @return [String]
1010
+ class InstanceState < Struct.new(
1011
+ :instance_id,
1012
+ :state,
1013
+ :reason_code,
1014
+ :description)
1015
+ include Aws::Structure
1016
+ end
1017
+
1018
+ # Information about a policy for duration-based session stickiness.
1019
+ # @!attribute [rw] policy_name
1020
+ # The name of the policy. This name must be unique within the set of
1021
+ # policies for this load balancer.
1022
+ # @return [String]
1023
+ #
1024
+ # @!attribute [rw] cookie_expiration_period
1025
+ # The time period, in seconds, after which the cookie should be
1026
+ # considered stale. If this parameter is not specified, the stickiness
1027
+ # session lasts for the duration of the browser session.
1028
+ # @return [Integer]
1029
+ class LBCookieStickinessPolicy < Struct.new(
1030
+ :policy_name,
1031
+ :cookie_expiration_period)
1032
+ include Aws::Structure
1033
+ end
1034
+
1035
+ # Information about a listener.
1036
+ #
1037
+ # For information about the protocols and the ports supported by Elastic
1038
+ # Load Balancing, see [Listeners for Your Classic Load Balancer][1] in
1039
+ # the *Classic Load Balancers Guide*.
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html
1044
+ # @note When making an API call, pass Listener
1045
+ # data as a hash:
1046
+ #
1047
+ # {
1048
+ # protocol: "Protocol", # required
1049
+ # load_balancer_port: 1, # required
1050
+ # instance_protocol: "Protocol",
1051
+ # instance_port: 1, # required
1052
+ # ssl_certificate_id: "SSLCertificateId",
1053
+ # }
1054
+ # @!attribute [rw] protocol
1055
+ # The load balancer transport protocol to use for routing: HTTP,
1056
+ # HTTPS, TCP, or SSL.
1057
+ # @return [String]
1058
+ #
1059
+ # @!attribute [rw] load_balancer_port
1060
+ # The port on which the load balancer is listening. On EC2-VPC, you
1061
+ # can specify any port from the range 1-65535. On EC2-Classic, you can
1062
+ # specify any port from the following list: 25, 80, 443, 465, 587,
1063
+ # 1024-65535.
1064
+ # @return [Integer]
1065
+ #
1066
+ # @!attribute [rw] instance_protocol
1067
+ # The protocol to use for routing traffic to instances: HTTP, HTTPS,
1068
+ # TCP, or SSL.
1069
+ #
1070
+ # If the front-end protocol is HTTP, HTTPS, TCP, or SSL,
1071
+ # `InstanceProtocol` must be at the same protocol.
1072
+ #
1073
+ # If there is another listener with the same `InstancePort` whose
1074
+ # `InstanceProtocol` is secure, (HTTPS or SSL), the listener's
1075
+ # `InstanceProtocol` must also be secure.
1076
+ #
1077
+ # If there is another listener with the same `InstancePort` whose
1078
+ # `InstanceProtocol` is HTTP or TCP, the listener's
1079
+ # `InstanceProtocol` must be HTTP or TCP.
1080
+ # @return [String]
1081
+ #
1082
+ # @!attribute [rw] instance_port
1083
+ # The port on which the instance is listening.
1084
+ # @return [Integer]
1085
+ #
1086
+ # @!attribute [rw] ssl_certificate_id
1087
+ # The Amazon Resource Name (ARN) of the server certificate.
1088
+ # @return [String]
1089
+ class Listener < Struct.new(
1090
+ :protocol,
1091
+ :load_balancer_port,
1092
+ :instance_protocol,
1093
+ :instance_port,
1094
+ :ssl_certificate_id)
1095
+ include Aws::Structure
1096
+ end
1097
+
1098
+ # The policies enabled for a listener.
1099
+ # @!attribute [rw] listener
1100
+ # Information about a listener.
1101
+ #
1102
+ # For information about the protocols and the ports supported by
1103
+ # Elastic Load Balancing, see [Listeners for Your Classic Load
1104
+ # Balancer][1] in the *Classic Load Balancers Guide*.
1105
+ #
1106
+ #
1107
+ #
1108
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html
1109
+ # @return [Types::Listener]
1110
+ #
1111
+ # @!attribute [rw] policy_names
1112
+ # The policies. If there are no policies enabled, the list is empty.
1113
+ # @return [Array<String>]
1114
+ class ListenerDescription < Struct.new(
1115
+ :listener,
1116
+ :policy_names)
1117
+ include Aws::Structure
1118
+ end
1119
+
1120
+ # The attributes for a load balancer.
1121
+ # @note When making an API call, pass LoadBalancerAttributes
1122
+ # data as a hash:
1123
+ #
1124
+ # {
1125
+ # cross_zone_load_balancing: {
1126
+ # enabled: false, # required
1127
+ # },
1128
+ # access_log: {
1129
+ # enabled: false, # required
1130
+ # s3_bucket_name: "S3BucketName",
1131
+ # emit_interval: 1,
1132
+ # s3_bucket_prefix: "AccessLogPrefix",
1133
+ # },
1134
+ # connection_draining: {
1135
+ # enabled: false, # required
1136
+ # timeout: 1,
1137
+ # },
1138
+ # connection_settings: {
1139
+ # idle_timeout: 1, # required
1140
+ # },
1141
+ # additional_attributes: [
1142
+ # {
1143
+ # key: "AdditionalAttributeKey",
1144
+ # value: "AdditionalAttributeValue",
1145
+ # },
1146
+ # ],
1147
+ # }
1148
+ # @!attribute [rw] cross_zone_load_balancing
1149
+ # If enabled, the load balancer routes the request traffic evenly
1150
+ # across all instances regardless of the Availability Zones.
1151
+ #
1152
+ # For more information, see [Configure Cross-Zone Load Balancing][1]
1153
+ # in the *Classic Load Balancers Guide*.
1154
+ #
1155
+ #
1156
+ #
1157
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html
1158
+ # @return [Types::CrossZoneLoadBalancing]
1159
+ #
1160
+ # @!attribute [rw] access_log
1161
+ # If enabled, the load balancer captures detailed information of all
1162
+ # requests and delivers the information to the Amazon S3 bucket that
1163
+ # you specify.
1164
+ #
1165
+ # For more information, see [Enable Access Logs][1] in the *Classic
1166
+ # Load Balancers Guide*.
1167
+ #
1168
+ #
1169
+ #
1170
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html
1171
+ # @return [Types::AccessLog]
1172
+ #
1173
+ # @!attribute [rw] connection_draining
1174
+ # If enabled, the load balancer allows existing requests to complete
1175
+ # before the load balancer shifts traffic away from a deregistered or
1176
+ # unhealthy instance.
1177
+ #
1178
+ # For more information, see [Configure Connection Draining][1] in the
1179
+ # *Classic Load Balancers Guide*.
1180
+ #
1181
+ #
1182
+ #
1183
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html
1184
+ # @return [Types::ConnectionDraining]
1185
+ #
1186
+ # @!attribute [rw] connection_settings
1187
+ # If enabled, the load balancer allows the connections to remain idle
1188
+ # (no data is sent over the connection) for the specified duration.
1189
+ #
1190
+ # By default, Elastic Load Balancing maintains a 60-second idle
1191
+ # connection timeout for both front-end and back-end connections of
1192
+ # your load balancer. For more information, see [Configure Idle
1193
+ # Connection Timeout][1] in the *Classic Load Balancers Guide*.
1194
+ #
1195
+ #
1196
+ #
1197
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
1198
+ # @return [Types::ConnectionSettings]
1199
+ #
1200
+ # @!attribute [rw] additional_attributes
1201
+ # This parameter is reserved.
1202
+ # @return [Array<Types::AdditionalAttribute>]
1203
+ class LoadBalancerAttributes < Struct.new(
1204
+ :cross_zone_load_balancing,
1205
+ :access_log,
1206
+ :connection_draining,
1207
+ :connection_settings,
1208
+ :additional_attributes)
1209
+ include Aws::Structure
1210
+ end
1211
+
1212
+ # Information about a load balancer.
1213
+ # @!attribute [rw] load_balancer_name
1214
+ # The name of the load balancer.
1215
+ # @return [String]
1216
+ #
1217
+ # @!attribute [rw] dns_name
1218
+ # The DNS name of the load balancer.
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] canonical_hosted_zone_name
1222
+ # The DNS name of the load balancer.
1223
+ #
1224
+ # For more information, see [Configure a Custom Domain Name][1] in the
1225
+ # *Classic Load Balancers Guide*.
1226
+ #
1227
+ #
1228
+ #
1229
+ # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html
1230
+ # @return [String]
1231
+ #
1232
+ # @!attribute [rw] canonical_hosted_zone_name_id
1233
+ # The ID of the Amazon Route 53 hosted zone for the load balancer.
1234
+ # @return [String]
1235
+ #
1236
+ # @!attribute [rw] listener_descriptions
1237
+ # The listeners for the load balancer.
1238
+ # @return [Array<Types::ListenerDescription>]
1239
+ #
1240
+ # @!attribute [rw] policies
1241
+ # The policies defined for the load balancer.
1242
+ # @return [Types::Policies]
1243
+ #
1244
+ # @!attribute [rw] backend_server_descriptions
1245
+ # Information about your EC2 instances.
1246
+ # @return [Array<Types::BackendServerDescription>]
1247
+ #
1248
+ # @!attribute [rw] availability_zones
1249
+ # The Availability Zones for the load balancer.
1250
+ # @return [Array<String>]
1251
+ #
1252
+ # @!attribute [rw] subnets
1253
+ # The IDs of the subnets for the load balancer.
1254
+ # @return [Array<String>]
1255
+ #
1256
+ # @!attribute [rw] vpc_id
1257
+ # The ID of the VPC for the load balancer.
1258
+ # @return [String]
1259
+ #
1260
+ # @!attribute [rw] instances
1261
+ # The IDs of the instances for the load balancer.
1262
+ # @return [Array<Types::Instance>]
1263
+ #
1264
+ # @!attribute [rw] health_check
1265
+ # Information about the health checks conducted on the load balancer.
1266
+ # @return [Types::HealthCheck]
1267
+ #
1268
+ # @!attribute [rw] source_security_group
1269
+ # The security group for the load balancer, which you can use as part
1270
+ # of your inbound rules for your registered instances. To only allow
1271
+ # traffic from load balancers, add a security group rule that
1272
+ # specifies this source security group as the inbound source.
1273
+ # @return [Types::SourceSecurityGroup]
1274
+ #
1275
+ # @!attribute [rw] security_groups
1276
+ # The security groups for the load balancer. Valid only for load
1277
+ # balancers in a VPC.
1278
+ # @return [Array<String>]
1279
+ #
1280
+ # @!attribute [rw] created_time
1281
+ # The date and time the load balancer was created.
1282
+ # @return [Time]
1283
+ #
1284
+ # @!attribute [rw] scheme
1285
+ # The type of load balancer. Valid only for load balancers in a VPC.
1286
+ #
1287
+ # If `Scheme` is `internet-facing`, the load balancer has a public DNS
1288
+ # name that resolves to a public IP address.
1289
+ #
1290
+ # If `Scheme` is `internal`, the load balancer has a public DNS name
1291
+ # that resolves to a private IP address.
1292
+ # @return [String]
1293
+ class LoadBalancerDescription < Struct.new(
1294
+ :load_balancer_name,
1295
+ :dns_name,
1296
+ :canonical_hosted_zone_name,
1297
+ :canonical_hosted_zone_name_id,
1298
+ :listener_descriptions,
1299
+ :policies,
1300
+ :backend_server_descriptions,
1301
+ :availability_zones,
1302
+ :subnets,
1303
+ :vpc_id,
1304
+ :instances,
1305
+ :health_check,
1306
+ :source_security_group,
1307
+ :security_groups,
1308
+ :created_time,
1309
+ :scheme)
1310
+ include Aws::Structure
1311
+ end
1312
+
1313
+ # Contains the parameters for ModifyLoadBalancerAttributes.
1314
+ # @note When making an API call, pass ModifyLoadBalancerAttributesInput
1315
+ # data as a hash:
1316
+ #
1317
+ # {
1318
+ # load_balancer_name: "AccessPointName", # required
1319
+ # load_balancer_attributes: { # required
1320
+ # cross_zone_load_balancing: {
1321
+ # enabled: false, # required
1322
+ # },
1323
+ # access_log: {
1324
+ # enabled: false, # required
1325
+ # s3_bucket_name: "S3BucketName",
1326
+ # emit_interval: 1,
1327
+ # s3_bucket_prefix: "AccessLogPrefix",
1328
+ # },
1329
+ # connection_draining: {
1330
+ # enabled: false, # required
1331
+ # timeout: 1,
1332
+ # },
1333
+ # connection_settings: {
1334
+ # idle_timeout: 1, # required
1335
+ # },
1336
+ # additional_attributes: [
1337
+ # {
1338
+ # key: "AdditionalAttributeKey",
1339
+ # value: "AdditionalAttributeValue",
1340
+ # },
1341
+ # ],
1342
+ # },
1343
+ # }
1344
+ # @!attribute [rw] load_balancer_name
1345
+ # The name of the load balancer.
1346
+ # @return [String]
1347
+ #
1348
+ # @!attribute [rw] load_balancer_attributes
1349
+ # The attributes of the load balancer.
1350
+ # @return [Types::LoadBalancerAttributes]
1351
+ class ModifyLoadBalancerAttributesInput < Struct.new(
1352
+ :load_balancer_name,
1353
+ :load_balancer_attributes)
1354
+ include Aws::Structure
1355
+ end
1356
+
1357
+ # Contains the output of ModifyLoadBalancerAttributes.
1358
+ # @!attribute [rw] load_balancer_name
1359
+ # The name of the load balancer.
1360
+ # @return [String]
1361
+ #
1362
+ # @!attribute [rw] load_balancer_attributes
1363
+ # The attributes for a load balancer.
1364
+ # @return [Types::LoadBalancerAttributes]
1365
+ class ModifyLoadBalancerAttributesOutput < Struct.new(
1366
+ :load_balancer_name,
1367
+ :load_balancer_attributes)
1368
+ include Aws::Structure
1369
+ end
1370
+
1371
+ # The policies for a load balancer.
1372
+ # @!attribute [rw] app_cookie_stickiness_policies
1373
+ # The stickiness policies created using
1374
+ # CreateAppCookieStickinessPolicy.
1375
+ # @return [Array<Types::AppCookieStickinessPolicy>]
1376
+ #
1377
+ # @!attribute [rw] lb_cookie_stickiness_policies
1378
+ # The stickiness policies created using
1379
+ # CreateLBCookieStickinessPolicy.
1380
+ # @return [Array<Types::LBCookieStickinessPolicy>]
1381
+ #
1382
+ # @!attribute [rw] other_policies
1383
+ # The policies other than the stickiness policies.
1384
+ # @return [Array<String>]
1385
+ class Policies < Struct.new(
1386
+ :app_cookie_stickiness_policies,
1387
+ :lb_cookie_stickiness_policies,
1388
+ :other_policies)
1389
+ include Aws::Structure
1390
+ end
1391
+
1392
+ # Information about a policy attribute.
1393
+ # @note When making an API call, pass PolicyAttribute
1394
+ # data as a hash:
1395
+ #
1396
+ # {
1397
+ # attribute_name: "AttributeName",
1398
+ # attribute_value: "AttributeValue",
1399
+ # }
1400
+ # @!attribute [rw] attribute_name
1401
+ # The name of the attribute.
1402
+ # @return [String]
1403
+ #
1404
+ # @!attribute [rw] attribute_value
1405
+ # The value of the attribute.
1406
+ # @return [String]
1407
+ class PolicyAttribute < Struct.new(
1408
+ :attribute_name,
1409
+ :attribute_value)
1410
+ include Aws::Structure
1411
+ end
1412
+
1413
+ # Information about a policy attribute.
1414
+ # @!attribute [rw] attribute_name
1415
+ # The name of the attribute.
1416
+ # @return [String]
1417
+ #
1418
+ # @!attribute [rw] attribute_value
1419
+ # The value of the attribute.
1420
+ # @return [String]
1421
+ class PolicyAttributeDescription < Struct.new(
1422
+ :attribute_name,
1423
+ :attribute_value)
1424
+ include Aws::Structure
1425
+ end
1426
+
1427
+ # Information about a policy attribute type.
1428
+ # @!attribute [rw] attribute_name
1429
+ # The name of the attribute.
1430
+ # @return [String]
1431
+ #
1432
+ # @!attribute [rw] attribute_type
1433
+ # The type of the attribute. For example, `Boolean` or `Integer`.
1434
+ # @return [String]
1435
+ #
1436
+ # @!attribute [rw] description
1437
+ # A description of the attribute.
1438
+ # @return [String]
1439
+ #
1440
+ # @!attribute [rw] default_value
1441
+ # The default value of the attribute, if applicable.
1442
+ # @return [String]
1443
+ #
1444
+ # @!attribute [rw] cardinality
1445
+ # The cardinality of the attribute.
1446
+ #
1447
+ # Valid values:
1448
+ #
1449
+ # * ONE(1) : Single value required
1450
+ #
1451
+ # * ZERO\_OR\_ONE(0..1) : Up to one value is allowed
1452
+ #
1453
+ # * ZERO\_OR\_MORE(0..*) : Optional. Multiple values are allowed
1454
+ #
1455
+ # * ONE\_OR\_MORE(1..*0) : Required. Multiple values are allowed
1456
+ # @return [String]
1457
+ class PolicyAttributeTypeDescription < Struct.new(
1458
+ :attribute_name,
1459
+ :attribute_type,
1460
+ :description,
1461
+ :default_value,
1462
+ :cardinality)
1463
+ include Aws::Structure
1464
+ end
1465
+
1466
+ # Information about a policy.
1467
+ # @!attribute [rw] policy_name
1468
+ # The name of the policy.
1469
+ # @return [String]
1470
+ #
1471
+ # @!attribute [rw] policy_type_name
1472
+ # The name of the policy type.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] policy_attribute_descriptions
1476
+ # The policy attributes.
1477
+ # @return [Array<Types::PolicyAttributeDescription>]
1478
+ class PolicyDescription < Struct.new(
1479
+ :policy_name,
1480
+ :policy_type_name,
1481
+ :policy_attribute_descriptions)
1482
+ include Aws::Structure
1483
+ end
1484
+
1485
+ # Information about a policy type.
1486
+ # @!attribute [rw] policy_type_name
1487
+ # The name of the policy type.
1488
+ # @return [String]
1489
+ #
1490
+ # @!attribute [rw] description
1491
+ # A description of the policy type.
1492
+ # @return [String]
1493
+ #
1494
+ # @!attribute [rw] policy_attribute_type_descriptions
1495
+ # The description of the policy attributes associated with the
1496
+ # policies defined by Elastic Load Balancing.
1497
+ # @return [Array<Types::PolicyAttributeTypeDescription>]
1498
+ class PolicyTypeDescription < Struct.new(
1499
+ :policy_type_name,
1500
+ :description,
1501
+ :policy_attribute_type_descriptions)
1502
+ include Aws::Structure
1503
+ end
1504
+
1505
+ # Contains the parameters for RegisterInstancesWithLoadBalancer.
1506
+ # @note When making an API call, pass RegisterEndPointsInput
1507
+ # data as a hash:
1508
+ #
1509
+ # {
1510
+ # load_balancer_name: "AccessPointName", # required
1511
+ # instances: [ # required
1512
+ # {
1513
+ # instance_id: "InstanceId",
1514
+ # },
1515
+ # ],
1516
+ # }
1517
+ # @!attribute [rw] load_balancer_name
1518
+ # The name of the load balancer.
1519
+ # @return [String]
1520
+ #
1521
+ # @!attribute [rw] instances
1522
+ # The IDs of the instances.
1523
+ # @return [Array<Types::Instance>]
1524
+ class RegisterEndPointsInput < Struct.new(
1525
+ :load_balancer_name,
1526
+ :instances)
1527
+ include Aws::Structure
1528
+ end
1529
+
1530
+ # Contains the output of RegisterInstancesWithLoadBalancer.
1531
+ # @!attribute [rw] instances
1532
+ # The updated list of instances for the load balancer.
1533
+ # @return [Array<Types::Instance>]
1534
+ class RegisterEndPointsOutput < Struct.new(
1535
+ :instances)
1536
+ include Aws::Structure
1537
+ end
1538
+
1539
+ # Contains the parameters for DisableAvailabilityZonesForLoadBalancer.
1540
+ # @note When making an API call, pass RemoveAvailabilityZonesInput
1541
+ # data as a hash:
1542
+ #
1543
+ # {
1544
+ # load_balancer_name: "AccessPointName", # required
1545
+ # availability_zones: ["AvailabilityZone"], # required
1546
+ # }
1547
+ # @!attribute [rw] load_balancer_name
1548
+ # The name of the load balancer.
1549
+ # @return [String]
1550
+ #
1551
+ # @!attribute [rw] availability_zones
1552
+ # The Availability Zones.
1553
+ # @return [Array<String>]
1554
+ class RemoveAvailabilityZonesInput < Struct.new(
1555
+ :load_balancer_name,
1556
+ :availability_zones)
1557
+ include Aws::Structure
1558
+ end
1559
+
1560
+ # Contains the output for DisableAvailabilityZonesForLoadBalancer.
1561
+ # @!attribute [rw] availability_zones
1562
+ # The remaining Availability Zones for the load balancer.
1563
+ # @return [Array<String>]
1564
+ class RemoveAvailabilityZonesOutput < Struct.new(
1565
+ :availability_zones)
1566
+ include Aws::Structure
1567
+ end
1568
+
1569
+ # Contains the parameters for RemoveTags.
1570
+ # @note When making an API call, pass RemoveTagsInput
1571
+ # data as a hash:
1572
+ #
1573
+ # {
1574
+ # load_balancer_names: ["AccessPointName"], # required
1575
+ # tags: [ # required
1576
+ # {
1577
+ # key: "TagKey",
1578
+ # },
1579
+ # ],
1580
+ # }
1581
+ # @!attribute [rw] load_balancer_names
1582
+ # The name of the load balancer. You can specify a maximum of one load
1583
+ # balancer name.
1584
+ # @return [Array<String>]
1585
+ #
1586
+ # @!attribute [rw] tags
1587
+ # The list of tag keys to remove.
1588
+ # @return [Array<Types::TagKeyOnly>]
1589
+ class RemoveTagsInput < Struct.new(
1590
+ :load_balancer_names,
1591
+ :tags)
1592
+ include Aws::Structure
1593
+ end
1594
+
1595
+ # Contains the output of RemoveTags.
1596
+ class RemoveTagsOutput < Aws::EmptyStructure; end
1597
+
1598
+ # Contains the parameters for SetLoadBalancerListenerSSLCertificate.
1599
+ # @note When making an API call, pass SetLoadBalancerListenerSSLCertificateInput
1600
+ # data as a hash:
1601
+ #
1602
+ # {
1603
+ # load_balancer_name: "AccessPointName", # required
1604
+ # load_balancer_port: 1, # required
1605
+ # ssl_certificate_id: "SSLCertificateId", # required
1606
+ # }
1607
+ # @!attribute [rw] load_balancer_name
1608
+ # The name of the load balancer.
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] load_balancer_port
1612
+ # The port that uses the specified SSL certificate.
1613
+ # @return [Integer]
1614
+ #
1615
+ # @!attribute [rw] ssl_certificate_id
1616
+ # The Amazon Resource Name (ARN) of the SSL certificate.
1617
+ # @return [String]
1618
+ class SetLoadBalancerListenerSSLCertificateInput < Struct.new(
1619
+ :load_balancer_name,
1620
+ :load_balancer_port,
1621
+ :ssl_certificate_id)
1622
+ include Aws::Structure
1623
+ end
1624
+
1625
+ # Contains the output of SetLoadBalancerListenerSSLCertificate.
1626
+ class SetLoadBalancerListenerSSLCertificateOutput < Aws::EmptyStructure; end
1627
+
1628
+ # Contains the parameters for SetLoadBalancerPoliciesForBackendServer.
1629
+ # @note When making an API call, pass SetLoadBalancerPoliciesForBackendServerInput
1630
+ # data as a hash:
1631
+ #
1632
+ # {
1633
+ # load_balancer_name: "AccessPointName", # required
1634
+ # instance_port: 1, # required
1635
+ # policy_names: ["PolicyName"], # required
1636
+ # }
1637
+ # @!attribute [rw] load_balancer_name
1638
+ # The name of the load balancer.
1639
+ # @return [String]
1640
+ #
1641
+ # @!attribute [rw] instance_port
1642
+ # The port number associated with the EC2 instance.
1643
+ # @return [Integer]
1644
+ #
1645
+ # @!attribute [rw] policy_names
1646
+ # The names of the policies. If the list is empty, then all current
1647
+ # polices are removed from the EC2 instance.
1648
+ # @return [Array<String>]
1649
+ class SetLoadBalancerPoliciesForBackendServerInput < Struct.new(
1650
+ :load_balancer_name,
1651
+ :instance_port,
1652
+ :policy_names)
1653
+ include Aws::Structure
1654
+ end
1655
+
1656
+ # Contains the output of SetLoadBalancerPoliciesForBackendServer.
1657
+ class SetLoadBalancerPoliciesForBackendServerOutput < Aws::EmptyStructure; end
1658
+
1659
+ # Contains the parameters for SetLoadBalancePoliciesOfListener.
1660
+ # @note When making an API call, pass SetLoadBalancerPoliciesOfListenerInput
1661
+ # data as a hash:
1662
+ #
1663
+ # {
1664
+ # load_balancer_name: "AccessPointName", # required
1665
+ # load_balancer_port: 1, # required
1666
+ # policy_names: ["PolicyName"], # required
1667
+ # }
1668
+ # @!attribute [rw] load_balancer_name
1669
+ # The name of the load balancer.
1670
+ # @return [String]
1671
+ #
1672
+ # @!attribute [rw] load_balancer_port
1673
+ # The external port of the load balancer.
1674
+ # @return [Integer]
1675
+ #
1676
+ # @!attribute [rw] policy_names
1677
+ # The names of the policies. This list must include all policies to be
1678
+ # enabled. If you omit a policy that is currently enabled, it is
1679
+ # disabled. If the list is empty, all current policies are disabled.
1680
+ # @return [Array<String>]
1681
+ class SetLoadBalancerPoliciesOfListenerInput < Struct.new(
1682
+ :load_balancer_name,
1683
+ :load_balancer_port,
1684
+ :policy_names)
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # Contains the output of SetLoadBalancePoliciesOfListener.
1689
+ class SetLoadBalancerPoliciesOfListenerOutput < Aws::EmptyStructure; end
1690
+
1691
+ # Information about a source security group.
1692
+ # @!attribute [rw] owner_alias
1693
+ # The owner of the security group.
1694
+ # @return [String]
1695
+ #
1696
+ # @!attribute [rw] group_name
1697
+ # The name of the security group.
1698
+ # @return [String]
1699
+ class SourceSecurityGroup < Struct.new(
1700
+ :owner_alias,
1701
+ :group_name)
1702
+ include Aws::Structure
1703
+ end
1704
+
1705
+ # Information about a tag.
1706
+ # @note When making an API call, pass Tag
1707
+ # data as a hash:
1708
+ #
1709
+ # {
1710
+ # key: "TagKey", # required
1711
+ # value: "TagValue",
1712
+ # }
1713
+ # @!attribute [rw] key
1714
+ # The key of the tag.
1715
+ # @return [String]
1716
+ #
1717
+ # @!attribute [rw] value
1718
+ # The value of the tag.
1719
+ # @return [String]
1720
+ class Tag < Struct.new(
1721
+ :key,
1722
+ :value)
1723
+ include Aws::Structure
1724
+ end
1725
+
1726
+ # The tags associated with a load balancer.
1727
+ # @!attribute [rw] load_balancer_name
1728
+ # The name of the load balancer.
1729
+ # @return [String]
1730
+ #
1731
+ # @!attribute [rw] tags
1732
+ # The tags.
1733
+ # @return [Array<Types::Tag>]
1734
+ class TagDescription < Struct.new(
1735
+ :load_balancer_name,
1736
+ :tags)
1737
+ include Aws::Structure
1738
+ end
1739
+
1740
+ # The key of a tag.
1741
+ # @note When making an API call, pass TagKeyOnly
1742
+ # data as a hash:
1743
+ #
1744
+ # {
1745
+ # key: "TagKey",
1746
+ # }
1747
+ # @!attribute [rw] key
1748
+ # The name of the key.
1749
+ # @return [String]
1750
+ class TagKeyOnly < Struct.new(
1751
+ :key)
1752
+ include Aws::Structure
1753
+ end
1754
+
1755
+ end
1756
+ end
1757
+ end