aws-sdk-elasticloadbalancingv2 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,10 @@ module Aws::ElasticLoadBalancingV2
|
|
16
16
|
Actions = Shapes::ListShape.new(name: 'Actions')
|
17
17
|
AddTagsInput = Shapes::StructureShape.new(name: 'AddTagsInput')
|
18
18
|
AddTagsOutput = Shapes::StructureShape.new(name: 'AddTagsOutput')
|
19
|
+
AllocationId = Shapes::StringShape.new(name: 'AllocationId')
|
20
|
+
AllocationIdNotFoundException = Shapes::StructureShape.new(name: 'AllocationIdNotFoundException')
|
19
21
|
AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
|
22
|
+
AvailabilityZoneNotSupportedException = Shapes::StructureShape.new(name: 'AvailabilityZoneNotSupportedException')
|
20
23
|
AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
|
21
24
|
CanonicalHostedZoneId = Shapes::StringShape.new(name: 'CanonicalHostedZoneId')
|
22
25
|
Certificate = Shapes::StructureShape.new(name: 'Certificate')
|
@@ -85,6 +88,7 @@ module Aws::ElasticLoadBalancingV2
|
|
85
88
|
InvalidSecurityGroupException = Shapes::StructureShape.new(name: 'InvalidSecurityGroupException')
|
86
89
|
InvalidSubnetException = Shapes::StructureShape.new(name: 'InvalidSubnetException')
|
87
90
|
InvalidTargetException = Shapes::StructureShape.new(name: 'InvalidTargetException')
|
91
|
+
IpAddress = Shapes::StringShape.new(name: 'IpAddress')
|
88
92
|
IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
|
89
93
|
IsDefault = Shapes::BooleanShape.new(name: 'IsDefault')
|
90
94
|
Limit = Shapes::StructureShape.new(name: 'Limit')
|
@@ -96,6 +100,8 @@ module Aws::ElasticLoadBalancingV2
|
|
96
100
|
ListenerNotFoundException = Shapes::StructureShape.new(name: 'ListenerNotFoundException')
|
97
101
|
Listeners = Shapes::ListShape.new(name: 'Listeners')
|
98
102
|
LoadBalancer = Shapes::StructureShape.new(name: 'LoadBalancer')
|
103
|
+
LoadBalancerAddress = Shapes::StructureShape.new(name: 'LoadBalancerAddress')
|
104
|
+
LoadBalancerAddresses = Shapes::ListShape.new(name: 'LoadBalancerAddresses')
|
99
105
|
LoadBalancerArn = Shapes::StringShape.new(name: 'LoadBalancerArn')
|
100
106
|
LoadBalancerArns = Shapes::ListShape.new(name: 'LoadBalancerArns')
|
101
107
|
LoadBalancerAttribute = Shapes::StructureShape.new(name: 'LoadBalancerAttribute')
|
@@ -168,6 +174,8 @@ module Aws::ElasticLoadBalancingV2
|
|
168
174
|
String = Shapes::StringShape.new(name: 'String')
|
169
175
|
StringValue = Shapes::StringShape.new(name: 'StringValue')
|
170
176
|
SubnetId = Shapes::StringShape.new(name: 'SubnetId')
|
177
|
+
SubnetMapping = Shapes::StructureShape.new(name: 'SubnetMapping')
|
178
|
+
SubnetMappings = Shapes::ListShape.new(name: 'SubnetMappings')
|
171
179
|
SubnetNotFoundException = Shapes::StructureShape.new(name: 'SubnetNotFoundException')
|
172
180
|
Subnets = Shapes::ListShape.new(name: 'Subnets')
|
173
181
|
Tag = Shapes::StructureShape.new(name: 'Tag')
|
@@ -224,6 +232,7 @@ module Aws::ElasticLoadBalancingV2
|
|
224
232
|
|
225
233
|
AvailabilityZone.add_member(:zone_name, Shapes::ShapeRef.new(shape: ZoneName, location_name: "ZoneName"))
|
226
234
|
AvailabilityZone.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "SubnetId"))
|
235
|
+
AvailabilityZone.add_member(:load_balancer_addresses, Shapes::ShapeRef.new(shape: LoadBalancerAddresses, location_name: "LoadBalancerAddresses"))
|
227
236
|
AvailabilityZone.struct_class = Types::AvailabilityZone
|
228
237
|
|
229
238
|
AvailabilityZones.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
|
@@ -251,10 +260,12 @@ module Aws::ElasticLoadBalancingV2
|
|
251
260
|
CreateListenerOutput.struct_class = Types::CreateListenerOutput
|
252
261
|
|
253
262
|
CreateLoadBalancerInput.add_member(:name, Shapes::ShapeRef.new(shape: LoadBalancerName, required: true, location_name: "Name"))
|
254
|
-
CreateLoadBalancerInput.add_member(:subnets, Shapes::ShapeRef.new(shape: Subnets,
|
263
|
+
CreateLoadBalancerInput.add_member(:subnets, Shapes::ShapeRef.new(shape: Subnets, location_name: "Subnets"))
|
264
|
+
CreateLoadBalancerInput.add_member(:subnet_mappings, Shapes::ShapeRef.new(shape: SubnetMappings, location_name: "SubnetMappings"))
|
255
265
|
CreateLoadBalancerInput.add_member(:security_groups, Shapes::ShapeRef.new(shape: SecurityGroups, location_name: "SecurityGroups"))
|
256
266
|
CreateLoadBalancerInput.add_member(:scheme, Shapes::ShapeRef.new(shape: LoadBalancerSchemeEnum, location_name: "Scheme"))
|
257
267
|
CreateLoadBalancerInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
268
|
+
CreateLoadBalancerInput.add_member(:type, Shapes::ShapeRef.new(shape: LoadBalancerTypeEnum, location_name: "Type"))
|
258
269
|
CreateLoadBalancerInput.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "IpAddressType"))
|
259
270
|
CreateLoadBalancerInput.struct_class = Types::CreateLoadBalancerInput
|
260
271
|
|
@@ -432,6 +443,12 @@ module Aws::ElasticLoadBalancingV2
|
|
432
443
|
LoadBalancer.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "IpAddressType"))
|
433
444
|
LoadBalancer.struct_class = Types::LoadBalancer
|
434
445
|
|
446
|
+
LoadBalancerAddress.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "IpAddress"))
|
447
|
+
LoadBalancerAddress.add_member(:allocation_id, Shapes::ShapeRef.new(shape: AllocationId, location_name: "AllocationId"))
|
448
|
+
LoadBalancerAddress.struct_class = Types::LoadBalancerAddress
|
449
|
+
|
450
|
+
LoadBalancerAddresses.member = Shapes::ShapeRef.new(shape: LoadBalancerAddress)
|
451
|
+
|
435
452
|
LoadBalancerArns.member = Shapes::ShapeRef.new(shape: LoadBalancerArn)
|
436
453
|
|
437
454
|
LoadBalancerAttribute.add_member(:key, Shapes::ShapeRef.new(shape: LoadBalancerAttributeKey, location_name: "Key"))
|
@@ -559,6 +576,7 @@ module Aws::ElasticLoadBalancingV2
|
|
559
576
|
|
560
577
|
SetSubnetsInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn"))
|
561
578
|
SetSubnetsInput.add_member(:subnets, Shapes::ShapeRef.new(shape: Subnets, required: true, location_name: "Subnets"))
|
579
|
+
SetSubnetsInput.add_member(:subnet_mappings, Shapes::ShapeRef.new(shape: SubnetMappings, location_name: "SubnetMappings"))
|
562
580
|
SetSubnetsInput.struct_class = Types::SetSubnetsInput
|
563
581
|
|
564
582
|
SetSubnetsOutput.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZones, location_name: "AvailabilityZones"))
|
@@ -575,6 +593,12 @@ module Aws::ElasticLoadBalancingV2
|
|
575
593
|
|
576
594
|
SslProtocols.member = Shapes::ShapeRef.new(shape: SslProtocol)
|
577
595
|
|
596
|
+
SubnetMapping.add_member(:subnet_id, Shapes::ShapeRef.new(shape: SubnetId, location_name: "SubnetId"))
|
597
|
+
SubnetMapping.add_member(:allocation_id, Shapes::ShapeRef.new(shape: AllocationId, location_name: "AllocationId"))
|
598
|
+
SubnetMapping.struct_class = Types::SubnetMapping
|
599
|
+
|
600
|
+
SubnetMappings.member = Shapes::ShapeRef.new(shape: SubnetMapping)
|
601
|
+
|
578
602
|
Subnets.member = Shapes::ShapeRef.new(shape: SubnetId)
|
579
603
|
|
580
604
|
Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
|
@@ -683,6 +707,7 @@ module Aws::ElasticLoadBalancingV2
|
|
683
707
|
o.errors << Shapes::ShapeRef.new(shape: CertificateNotFoundException)
|
684
708
|
o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException)
|
685
709
|
o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
|
710
|
+
o.errors << Shapes::ShapeRef.new(shape: TooManyTargetsException)
|
686
711
|
end)
|
687
712
|
|
688
713
|
api.add_operation(:create_load_balancer, Seahorse::Model::Operation.new.tap do |o|
|
@@ -700,6 +725,9 @@ module Aws::ElasticLoadBalancingV2
|
|
700
725
|
o.errors << Shapes::ShapeRef.new(shape: InvalidSchemeException)
|
701
726
|
o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
|
702
727
|
o.errors << Shapes::ShapeRef.new(shape: DuplicateTagKeysException)
|
728
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
|
729
|
+
o.errors << Shapes::ShapeRef.new(shape: AllocationIdNotFoundException)
|
730
|
+
o.errors << Shapes::ShapeRef.new(shape: AvailabilityZoneNotSupportedException)
|
703
731
|
end)
|
704
732
|
|
705
733
|
api.add_operation(:create_rule, Seahorse::Model::Operation.new.tap do |o|
|
@@ -712,10 +740,12 @@ module Aws::ElasticLoadBalancingV2
|
|
712
740
|
o.errors << Shapes::ShapeRef.new(shape: TooManyTargetGroupsException)
|
713
741
|
o.errors << Shapes::ShapeRef.new(shape: TooManyRulesException)
|
714
742
|
o.errors << Shapes::ShapeRef.new(shape: TargetGroupAssociationLimitException)
|
743
|
+
o.errors << Shapes::ShapeRef.new(shape: IncompatibleProtocolsException)
|
715
744
|
o.errors << Shapes::ShapeRef.new(shape: ListenerNotFoundException)
|
716
745
|
o.errors << Shapes::ShapeRef.new(shape: TargetGroupNotFoundException)
|
717
746
|
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
718
747
|
o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
|
748
|
+
o.errors << Shapes::ShapeRef.new(shape: TooManyTargetsException)
|
719
749
|
end)
|
720
750
|
|
721
751
|
api.add_operation(:create_target_group, Seahorse::Model::Operation.new.tap do |o|
|
@@ -726,6 +756,7 @@ module Aws::ElasticLoadBalancingV2
|
|
726
756
|
o.output = Shapes::ShapeRef.new(shape: CreateTargetGroupOutput)
|
727
757
|
o.errors << Shapes::ShapeRef.new(shape: DuplicateTargetGroupNameException)
|
728
758
|
o.errors << Shapes::ShapeRef.new(shape: TooManyTargetGroupsException)
|
759
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
729
760
|
end)
|
730
761
|
|
731
762
|
api.add_operation(:delete_listener, Seahorse::Model::Operation.new.tap do |o|
|
@@ -906,6 +937,7 @@ module Aws::ElasticLoadBalancingV2
|
|
906
937
|
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
907
938
|
o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException)
|
908
939
|
o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
|
940
|
+
o.errors << Shapes::ShapeRef.new(shape: TooManyTargetsException)
|
909
941
|
end)
|
910
942
|
|
911
943
|
api.add_operation(:modify_load_balancer_attributes, Seahorse::Model::Operation.new.tap do |o|
|
@@ -925,6 +957,7 @@ module Aws::ElasticLoadBalancingV2
|
|
925
957
|
o.input = Shapes::ShapeRef.new(shape: ModifyRuleInput)
|
926
958
|
o.output = Shapes::ShapeRef.new(shape: ModifyRuleOutput)
|
927
959
|
o.errors << Shapes::ShapeRef.new(shape: TargetGroupAssociationLimitException)
|
960
|
+
o.errors << Shapes::ShapeRef.new(shape: IncompatibleProtocolsException)
|
928
961
|
o.errors << Shapes::ShapeRef.new(shape: RuleNotFoundException)
|
929
962
|
o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
|
930
963
|
o.errors << Shapes::ShapeRef.new(shape: TooManyRegistrationsForTargetIdException)
|
@@ -939,6 +972,7 @@ module Aws::ElasticLoadBalancingV2
|
|
939
972
|
o.input = Shapes::ShapeRef.new(shape: ModifyTargetGroupInput)
|
940
973
|
o.output = Shapes::ShapeRef.new(shape: ModifyTargetGroupOutput)
|
941
974
|
o.errors << Shapes::ShapeRef.new(shape: TargetGroupNotFoundException)
|
975
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
942
976
|
end)
|
943
977
|
|
944
978
|
api.add_operation(:modify_target_group_attributes, Seahorse::Model::Operation.new.tap do |o|
|
@@ -948,6 +982,7 @@ module Aws::ElasticLoadBalancingV2
|
|
948
982
|
o.input = Shapes::ShapeRef.new(shape: ModifyTargetGroupAttributesInput)
|
949
983
|
o.output = Shapes::ShapeRef.new(shape: ModifyTargetGroupAttributesOutput)
|
950
984
|
o.errors << Shapes::ShapeRef.new(shape: TargetGroupNotFoundException)
|
985
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
951
986
|
end)
|
952
987
|
|
953
988
|
api.add_operation(:register_targets, Seahorse::Model::Operation.new.tap do |o|
|
@@ -1018,6 +1053,8 @@ module Aws::ElasticLoadBalancingV2
|
|
1018
1053
|
o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
|
1019
1054
|
o.errors << Shapes::ShapeRef.new(shape: SubnetNotFoundException)
|
1020
1055
|
o.errors << Shapes::ShapeRef.new(shape: InvalidSubnetException)
|
1056
|
+
o.errors << Shapes::ShapeRef.new(shape: AllocationIdNotFoundException)
|
1057
|
+
o.errors << Shapes::ShapeRef.new(shape: AvailabilityZoneNotSupportedException)
|
1021
1058
|
end)
|
1022
1059
|
end
|
1023
1060
|
|
@@ -77,11 +77,16 @@ module Aws::ElasticLoadBalancingV2
|
|
77
77
|
# The ID of the subnet.
|
78
78
|
# @return [String]
|
79
79
|
#
|
80
|
+
# @!attribute [rw] load_balancer_addresses
|
81
|
+
# \[Network Load Balancers\] The static IP address.
|
82
|
+
# @return [Array<Types::LoadBalancerAddress>]
|
83
|
+
#
|
80
84
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AvailabilityZone AWS API Documentation
|
81
85
|
#
|
82
86
|
class AvailabilityZone < Struct.new(
|
83
87
|
:zone_name,
|
84
|
-
:subnet_id
|
88
|
+
:subnet_id,
|
89
|
+
:load_balancer_addresses)
|
85
90
|
include Aws::Structure
|
86
91
|
end
|
87
92
|
|
@@ -129,7 +134,7 @@ module Aws::ElasticLoadBalancingV2
|
|
129
134
|
#
|
130
135
|
# {
|
131
136
|
# load_balancer_arn: "LoadBalancerArn", # required
|
132
|
-
# protocol: "HTTP", # required, accepts HTTP, HTTPS
|
137
|
+
# protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
|
133
138
|
# port: 1, # required
|
134
139
|
# ssl_policy: "SslPolicyName",
|
135
140
|
# certificates: [
|
@@ -150,7 +155,9 @@ module Aws::ElasticLoadBalancingV2
|
|
150
155
|
# @return [String]
|
151
156
|
#
|
152
157
|
# @!attribute [rw] protocol
|
153
|
-
# The protocol for connections from clients to the load balancer.
|
158
|
+
# The protocol for connections from clients to the load balancer. For
|
159
|
+
# Application Load Balancers, the supported protocols are HTTP and
|
160
|
+
# HTTPS. For Network Load Balancers, the supported protocol is TCP.
|
154
161
|
# @return [String]
|
155
162
|
#
|
156
163
|
# @!attribute [rw] port
|
@@ -158,17 +165,21 @@ module Aws::ElasticLoadBalancingV2
|
|
158
165
|
# @return [Integer]
|
159
166
|
#
|
160
167
|
# @!attribute [rw] ssl_policy
|
161
|
-
# The security policy that defines which ciphers
|
162
|
-
# supported. The default is the current predefined
|
168
|
+
# \[HTTPS listeners\] The security policy that defines which ciphers
|
169
|
+
# and protocols are supported. The default is the current predefined
|
170
|
+
# security policy.
|
163
171
|
# @return [String]
|
164
172
|
#
|
165
173
|
# @!attribute [rw] certificates
|
166
|
-
# The SSL server certificate. You must provide
|
167
|
-
#
|
174
|
+
# \[HTTPS listeners\] The SSL server certificate. You must provide
|
175
|
+
# exactly one certificate.
|
168
176
|
# @return [Array<Types::Certificate>]
|
169
177
|
#
|
170
178
|
# @!attribute [rw] default_actions
|
171
|
-
# The default action for the listener.
|
179
|
+
# The default action for the listener. For Application Load Balancers,
|
180
|
+
# the protocol of the specified target group must be HTTP or HTTPS.
|
181
|
+
# For Network Load Balancers, the protocol of the specified target
|
182
|
+
# group must be TCP.
|
172
183
|
# @return [Array<Types::Action>]
|
173
184
|
#
|
174
185
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListenerInput AWS API Documentation
|
@@ -199,7 +210,13 @@ module Aws::ElasticLoadBalancingV2
|
|
199
210
|
#
|
200
211
|
# {
|
201
212
|
# name: "LoadBalancerName", # required
|
202
|
-
# subnets: ["SubnetId"],
|
213
|
+
# subnets: ["SubnetId"],
|
214
|
+
# subnet_mappings: [
|
215
|
+
# {
|
216
|
+
# subnet_id: "SubnetId",
|
217
|
+
# allocation_id: "AllocationId",
|
218
|
+
# },
|
219
|
+
# ],
|
203
220
|
# security_groups: ["SecurityGroupId"],
|
204
221
|
# scheme: "internet-facing", # accepts internet-facing, internal
|
205
222
|
# tags: [
|
@@ -208,6 +225,7 @@ module Aws::ElasticLoadBalancingV2
|
|
208
225
|
# value: "TagValue",
|
209
226
|
# },
|
210
227
|
# ],
|
228
|
+
# type: "application", # accepts application, network
|
211
229
|
# ip_address_type: "ipv4", # accepts ipv4, dualstack
|
212
230
|
# }
|
213
231
|
#
|
@@ -222,11 +240,27 @@ module Aws::ElasticLoadBalancingV2
|
|
222
240
|
# @!attribute [rw] subnets
|
223
241
|
# The IDs of the subnets to attach to the load balancer. You can
|
224
242
|
# specify only one subnet per Availability Zone. You must specify
|
225
|
-
# subnets
|
243
|
+
# either subnets or subnet mappings.
|
244
|
+
#
|
245
|
+
# \[Application Load Balancers\] You must specify subnets from at
|
246
|
+
# least two Availability Zones.
|
226
247
|
# @return [Array<String>]
|
227
248
|
#
|
249
|
+
# @!attribute [rw] subnet_mappings
|
250
|
+
# The IDs of the subnets to attach to the load balancer. You can
|
251
|
+
# specify only one subnet per Availability Zone. You must specify
|
252
|
+
# either subnets or subnet mappings.
|
253
|
+
#
|
254
|
+
# \[Network Load Balancers\] You can specify one Elastic IP address
|
255
|
+
# per subnet.
|
256
|
+
#
|
257
|
+
# \[Application Load Balancers\] You cannot specify Elastic IP
|
258
|
+
# addresses for your subnets.
|
259
|
+
# @return [Array<Types::SubnetMapping>]
|
260
|
+
#
|
228
261
|
# @!attribute [rw] security_groups
|
229
|
-
# The IDs of the security groups to
|
262
|
+
# \[Application Load Balancers\] The IDs of the security groups to
|
263
|
+
# assign to the load balancer.
|
230
264
|
# @return [Array<String>]
|
231
265
|
#
|
232
266
|
# @!attribute [rw] scheme
|
@@ -249,11 +283,15 @@ module Aws::ElasticLoadBalancingV2
|
|
249
283
|
# One or more tags to assign to the load balancer.
|
250
284
|
# @return [Array<Types::Tag>]
|
251
285
|
#
|
286
|
+
# @!attribute [rw] type
|
287
|
+
# The type of load balancer to create. The default is `application`.
|
288
|
+
# @return [String]
|
289
|
+
#
|
252
290
|
# @!attribute [rw] ip_address_type
|
253
|
-
# The type of IP addresses used by the
|
254
|
-
# The possible values are `ipv4` (for
|
255
|
-
# (for IPv4 and IPv6 addresses).
|
256
|
-
# `ipv4`.
|
291
|
+
# \[Application Load Balancers\] The type of IP addresses used by the
|
292
|
+
# subnets for your load balancer. The possible values are `ipv4` (for
|
293
|
+
# IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses).
|
294
|
+
# Internal load balancers must use `ipv4`.
|
257
295
|
# @return [String]
|
258
296
|
#
|
259
297
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateLoadBalancerInput AWS API Documentation
|
@@ -261,9 +299,11 @@ module Aws::ElasticLoadBalancingV2
|
|
261
299
|
class CreateLoadBalancerInput < Struct.new(
|
262
300
|
:name,
|
263
301
|
:subnets,
|
302
|
+
:subnet_mappings,
|
264
303
|
:security_groups,
|
265
304
|
:scheme,
|
266
305
|
:tags,
|
306
|
+
:type,
|
267
307
|
:ip_address_type)
|
268
308
|
include Aws::Structure
|
269
309
|
end
|
@@ -304,7 +344,7 @@ module Aws::ElasticLoadBalancingV2
|
|
304
344
|
# @return [String]
|
305
345
|
#
|
306
346
|
# @!attribute [rw] conditions
|
307
|
-
#
|
347
|
+
# The conditions. Each condition specifies a field name and a single
|
308
348
|
# value.
|
309
349
|
#
|
310
350
|
# If the field name is `host-header`, you can specify a single host
|
@@ -374,10 +414,10 @@ module Aws::ElasticLoadBalancingV2
|
|
374
414
|
#
|
375
415
|
# {
|
376
416
|
# name: "TargetGroupName", # required
|
377
|
-
# protocol: "HTTP", # required, accepts HTTP, HTTPS
|
417
|
+
# protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
|
378
418
|
# port: 1, # required
|
379
419
|
# vpc_id: "VpcId", # required
|
380
|
-
# health_check_protocol: "HTTP", # accepts HTTP, HTTPS
|
420
|
+
# health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
|
381
421
|
# health_check_port: "HealthCheckPort",
|
382
422
|
# health_check_path: "Path",
|
383
423
|
# health_check_interval_seconds: 1,
|
@@ -399,7 +439,9 @@ module Aws::ElasticLoadBalancingV2
|
|
399
439
|
# @return [String]
|
400
440
|
#
|
401
441
|
# @!attribute [rw] protocol
|
402
|
-
# The protocol to use for routing traffic to the targets.
|
442
|
+
# The protocol to use for routing traffic to the targets. For
|
443
|
+
# Application Load Balancers, the supported protocols are HTTP and
|
444
|
+
# HTTPS. For Network Load Balancers, the supported protocol is TCP.
|
403
445
|
# @return [String]
|
404
446
|
#
|
405
447
|
# @!attribute [rw] port
|
@@ -413,43 +455,54 @@ module Aws::ElasticLoadBalancingV2
|
|
413
455
|
#
|
414
456
|
# @!attribute [rw] health_check_protocol
|
415
457
|
# The protocol the load balancer uses when performing health checks on
|
416
|
-
# targets. The
|
458
|
+
# targets. The TCP protocol is supported only if the protocol of the
|
459
|
+
# target group is TCP. For Application Load Balancers, the default is
|
460
|
+
# HTTP. For Network Load Balancers, the default is TCP.
|
417
461
|
# @return [String]
|
418
462
|
#
|
419
463
|
# @!attribute [rw] health_check_port
|
420
464
|
# The port the load balancer uses when performing health checks on
|
421
|
-
# targets. The default is `traffic-port`, which
|
422
|
-
#
|
465
|
+
# targets. The default is `traffic-port`, which is the port on which
|
466
|
+
# each target receives traffic from the load balancer.
|
423
467
|
# @return [String]
|
424
468
|
#
|
425
469
|
# @!attribute [rw] health_check_path
|
426
|
-
# The ping path that is the destination
|
427
|
-
# checks. The default is /.
|
470
|
+
# \[HTTP/HTTPS health checks\] The ping path that is the destination
|
471
|
+
# on the targets for health checks. The default is /.
|
428
472
|
# @return [String]
|
429
473
|
#
|
430
474
|
# @!attribute [rw] health_check_interval_seconds
|
431
475
|
# The approximate amount of time, in seconds, between health checks of
|
432
|
-
# an individual target.
|
476
|
+
# an individual target. For Application Load Balancers, the range is 5
|
477
|
+
# to 300 seconds. For Network Load Balancers, the supported values are
|
478
|
+
# 10 or 30 seconds. The default is 30 seconds.
|
433
479
|
# @return [Integer]
|
434
480
|
#
|
435
481
|
# @!attribute [rw] health_check_timeout_seconds
|
436
482
|
# The amount of time, in seconds, during which no response from a
|
437
|
-
# target means a failed health check.
|
483
|
+
# target means a failed health check. For Application Load Balancers,
|
484
|
+
# the range is 2 to 60 seconds and the default is 5 seconds. For
|
485
|
+
# Network Load Balancers, this is 10 seconds for TCP and HTTPS health
|
486
|
+
# checks and 6 seconds for HTTP health checks.
|
438
487
|
# @return [Integer]
|
439
488
|
#
|
440
489
|
# @!attribute [rw] healthy_threshold_count
|
441
490
|
# The number of consecutive health checks successes required before
|
442
|
-
# considering an unhealthy target healthy.
|
491
|
+
# considering an unhealthy target healthy. For Application Load
|
492
|
+
# Balancers, the default is 5. For Network Load Balancers, the default
|
493
|
+
# is 3.
|
443
494
|
# @return [Integer]
|
444
495
|
#
|
445
496
|
# @!attribute [rw] unhealthy_threshold_count
|
446
497
|
# The number of consecutive health check failures required before
|
447
|
-
# considering a target unhealthy.
|
498
|
+
# considering a target unhealthy. For Application Load Balancers, the
|
499
|
+
# default is 2. For Network Load Balancers, this value must be the
|
500
|
+
# same as the healthy threshold count.
|
448
501
|
# @return [Integer]
|
449
502
|
#
|
450
503
|
# @!attribute [rw] matcher
|
451
|
-
# The HTTP codes to use when checking for
|
452
|
-
#
|
504
|
+
# \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
|
505
|
+
# a successful response from a target.
|
453
506
|
# @return [Types::Matcher]
|
454
507
|
#
|
455
508
|
# @!attribute [rw] target_type
|
@@ -1071,6 +1124,10 @@ module Aws::ElasticLoadBalancingV2
|
|
1071
1124
|
#
|
1072
1125
|
# * listeners-per-application-load-balancer
|
1073
1126
|
#
|
1127
|
+
# * listeners-per-network-load-balancer
|
1128
|
+
#
|
1129
|
+
# * network-load-balancers
|
1130
|
+
#
|
1074
1131
|
# * rules-per-application-load-balancer
|
1075
1132
|
#
|
1076
1133
|
# * target-groups
|
@@ -1216,6 +1273,25 @@ module Aws::ElasticLoadBalancingV2
|
|
1216
1273
|
include Aws::Structure
|
1217
1274
|
end
|
1218
1275
|
|
1276
|
+
# Information about a static IP address for a load balancer.
|
1277
|
+
#
|
1278
|
+
# @!attribute [rw] ip_address
|
1279
|
+
# The static IP address.
|
1280
|
+
# @return [String]
|
1281
|
+
#
|
1282
|
+
# @!attribute [rw] allocation_id
|
1283
|
+
# \[Network Load Balancers\] The allocation ID of the Elastic IP
|
1284
|
+
# address.
|
1285
|
+
# @return [String]
|
1286
|
+
#
|
1287
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/LoadBalancerAddress AWS API Documentation
|
1288
|
+
#
|
1289
|
+
class LoadBalancerAddress < Struct.new(
|
1290
|
+
:ip_address,
|
1291
|
+
:allocation_id)
|
1292
|
+
include Aws::Structure
|
1293
|
+
end
|
1294
|
+
|
1219
1295
|
# Information about a load balancer attribute.
|
1220
1296
|
#
|
1221
1297
|
# @note When making an API call, you may pass LoadBalancerAttribute
|
@@ -1229,24 +1305,26 @@ module Aws::ElasticLoadBalancingV2
|
|
1229
1305
|
# @!attribute [rw] key
|
1230
1306
|
# The name of the attribute.
|
1231
1307
|
#
|
1232
|
-
# * `access_logs.s3.enabled` -
|
1233
|
-
# Amazon S3 are enabled. The
|
1308
|
+
# * `access_logs.s3.enabled` - \[Application Load Balancers\]
|
1309
|
+
# Indicates whether access logs stored in Amazon S3 are enabled. The
|
1310
|
+
# value is `true` or `false`.
|
1234
1311
|
#
|
1235
|
-
# * `access_logs.s3.bucket` -
|
1236
|
-
#
|
1237
|
-
# enabled. The bucket must exist in
|
1238
|
-
# balancer and have a bucket policy that
|
1239
|
-
# Balancing permission to write to the bucket.
|
1312
|
+
# * `access_logs.s3.bucket` - \[Application Load Balancers\] The name
|
1313
|
+
# of the S3 bucket for the access logs. This attribute is required
|
1314
|
+
# if access logs in Amazon S3 are enabled. The bucket must exist in
|
1315
|
+
# the same region as the load balancer and have a bucket policy that
|
1316
|
+
# grants Elastic Load Balancing permission to write to the bucket.
|
1240
1317
|
#
|
1241
|
-
# * `access_logs.s3.prefix` -
|
1242
|
-
# bucket. If you don't specify a
|
1243
|
-
# in the root of the bucket.
|
1318
|
+
# * `access_logs.s3.prefix` - \[Application Load Balancers\] The
|
1319
|
+
# prefix for the location in the S3 bucket. If you don't specify a
|
1320
|
+
# prefix, the access logs are stored in the root of the bucket.
|
1244
1321
|
#
|
1245
1322
|
# * `deletion_protection.enabled` - Indicates whether deletion
|
1246
1323
|
# protection is enabled. The value is `true` or `false`.
|
1247
1324
|
#
|
1248
|
-
# * `idle_timeout.timeout_seconds` -
|
1249
|
-
# seconds. The valid range is 1-
|
1325
|
+
# * `idle_timeout.timeout_seconds` - \[Application Load Balancers\]
|
1326
|
+
# The idle timeout value, in seconds. The valid range is 1-4000. The
|
1327
|
+
# default is 60 seconds.
|
1250
1328
|
# @return [String]
|
1251
1329
|
#
|
1252
1330
|
# @!attribute [rw] value
|
@@ -1293,9 +1371,14 @@ module Aws::ElasticLoadBalancingV2
|
|
1293
1371
|
# }
|
1294
1372
|
#
|
1295
1373
|
# @!attribute [rw] http_code
|
1296
|
-
# The HTTP codes.
|
1297
|
-
#
|
1298
|
-
#
|
1374
|
+
# The HTTP codes.
|
1375
|
+
#
|
1376
|
+
# For Application Load Balancers, you can specify values between 200
|
1377
|
+
# and 499, and the default value is 200. You can specify multiple
|
1378
|
+
# values (for example, "200,202") or a range of values (for example,
|
1379
|
+
# "200-299").
|
1380
|
+
#
|
1381
|
+
# For Network Load Balancers, this is 200 to 399.
|
1299
1382
|
# @return [String]
|
1300
1383
|
#
|
1301
1384
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Matcher AWS API Documentation
|
@@ -1311,7 +1394,7 @@ module Aws::ElasticLoadBalancingV2
|
|
1311
1394
|
# {
|
1312
1395
|
# listener_arn: "ListenerArn", # required
|
1313
1396
|
# port: 1,
|
1314
|
-
# protocol: "HTTP", # accepts HTTP, HTTPS
|
1397
|
+
# protocol: "HTTP", # accepts HTTP, HTTPS, TCP
|
1315
1398
|
# ssl_policy: "SslPolicyName",
|
1316
1399
|
# certificates: [
|
1317
1400
|
# {
|
@@ -1336,6 +1419,8 @@ module Aws::ElasticLoadBalancingV2
|
|
1336
1419
|
#
|
1337
1420
|
# @!attribute [rw] protocol
|
1338
1421
|
# The protocol for connections from clients to the load balancer.
|
1422
|
+
# Application Load Balancers support HTTP and HTTPS and Network Load
|
1423
|
+
# Balancers support TCP.
|
1339
1424
|
# @return [String]
|
1340
1425
|
#
|
1341
1426
|
# @!attribute [rw] ssl_policy
|
@@ -1353,7 +1438,9 @@ module Aws::ElasticLoadBalancingV2
|
|
1353
1438
|
# @return [Array<Types::Certificate>]
|
1354
1439
|
#
|
1355
1440
|
# @!attribute [rw] default_actions
|
1356
|
-
# The default
|
1441
|
+
# The default action. For Application Load Balancers, the protocol of
|
1442
|
+
# the specified target group must be HTTP or HTTPS. For Network Load
|
1443
|
+
# Balancers, the protocol of the specified target group must be TCP.
|
1357
1444
|
# @return [Array<Types::Action>]
|
1358
1445
|
#
|
1359
1446
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyListenerInput AWS API Documentation
|
@@ -1447,7 +1534,7 @@ module Aws::ElasticLoadBalancingV2
|
|
1447
1534
|
# @return [Array<Types::RuleCondition>]
|
1448
1535
|
#
|
1449
1536
|
# @!attribute [rw] actions
|
1450
|
-
# The actions.
|
1537
|
+
# The actions. The target group must use the HTTP or HTTPS protocol.
|
1451
1538
|
# @return [Array<Types::Action>]
|
1452
1539
|
#
|
1453
1540
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRuleInput AWS API Documentation
|
@@ -1515,7 +1602,7 @@ module Aws::ElasticLoadBalancingV2
|
|
1515
1602
|
#
|
1516
1603
|
# {
|
1517
1604
|
# target_group_arn: "TargetGroupArn", # required
|
1518
|
-
# health_check_protocol: "HTTP", # accepts HTTP, HTTPS
|
1605
|
+
# health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
|
1519
1606
|
# health_check_port: "HealthCheckPort",
|
1520
1607
|
# health_check_path: "Path",
|
1521
1608
|
# health_check_interval_seconds: 1,
|
@@ -1532,25 +1619,31 @@ module Aws::ElasticLoadBalancingV2
|
|
1532
1619
|
# @return [String]
|
1533
1620
|
#
|
1534
1621
|
# @!attribute [rw] health_check_protocol
|
1535
|
-
# The protocol
|
1622
|
+
# The protocol the load balancer uses when performing health checks on
|
1623
|
+
# targets. The TCP protocol is supported only if the protocol of the
|
1624
|
+
# target group is TCP.
|
1536
1625
|
# @return [String]
|
1537
1626
|
#
|
1538
1627
|
# @!attribute [rw] health_check_port
|
1539
|
-
# The port
|
1628
|
+
# The port the load balancer uses when performing health checks on
|
1629
|
+
# targets.
|
1540
1630
|
# @return [String]
|
1541
1631
|
#
|
1542
1632
|
# @!attribute [rw] health_check_path
|
1543
|
-
# The ping path that is the destination
|
1633
|
+
# \[HTTP/HTTPS health checks\] The ping path that is the destination
|
1634
|
+
# for the health check request.
|
1544
1635
|
# @return [String]
|
1545
1636
|
#
|
1546
1637
|
# @!attribute [rw] health_check_interval_seconds
|
1547
1638
|
# The approximate amount of time, in seconds, between health checks of
|
1548
|
-
# an individual target.
|
1639
|
+
# an individual target. For Application Load Balancers, the range is 5
|
1640
|
+
# to 300 seconds. For Network Load Balancers, the supported values are
|
1641
|
+
# 10 or 30 seconds.
|
1549
1642
|
# @return [Integer]
|
1550
1643
|
#
|
1551
1644
|
# @!attribute [rw] health_check_timeout_seconds
|
1552
|
-
# The amount of time, in seconds, during
|
1553
|
-
# failed health check.
|
1645
|
+
# \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
|
1646
|
+
# which no response means a failed health check.
|
1554
1647
|
# @return [Integer]
|
1555
1648
|
#
|
1556
1649
|
# @!attribute [rw] healthy_threshold_count
|
@@ -1560,12 +1653,13 @@ module Aws::ElasticLoadBalancingV2
|
|
1560
1653
|
#
|
1561
1654
|
# @!attribute [rw] unhealthy_threshold_count
|
1562
1655
|
# The number of consecutive health check failures required before
|
1563
|
-
# considering the target unhealthy.
|
1656
|
+
# considering the target unhealthy. For Network Load Balancers, this
|
1657
|
+
# value must be the same as the healthy threshold count.
|
1564
1658
|
# @return [Integer]
|
1565
1659
|
#
|
1566
1660
|
# @!attribute [rw] matcher
|
1567
|
-
# The HTTP codes to use when checking for
|
1568
|
-
# target.
|
1661
|
+
# \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
|
1662
|
+
# a successful response from a target.
|
1569
1663
|
# @return [Types::Matcher]
|
1570
1664
|
#
|
1571
1665
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroupInput AWS API Documentation
|
@@ -1887,6 +1981,12 @@ module Aws::ElasticLoadBalancingV2
|
|
1887
1981
|
# {
|
1888
1982
|
# load_balancer_arn: "LoadBalancerArn", # required
|
1889
1983
|
# subnets: ["SubnetId"], # required
|
1984
|
+
# subnet_mappings: [
|
1985
|
+
# {
|
1986
|
+
# subnet_id: "SubnetId",
|
1987
|
+
# allocation_id: "AllocationId",
|
1988
|
+
# },
|
1989
|
+
# ],
|
1890
1990
|
# }
|
1891
1991
|
#
|
1892
1992
|
# @!attribute [rw] load_balancer_arn
|
@@ -1894,15 +1994,26 @@ module Aws::ElasticLoadBalancingV2
|
|
1894
1994
|
# @return [String]
|
1895
1995
|
#
|
1896
1996
|
# @!attribute [rw] subnets
|
1897
|
-
# The IDs of the subnets. You must specify at least two
|
1898
|
-
# can
|
1997
|
+
# The IDs of the subnets. You must specify subnets from at least two
|
1998
|
+
# Availability Zones. You can specify only one subnet per Availability
|
1999
|
+
# Zone. You must specify either subnets or subnet mappings.
|
1899
2000
|
# @return [Array<String>]
|
1900
2001
|
#
|
2002
|
+
# @!attribute [rw] subnet_mappings
|
2003
|
+
# The IDs of the subnets. You must specify subnets from at least two
|
2004
|
+
# Availability Zones. You can specify only one subnet per Availability
|
2005
|
+
# Zone. You must specify either subnets or subnet mappings.
|
2006
|
+
#
|
2007
|
+
# The load balancer is allocated one static IP address per subnet. You
|
2008
|
+
# cannot specify your own Elastic IP addresses.
|
2009
|
+
# @return [Array<Types::SubnetMapping>]
|
2010
|
+
#
|
1901
2011
|
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnetsInput AWS API Documentation
|
1902
2012
|
#
|
1903
2013
|
class SetSubnetsInput < Struct.new(
|
1904
2014
|
:load_balancer_arn,
|
1905
|
-
:subnets
|
2015
|
+
:subnets,
|
2016
|
+
:subnet_mappings)
|
1906
2017
|
include Aws::Structure
|
1907
2018
|
end
|
1908
2019
|
|
@@ -1940,6 +2051,33 @@ module Aws::ElasticLoadBalancingV2
|
|
1940
2051
|
include Aws::Structure
|
1941
2052
|
end
|
1942
2053
|
|
2054
|
+
# Information about a subnet mapping.
|
2055
|
+
#
|
2056
|
+
# @note When making an API call, you may pass SubnetMapping
|
2057
|
+
# data as a hash:
|
2058
|
+
#
|
2059
|
+
# {
|
2060
|
+
# subnet_id: "SubnetId",
|
2061
|
+
# allocation_id: "AllocationId",
|
2062
|
+
# }
|
2063
|
+
#
|
2064
|
+
# @!attribute [rw] subnet_id
|
2065
|
+
# The ID of the subnet.
|
2066
|
+
# @return [String]
|
2067
|
+
#
|
2068
|
+
# @!attribute [rw] allocation_id
|
2069
|
+
# \[Network Load Balancers\] The allocation ID of the Elastic IP
|
2070
|
+
# address.
|
2071
|
+
# @return [String]
|
2072
|
+
#
|
2073
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SubnetMapping AWS API Documentation
|
2074
|
+
#
|
2075
|
+
class SubnetMapping < Struct.new(
|
2076
|
+
:subnet_id,
|
2077
|
+
:allocation_id)
|
2078
|
+
include Aws::Structure
|
2079
|
+
end
|
2080
|
+
|
1943
2081
|
# Information about a tag.
|
1944
2082
|
#
|
1945
2083
|
# @note When making an API call, you may pass Tag
|
@@ -2137,18 +2275,19 @@ module Aws::ElasticLoadBalancingV2
|
|
2137
2275
|
# deregistering target from `draining` to `unused`. The range is
|
2138
2276
|
# 0-3600 seconds. The default value is 300 seconds.
|
2139
2277
|
#
|
2140
|
-
# * `stickiness.enabled` -
|
2141
|
-
# enabled. The value is `true` or
|
2278
|
+
# * `stickiness.enabled` - \[Application Load Balancers\] Indicates
|
2279
|
+
# whether sticky sessions are enabled. The value is `true` or
|
2280
|
+
# `false`.
|
2142
2281
|
#
|
2143
|
-
# * `stickiness.type` - The type of
|
2144
|
-
# value is `lb_cookie`.
|
2282
|
+
# * `stickiness.type` - \[Application Load Balancers\] The type of
|
2283
|
+
# sticky sessions. The possible value is `lb_cookie`.
|
2145
2284
|
#
|
2146
|
-
# * `stickiness.lb_cookie.duration_seconds` -
|
2147
|
-
# seconds, during which requests
|
2148
|
-
# the same target. After this time
|
2149
|
-
# balancer-generated cookie is considered
|
2150
|
-
# second to 1 week (604800 seconds). The
|
2151
|
-
# (86400 seconds).
|
2285
|
+
# * `stickiness.lb_cookie.duration_seconds` - \[Application Load
|
2286
|
+
# Balancers\] The time period, in seconds, during which requests
|
2287
|
+
# from a client should be routed to the same target. After this time
|
2288
|
+
# period expires, the load balancer-generated cookie is considered
|
2289
|
+
# stale. The range is 1 second to 1 week (604800 seconds). The
|
2290
|
+
# default value is 1 day (86400 seconds).
|
2152
2291
|
# @return [String]
|
2153
2292
|
#
|
2154
2293
|
# @!attribute [rw] value
|
@@ -2209,6 +2348,9 @@ module Aws::ElasticLoadBalancingV2
|
|
2209
2348
|
# balancer or the target is in an Availability Zone that is not
|
2210
2349
|
# enabled for its load balancer.
|
2211
2350
|
#
|
2351
|
+
# * `Target.IpUnusable` - The target IP address is reserved for use by
|
2352
|
+
# a load balancer.
|
2353
|
+
#
|
2212
2354
|
# * `Target.InvalidState` - The target is in the stopped or terminated
|
2213
2355
|
# state.
|
2214
2356
|
#
|