aws-sdk-elasticloadbalancingv2 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbbfc4f5d7206227c7d4e22b5b7281f011009d55
4
- data.tar.gz: a7c125bae4bb90adb7bf45a4ac7970f75b9dea8a
3
+ metadata.gz: bfa0181927edf0b0ecb6707220c0d1264eac43c2
4
+ data.tar.gz: 77201c45a11e20037a5b9a91343e8ced28fb371a
5
5
  SHA512:
6
- metadata.gz: 132aec344380ccd6d9b449063a340f4d222582b2d1552b3d64617fa231cf5276622b4a3152edf242bf45d20184a8525fe6adf7b6a8136464d846c8e0c5a14b54
7
- data.tar.gz: 5ab2ff916a361ae0bd02e46fc0aa653e83bf1c8d99d26a869025aec8aa782c8b303aa828faf50704119ddeb1c8d02c5c13dfcac317a3fae92d09d1fdf3994f91
6
+ metadata.gz: d668ed558fafd8799301f7c83b2bdfbc02b0db54cfbd3c2d2a79d7d6f264828bbedb4f44b3e7bbe83a53a3229b19d546f6b7a355e80aa6491b3ca3b047ff9207
7
+ data.tar.gz: a0c2b60504c07b0ebfe7adc082de399e998c9c8897389a372badcd754afbbb68ca0cdbe12da140b7f1ac18b15e7584f0ec04d9e479bc7bbb9b74eb3efa954d75
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
43
43
  # @service
44
44
  module Aws::ElasticLoadBalancingV2
45
45
 
46
- GEM_VERSION = '1.1.0'
46
+ GEM_VERSION = '1.2.0'
47
47
 
48
48
  end
@@ -145,8 +145,9 @@ module Aws::ElasticLoadBalancingV2
145
145
 
146
146
  # @!group API Operations
147
147
 
148
- # Adds the specified tags to the specified resource. You can tag your
149
- # Application Load Balancers and your target groups.
148
+ # Adds the specified tags to the specified Elastic Load Balancing
149
+ # resource. You can tag your Application Load Balancers, Network Load
150
+ # Balancers, and your target groups.
150
151
  #
151
152
  # Each tag consists of a key and an optional value. If a resource
152
153
  # already has a tag with the same key, `AddTags` updates its value.
@@ -204,7 +205,8 @@ module Aws::ElasticLoadBalancingV2
204
205
  req.send_request(options)
205
206
  end
206
207
 
207
- # Creates a listener for the specified Application Load Balancer.
208
+ # Creates a listener for the specified Application Load Balancer or
209
+ # Network Load Balancer.
208
210
  #
209
211
  # You can create up to 10 listeners per load balancer.
210
212
  #
@@ -214,31 +216,40 @@ module Aws::ElasticLoadBalancingV2
214
216
  # using DeleteLoadBalancer.
215
217
  #
216
218
  # For more information, see [Listeners for Your Application Load
217
- # Balancers][1] in the *Application Load Balancers Guide*.
219
+ # Balancers][1] in the *Application Load Balancers Guide* and [Listeners
220
+ # for Your Network Load Balancers][2] in the *Network Load Balancers
221
+ # Guide*.
218
222
  #
219
223
  #
220
224
  #
221
225
  # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
226
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html
222
227
  #
223
228
  # @option params [required, String] :load_balancer_arn
224
229
  # The Amazon Resource Name (ARN) of the load balancer.
225
230
  #
226
231
  # @option params [required, String] :protocol
227
- # The protocol for connections from clients to the load balancer.
232
+ # The protocol for connections from clients to the load balancer. For
233
+ # Application Load Balancers, the supported protocols are HTTP and
234
+ # HTTPS. For Network Load Balancers, the supported protocol is TCP.
228
235
  #
229
236
  # @option params [required, Integer] :port
230
237
  # The port on which the load balancer is listening.
231
238
  #
232
239
  # @option params [String] :ssl_policy
233
- # The security policy that defines which ciphers and protocols are
234
- # supported. The default is the current predefined security policy.
240
+ # \[HTTPS listeners\] The security policy that defines which ciphers and
241
+ # protocols are supported. The default is the current predefined
242
+ # security policy.
235
243
  #
236
244
  # @option params [Array<Types::Certificate>] :certificates
237
- # The SSL server certificate. You must provide exactly one certificate
238
- # if the protocol is HTTPS.
245
+ # \[HTTPS listeners\] The SSL server certificate. You must provide
246
+ # exactly one certificate.
239
247
  #
240
248
  # @option params [required, Array<Types::Action>] :default_actions
241
- # The default action for the listener.
249
+ # The default action for the listener. For Application Load Balancers,
250
+ # the protocol of the specified target group must be HTTP or HTTPS. For
251
+ # Network Load Balancers, the protocol of the specified target group
252
+ # must be TCP.
242
253
  #
243
254
  # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
244
255
  #
@@ -329,7 +340,7 @@ module Aws::ElasticLoadBalancingV2
329
340
  #
330
341
  # resp = client.create_listener({
331
342
  # load_balancer_arn: "LoadBalancerArn", # required
332
- # protocol: "HTTP", # required, accepts HTTP, HTTPS
343
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
333
344
  # port: 1, # required
334
345
  # ssl_policy: "SslPolicyName",
335
346
  # certificates: [
@@ -351,7 +362,7 @@ module Aws::ElasticLoadBalancingV2
351
362
  # resp.listeners[0].listener_arn #=> String
352
363
  # resp.listeners[0].load_balancer_arn #=> String
353
364
  # resp.listeners[0].port #=> Integer
354
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
365
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
355
366
  # resp.listeners[0].certificates #=> Array
356
367
  # resp.listeners[0].certificates[0].certificate_arn #=> String
357
368
  # resp.listeners[0].ssl_policy #=> String
@@ -368,7 +379,7 @@ module Aws::ElasticLoadBalancingV2
368
379
  req.send_request(options)
369
380
  end
370
381
 
371
- # Creates an Application Load Balancer.
382
+ # Creates an Application Load Balancer or a Network Load Balancer.
372
383
  #
373
384
  # When you create a load balancer, you can specify security groups,
374
385
  # subnets, IP address type, and tags. Otherwise, you could do so later
@@ -382,15 +393,19 @@ module Aws::ElasticLoadBalancingV2
382
393
  # You can create up to 20 load balancers per region per account. You can
383
394
  # request an increase for the number of load balancers for your account.
384
395
  # For more information, see [Limits for Your Application Load
385
- # Balancer][1] in the *Application Load Balancers Guide*.
396
+ # Balancer][1] in the *Application Load Balancers Guide* and [Limits for
397
+ # Your Network Load Balancer][2] in the *Network Load Balancers Guide*.
386
398
  #
387
- # For more information, see [Application Load Balancers][2] in the
388
- # *Application Load Balancers Guide*.
399
+ # For more information, see [Application Load Balancers][3] in the
400
+ # *Application Load Balancers Guide* and [Network Load Balancers][4] in
401
+ # the *Network Load Balancers Guide*.
389
402
  #
390
403
  #
391
404
  #
392
405
  # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
393
- # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
406
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
407
+ # [3]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
408
+ # [4]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
394
409
  #
395
410
  # @option params [required, String] :name
396
411
  # The name of the load balancer.
@@ -399,13 +414,28 @@ module Aws::ElasticLoadBalancingV2
399
414
  # 32 characters, must contain only alphanumeric characters or hyphens,
400
415
  # and must not begin or end with a hyphen.
401
416
  #
402
- # @option params [required, Array<String>] :subnets
417
+ # @option params [Array<String>] :subnets
418
+ # The IDs of the subnets to attach to the load balancer. You can specify
419
+ # only one subnet per Availability Zone. You must specify either subnets
420
+ # or subnet mappings.
421
+ #
422
+ # \[Application Load Balancers\] You must specify subnets from at least
423
+ # two Availability Zones.
424
+ #
425
+ # @option params [Array<Types::SubnetMapping>] :subnet_mappings
403
426
  # The IDs of the subnets to attach to the load balancer. You can specify
404
- # only one subnet per Availability Zone. You must specify subnets from
405
- # at least two Availability Zones.
427
+ # only one subnet per Availability Zone. You must specify either subnets
428
+ # or subnet mappings.
429
+ #
430
+ # \[Network Load Balancers\] You can specify one Elastic IP address per
431
+ # subnet.
432
+ #
433
+ # \[Application Load Balancers\] You cannot specify Elastic IP addresses
434
+ # for your subnets.
406
435
  #
407
436
  # @option params [Array<String>] :security_groups
408
- # The IDs of the security groups to assign to the load balancer.
437
+ # \[Application Load Balancers\] The IDs of the security groups to
438
+ # assign to the load balancer.
409
439
  #
410
440
  # @option params [String] :scheme
411
441
  # The nodes of an Internet-facing load balancer have public IP
@@ -425,11 +455,14 @@ module Aws::ElasticLoadBalancingV2
425
455
  # @option params [Array<Types::Tag>] :tags
426
456
  # One or more tags to assign to the load balancer.
427
457
  #
458
+ # @option params [String] :type
459
+ # The type of load balancer to create. The default is `application`.
460
+ #
428
461
  # @option params [String] :ip_address_type
429
- # The type of IP addresses used by the subnets for your load balancer.
430
- # The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
431
- # (for IPv4 and IPv6 addresses). Internal load balancers must use
432
- # `ipv4`.
462
+ # \[Application Load Balancers\] The type of IP addresses used by the
463
+ # subnets for your load balancer. The possible values are `ipv4` (for
464
+ # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses).
465
+ # Internal load balancers must use `ipv4`.
433
466
  #
434
467
  # @return [Types::CreateLoadBalancerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
435
468
  #
@@ -531,7 +564,13 @@ module Aws::ElasticLoadBalancingV2
531
564
  #
532
565
  # resp = client.create_load_balancer({
533
566
  # name: "LoadBalancerName", # required
534
- # subnets: ["SubnetId"], # required
567
+ # subnets: ["SubnetId"],
568
+ # subnet_mappings: [
569
+ # {
570
+ # subnet_id: "SubnetId",
571
+ # allocation_id: "AllocationId",
572
+ # },
573
+ # ],
535
574
  # security_groups: ["SecurityGroupId"],
536
575
  # scheme: "internet-facing", # accepts internet-facing, internal
537
576
  # tags: [
@@ -540,6 +579,7 @@ module Aws::ElasticLoadBalancingV2
540
579
  # value: "TagValue",
541
580
  # },
542
581
  # ],
582
+ # type: "application", # accepts application, network
543
583
  # ip_address_type: "ipv4", # accepts ipv4, dualstack
544
584
  # })
545
585
  #
@@ -553,12 +593,15 @@ module Aws::ElasticLoadBalancingV2
553
593
  # resp.load_balancers[0].load_balancer_name #=> String
554
594
  # resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
555
595
  # resp.load_balancers[0].vpc_id #=> String
556
- # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
596
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
557
597
  # resp.load_balancers[0].state.reason #=> String
558
- # resp.load_balancers[0].type #=> String, one of "application"
598
+ # resp.load_balancers[0].type #=> String, one of "application", "network"
559
599
  # resp.load_balancers[0].availability_zones #=> Array
560
600
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
561
601
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
602
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
603
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
604
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
562
605
  # resp.load_balancers[0].security_groups #=> Array
563
606
  # resp.load_balancers[0].security_groups[0] #=> String
564
607
  # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
@@ -572,14 +615,14 @@ module Aws::ElasticLoadBalancingV2
572
615
  req.send_request(options)
573
616
  end
574
617
 
575
- # Creates a rule for the specified listener.
618
+ # Creates a rule for the specified listener. The listener must be
619
+ # associated with an Application Load Balancer.
576
620
  #
577
- # Each rule can have one action and one condition. Rules are evaluated
578
- # in priority order, from the lowest value to the highest value. When
579
- # the condition for a rule is met, the specified action is taken. If no
580
- # conditions are met, the default action for the default rule is taken.
581
- # For more information, see [Listener Rules][1] in the *Application Load
582
- # Balancers Guide*.
621
+ # Rules are evaluated in priority order, from the lowest value to the
622
+ # highest value. When the condition for a rule is met, the specified
623
+ # action is taken. If no conditions are met, the action for the default
624
+ # rule is taken. For more information, see [Listener Rules][1] in the
625
+ # *Application Load Balancers Guide*.
583
626
  #
584
627
  # To view your current rules, use DescribeRules. To update a rule, use
585
628
  # ModifyRule. To set the priorities of your rules, use
@@ -593,7 +636,8 @@ module Aws::ElasticLoadBalancingV2
593
636
  # The Amazon Resource Name (ARN) of the listener.
594
637
  #
595
638
  # @option params [required, Array<Types::RuleCondition>] :conditions
596
- # A condition. Each condition specifies a field name and a single value.
639
+ # The conditions. Each condition specifies a field name and a single
640
+ # value.
597
641
  #
598
642
  # If the field name is `host-header`, you can specify a single host name
599
643
  # (for example, my.example.com). A host name is case insensitive, can be
@@ -739,11 +783,14 @@ module Aws::ElasticLoadBalancingV2
739
783
  # To delete a target group, use DeleteTargetGroup.
740
784
  #
741
785
  # For more information, see [Target Groups for Your Application Load
742
- # Balancers][1] in the *Application Load Balancers Guide*.
786
+ # Balancers][1] in the *Application Load Balancers Guide* or [Target
787
+ # Groups for Your Network Load Balancers][2] in the *Network Load
788
+ # Balancers Guide*.
743
789
  #
744
790
  #
745
791
  #
746
792
  # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
793
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
747
794
  #
748
795
  # @option params [required, String] :name
749
796
  # The name of the target group.
@@ -753,7 +800,9 @@ module Aws::ElasticLoadBalancingV2
753
800
  # and must not begin or end with a hyphen.
754
801
  #
755
802
  # @option params [required, String] :protocol
756
- # The protocol to use for routing traffic to the targets.
803
+ # The protocol to use for routing traffic to the targets. For
804
+ # Application Load Balancers, the supported protocols are HTTP and
805
+ # HTTPS. For Network Load Balancers, the supported protocol is TCP.
757
806
  #
758
807
  # @option params [required, Integer] :port
759
808
  # The port on which the targets receive traffic. This port is used
@@ -764,36 +813,47 @@ module Aws::ElasticLoadBalancingV2
764
813
  #
765
814
  # @option params [String] :health_check_protocol
766
815
  # The protocol the load balancer uses when performing health checks on
767
- # targets. The default is the HTTP protocol.
816
+ # targets. The TCP protocol is supported only if the protocol of the
817
+ # target group is TCP. For Application Load Balancers, the default is
818
+ # HTTP. For Network Load Balancers, the default is TCP.
768
819
  #
769
820
  # @option params [String] :health_check_port
770
821
  # The port the load balancer uses when performing health checks on
771
- # targets. The default is `traffic-port`, which indicates the port on
772
- # which each target receives traffic from the load balancer.
822
+ # targets. The default is `traffic-port`, which is the port on which
823
+ # each target receives traffic from the load balancer.
773
824
  #
774
825
  # @option params [String] :health_check_path
775
- # The ping path that is the destination on the targets for health
776
- # checks. The default is /.
826
+ # \[HTTP/HTTPS health checks\] The ping path that is the destination on
827
+ # the targets for health checks. The default is /.
777
828
  #
778
829
  # @option params [Integer] :health_check_interval_seconds
779
830
  # The approximate amount of time, in seconds, between health checks of
780
- # an individual target. The default is 30 seconds.
831
+ # an individual target. For Application Load Balancers, the range is 5
832
+ # to 300 seconds. For Network Load Balancers, the supported values are
833
+ # 10 or 30 seconds. The default is 30 seconds.
781
834
  #
782
835
  # @option params [Integer] :health_check_timeout_seconds
783
836
  # The amount of time, in seconds, during which no response from a target
784
- # means a failed health check. The default is 5 seconds.
837
+ # means a failed health check. For Application Load Balancers, the range
838
+ # is 2 to 60 seconds and the default is 5 seconds. For Network Load
839
+ # Balancers, this is 10 seconds for TCP and HTTPS health checks and 6
840
+ # seconds for HTTP health checks.
785
841
  #
786
842
  # @option params [Integer] :healthy_threshold_count
787
843
  # The number of consecutive health checks successes required before
788
- # considering an unhealthy target healthy. The default is 5.
844
+ # considering an unhealthy target healthy. For Application Load
845
+ # Balancers, the default is 5. For Network Load Balancers, the default
846
+ # is 3.
789
847
  #
790
848
  # @option params [Integer] :unhealthy_threshold_count
791
849
  # The number of consecutive health check failures required before
792
- # considering a target unhealthy. The default is 2.
850
+ # considering a target unhealthy. For Application Load Balancers, the
851
+ # default is 2. For Network Load Balancers, this value must be the same
852
+ # as the healthy threshold count.
793
853
  #
794
854
  # @option params [Types::Matcher] :matcher
795
- # The HTTP codes to use when checking for a successful response from a
796
- # target. The default is 200.
855
+ # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
856
+ # successful response from a target.
797
857
  #
798
858
  # @option params [String] :target_type
799
859
  # The type of target that you must specify when registering targets with
@@ -851,10 +911,10 @@ module Aws::ElasticLoadBalancingV2
851
911
  #
852
912
  # resp = client.create_target_group({
853
913
  # name: "TargetGroupName", # required
854
- # protocol: "HTTP", # required, accepts HTTP, HTTPS
914
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP
855
915
  # port: 1, # required
856
916
  # vpc_id: "VpcId", # required
857
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
917
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
858
918
  # health_check_port: "HealthCheckPort",
859
919
  # health_check_path: "Path",
860
920
  # health_check_interval_seconds: 1,
@@ -872,10 +932,10 @@ module Aws::ElasticLoadBalancingV2
872
932
  # resp.target_groups #=> Array
873
933
  # resp.target_groups[0].target_group_arn #=> String
874
934
  # resp.target_groups[0].target_group_name #=> String
875
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
935
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
876
936
  # resp.target_groups[0].port #=> Integer
877
937
  # resp.target_groups[0].vpc_id #=> String
878
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
938
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
879
939
  # resp.target_groups[0].health_check_port #=> String
880
940
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
881
941
  # resp.target_groups[0].health_check_timeout_seconds #=> Integer
@@ -930,8 +990,8 @@ module Aws::ElasticLoadBalancingV2
930
990
  req.send_request(options)
931
991
  end
932
992
 
933
- # Deletes the specified Application Load Balancer and its attached
934
- # listeners.
993
+ # Deletes the specified Application Load Balancer or Network Load
994
+ # Balancer and its attached listeners.
935
995
  #
936
996
  # You can't delete a load balancer if deletion protection is enabled.
937
997
  # If the load balancer does not exist or has already been deleted, the
@@ -1090,11 +1150,13 @@ module Aws::ElasticLoadBalancingV2
1090
1150
  # AWS account.
1091
1151
  #
1092
1152
  # For more information, see [Limits for Your Application Load
1093
- # Balancer][1] in the *Application Load Balancer Guide*.
1153
+ # Balancers][1] in the *Application Load Balancer Guide* or [Limits for
1154
+ # Your Network Load Balancers][2] in the *Network Load Balancers Guide*.
1094
1155
  #
1095
1156
  #
1096
1157
  #
1097
1158
  # [1]: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
1159
+ # [2]: http://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
1098
1160
  #
1099
1161
  # @option params [String] :marker
1100
1162
  # The marker for the next set of results. (You received this marker from
@@ -1132,8 +1194,8 @@ module Aws::ElasticLoadBalancingV2
1132
1194
  end
1133
1195
 
1134
1196
  # Describes the specified listeners or the listeners for the specified
1135
- # Application Load Balancer. You must specify either a load balancer or
1136
- # one or more listeners.
1197
+ # Application Load Balancer or Network Load Balancer. You must specify
1198
+ # either a load balancer or one or more listeners.
1137
1199
  #
1138
1200
  # @option params [String] :load_balancer_arn
1139
1201
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -1197,7 +1259,7 @@ module Aws::ElasticLoadBalancingV2
1197
1259
  # resp.listeners[0].listener_arn #=> String
1198
1260
  # resp.listeners[0].load_balancer_arn #=> String
1199
1261
  # resp.listeners[0].port #=> Integer
1200
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
1262
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
1201
1263
  # resp.listeners[0].certificates #=> Array
1202
1264
  # resp.listeners[0].certificates[0].certificate_arn #=> String
1203
1265
  # resp.listeners[0].ssl_policy #=> String
@@ -1215,7 +1277,8 @@ module Aws::ElasticLoadBalancingV2
1215
1277
  req.send_request(options)
1216
1278
  end
1217
1279
 
1218
- # Describes the attributes for the specified Application Load Balancer.
1280
+ # Describes the attributes for the specified Application Load Balancer
1281
+ # or Network Load Balancer.
1219
1282
  #
1220
1283
  # @option params [required, String] :load_balancer_arn
1221
1284
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -1280,8 +1343,7 @@ module Aws::ElasticLoadBalancingV2
1280
1343
  req.send_request(options)
1281
1344
  end
1282
1345
 
1283
- # Describes the specified Application Load Balancers or all of your
1284
- # Application Load Balancers.
1346
+ # Describes the specified load balancers or all of your load balancers.
1285
1347
  #
1286
1348
  # To describe the listeners for a load balancer, use DescribeListeners.
1287
1349
  # To describe the attributes for a load balancer, use
@@ -1368,12 +1430,15 @@ module Aws::ElasticLoadBalancingV2
1368
1430
  # resp.load_balancers[0].load_balancer_name #=> String
1369
1431
  # resp.load_balancers[0].scheme #=> String, one of "internet-facing", "internal"
1370
1432
  # resp.load_balancers[0].vpc_id #=> String
1371
- # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "failed"
1433
+ # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
1372
1434
  # resp.load_balancers[0].state.reason #=> String
1373
- # resp.load_balancers[0].type #=> String, one of "application"
1435
+ # resp.load_balancers[0].type #=> String, one of "application", "network"
1374
1436
  # resp.load_balancers[0].availability_zones #=> Array
1375
1437
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
1376
1438
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
1439
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses #=> Array
1440
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
1441
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
1377
1442
  # resp.load_balancers[0].security_groups #=> Array
1378
1443
  # resp.load_balancers[0].security_groups[0] #=> String
1379
1444
  # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
@@ -1635,7 +1700,8 @@ module Aws::ElasticLoadBalancingV2
1635
1700
  end
1636
1701
 
1637
1702
  # Describes the tags for the specified resources. You can describe the
1638
- # tags for one or more Application Load Balancers and target groups.
1703
+ # tags for one or more Application Load Balancers, Network Load
1704
+ # Balancers, and target groups.
1639
1705
  #
1640
1706
  # @option params [required, Array<String>] :resource_arns
1641
1707
  # The Amazon Resource Names (ARN) of the resources.
@@ -1841,10 +1907,10 @@ module Aws::ElasticLoadBalancingV2
1841
1907
  # resp.target_groups #=> Array
1842
1908
  # resp.target_groups[0].target_group_arn #=> String
1843
1909
  # resp.target_groups[0].target_group_name #=> String
1844
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
1910
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
1845
1911
  # resp.target_groups[0].port #=> Integer
1846
1912
  # resp.target_groups[0].vpc_id #=> String
1847
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
1913
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
1848
1914
  # resp.target_groups[0].health_check_port #=> String
1849
1915
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
1850
1916
  # resp.target_groups[0].health_check_timeout_seconds #=> Integer
@@ -1964,7 +2030,7 @@ module Aws::ElasticLoadBalancingV2
1964
2030
  # resp.target_health_descriptions[0].target.port #=> Integer
1965
2031
  # resp.target_health_descriptions[0].target.availability_zone #=> String
1966
2032
  # resp.target_health_descriptions[0].health_check_port #=> String
1967
- # resp.target_health_descriptions[0].target_health.state #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining"
2033
+ # resp.target_health_descriptions[0].target_health.state #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining", "unavailable"
1968
2034
  # resp.target_health_descriptions[0].target_health.reason #=> String, one of "Elb.RegistrationInProgress", "Elb.InitialHealthChecking", "Target.ResponseCodeMismatch", "Target.Timeout", "Target.FailedHealthChecks", "Target.NotRegistered", "Target.NotInUse", "Target.DeregistrationInProgress", "Target.InvalidState", "Target.IpUnusable", "Elb.InternalError"
1969
2035
  # resp.target_health_descriptions[0].target_health.description #=> String
1970
2036
  #
@@ -1993,6 +2059,8 @@ module Aws::ElasticLoadBalancingV2
1993
2059
  #
1994
2060
  # @option params [String] :protocol
1995
2061
  # The protocol for connections from clients to the load balancer.
2062
+ # Application Load Balancers support HTTP and HTTPS and Network Load
2063
+ # Balancers support TCP.
1996
2064
  #
1997
2065
  # @option params [String] :ssl_policy
1998
2066
  # The security policy that defines which protocols and ciphers are
@@ -2007,7 +2075,9 @@ module Aws::ElasticLoadBalancingV2
2007
2075
  # The SSL server certificate.
2008
2076
  #
2009
2077
  # @option params [Array<Types::Action>] :default_actions
2010
- # The default actions.
2078
+ # The default action. For Application Load Balancers, the protocol of
2079
+ # the specified target group must be HTTP or HTTPS. For Network Load
2080
+ # Balancers, the protocol of the specified target group must be TCP.
2011
2081
  #
2012
2082
  # @return [Types::ModifyListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2013
2083
  #
@@ -2088,7 +2158,7 @@ module Aws::ElasticLoadBalancingV2
2088
2158
  # resp = client.modify_listener({
2089
2159
  # listener_arn: "ListenerArn", # required
2090
2160
  # port: 1,
2091
- # protocol: "HTTP", # accepts HTTP, HTTPS
2161
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP
2092
2162
  # ssl_policy: "SslPolicyName",
2093
2163
  # certificates: [
2094
2164
  # {
@@ -2109,7 +2179,7 @@ module Aws::ElasticLoadBalancingV2
2109
2179
  # resp.listeners[0].listener_arn #=> String
2110
2180
  # resp.listeners[0].load_balancer_arn #=> String
2111
2181
  # resp.listeners[0].port #=> Integer
2112
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS"
2182
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
2113
2183
  # resp.listeners[0].certificates #=> Array
2114
2184
  # resp.listeners[0].certificates[0].certificate_arn #=> String
2115
2185
  # resp.listeners[0].ssl_policy #=> String
@@ -2127,7 +2197,7 @@ module Aws::ElasticLoadBalancingV2
2127
2197
  end
2128
2198
 
2129
2199
  # Modifies the specified attributes of the specified Application Load
2130
- # Balancer.
2200
+ # Balancer or Network Load Balancer.
2131
2201
  #
2132
2202
  # If any of the specified attributes can't be modified as requested,
2133
2203
  # the call fails. Any existing attributes that you do not modify retain
@@ -2313,7 +2383,7 @@ module Aws::ElasticLoadBalancingV2
2313
2383
  # The conditions.
2314
2384
  #
2315
2385
  # @option params [Array<Types::Action>] :actions
2316
- # The actions.
2386
+ # The actions. The target group must use the HTTP or HTTPS protocol.
2317
2387
  #
2318
2388
  # @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2319
2389
  #
@@ -2411,21 +2481,27 @@ module Aws::ElasticLoadBalancingV2
2411
2481
  # The Amazon Resource Name (ARN) of the target group.
2412
2482
  #
2413
2483
  # @option params [String] :health_check_protocol
2414
- # The protocol to use to connect with the target.
2484
+ # The protocol the load balancer uses when performing health checks on
2485
+ # targets. The TCP protocol is supported only if the protocol of the
2486
+ # target group is TCP.
2415
2487
  #
2416
2488
  # @option params [String] :health_check_port
2417
- # The port to use to connect with the target.
2489
+ # The port the load balancer uses when performing health checks on
2490
+ # targets.
2418
2491
  #
2419
2492
  # @option params [String] :health_check_path
2420
- # The ping path that is the destination for the health check request.
2493
+ # \[HTTP/HTTPS health checks\] The ping path that is the destination for
2494
+ # the health check request.
2421
2495
  #
2422
2496
  # @option params [Integer] :health_check_interval_seconds
2423
2497
  # The approximate amount of time, in seconds, between health checks of
2424
- # an individual target.
2498
+ # an individual target. For Application Load Balancers, the range is 5
2499
+ # to 300 seconds. For Network Load Balancers, the supported values are
2500
+ # 10 or 30 seconds.
2425
2501
  #
2426
2502
  # @option params [Integer] :health_check_timeout_seconds
2427
- # The amount of time, in seconds, during which no response means a
2428
- # failed health check.
2503
+ # \[HTTP/HTTPS health checks\] The amount of time, in seconds, during
2504
+ # which no response means a failed health check.
2429
2505
  #
2430
2506
  # @option params [Integer] :healthy_threshold_count
2431
2507
  # The number of consecutive health checks successes required before
@@ -2433,11 +2509,12 @@ module Aws::ElasticLoadBalancingV2
2433
2509
  #
2434
2510
  # @option params [Integer] :unhealthy_threshold_count
2435
2511
  # The number of consecutive health check failures required before
2436
- # considering the target unhealthy.
2512
+ # considering the target unhealthy. For Network Load Balancers, this
2513
+ # value must be the same as the healthy threshold count.
2437
2514
  #
2438
2515
  # @option params [Types::Matcher] :matcher
2439
- # The HTTP codes to use when checking for a successful response from a
2440
- # target.
2516
+ # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
2517
+ # successful response from a target.
2441
2518
  #
2442
2519
  # @return [Types::ModifyTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2443
2520
  #
@@ -2483,7 +2560,7 @@ module Aws::ElasticLoadBalancingV2
2483
2560
  #
2484
2561
  # resp = client.modify_target_group({
2485
2562
  # target_group_arn: "TargetGroupArn", # required
2486
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS
2563
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP
2487
2564
  # health_check_port: "HealthCheckPort",
2488
2565
  # health_check_path: "Path",
2489
2566
  # health_check_interval_seconds: 1,
@@ -2500,10 +2577,10 @@ module Aws::ElasticLoadBalancingV2
2500
2577
  # resp.target_groups #=> Array
2501
2578
  # resp.target_groups[0].target_group_arn #=> String
2502
2579
  # resp.target_groups[0].target_group_name #=> String
2503
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS"
2580
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP"
2504
2581
  # resp.target_groups[0].port #=> Integer
2505
2582
  # resp.target_groups[0].vpc_id #=> String
2506
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS"
2583
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP"
2507
2584
  # resp.target_groups[0].health_check_port #=> String
2508
2585
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
2509
2586
  # resp.target_groups[0].health_check_timeout_seconds #=> Integer
@@ -2611,6 +2688,10 @@ module Aws::ElasticLoadBalancingV2
2611
2688
  # specified for the target group. If the target is an EC2 instance, it
2612
2689
  # must be in the `running` state when you register it.
2613
2690
  #
2691
+ # Network Load Balancers do not support the following instance types as
2692
+ # targets: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
2693
+ # M3, and T1.
2694
+ #
2614
2695
  # To remove a target from a target group, use DeregisterTargets.
2615
2696
  #
2616
2697
  # @option params [required, String] :target_group_arn
@@ -2680,7 +2761,8 @@ module Aws::ElasticLoadBalancingV2
2680
2761
  req.send_request(options)
2681
2762
  end
2682
2763
 
2683
- # Removes the specified tags from the specified resource.
2764
+ # Removes the specified tags from the specified Elastic Load Balancing
2765
+ # resource.
2684
2766
  #
2685
2767
  # To list the current tags for your resources, use DescribeTags.
2686
2768
  #
@@ -2724,7 +2806,9 @@ module Aws::ElasticLoadBalancingV2
2724
2806
  end
2725
2807
 
2726
2808
  # Sets the type of IP addresses used by the subnets of the specified
2727
- # Application Load Balancer.
2809
+ # Application Load Balancer or Network Load Balancer.
2810
+ #
2811
+ # Note that Network Load Balancers must use `ipv4`.
2728
2812
  #
2729
2813
  # @option params [required, String] :load_balancer_arn
2730
2814
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -2844,9 +2928,12 @@ module Aws::ElasticLoadBalancingV2
2844
2928
  req.send_request(options)
2845
2929
  end
2846
2930
 
2847
- # Associates the specified security groups with the specified load
2848
- # balancer. The specified security groups override the previously
2849
- # associated security groups.
2931
+ # Associates the specified security groups with the specified
2932
+ # Application Load Balancer. The specified security groups override the
2933
+ # previously associated security groups.
2934
+ #
2935
+ # Note that you can't specify a security group for a Network Load
2936
+ # Balancer.
2850
2937
  #
2851
2938
  # @option params [required, String] :load_balancer_arn
2852
2939
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -2899,15 +2986,26 @@ module Aws::ElasticLoadBalancingV2
2899
2986
  end
2900
2987
 
2901
2988
  # Enables the Availability Zone for the specified subnets for the
2902
- # specified load balancer. The specified subnets replace the previously
2903
- # enabled subnets.
2989
+ # specified Application Load Balancer. The specified subnets replace the
2990
+ # previously enabled subnets.
2991
+ #
2992
+ # Note that you can't change the subnets for a Network Load Balancer.
2904
2993
  #
2905
2994
  # @option params [required, String] :load_balancer_arn
2906
2995
  # The Amazon Resource Name (ARN) of the load balancer.
2907
2996
  #
2908
2997
  # @option params [required, Array<String>] :subnets
2909
- # The IDs of the subnets. You must specify at least two subnets. You can
2910
- # add only one subnet per Availability Zone.
2998
+ # The IDs of the subnets. You must specify subnets from at least two
2999
+ # Availability Zones. You can specify only one subnet per Availability
3000
+ # Zone. You must specify either subnets or subnet mappings.
3001
+ #
3002
+ # @option params [Array<Types::SubnetMapping>] :subnet_mappings
3003
+ # The IDs of the subnets. You must specify subnets from at least two
3004
+ # Availability Zones. You can specify only one subnet per Availability
3005
+ # Zone. You must specify either subnets or subnet mappings.
3006
+ #
3007
+ # The load balancer is allocated one static IP address per subnet. You
3008
+ # cannot specify your own Elastic IP addresses.
2911
3009
  #
2912
3010
  # @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2913
3011
  #
@@ -2945,6 +3043,12 @@ module Aws::ElasticLoadBalancingV2
2945
3043
  # resp = client.set_subnets({
2946
3044
  # load_balancer_arn: "LoadBalancerArn", # required
2947
3045
  # subnets: ["SubnetId"], # required
3046
+ # subnet_mappings: [
3047
+ # {
3048
+ # subnet_id: "SubnetId",
3049
+ # allocation_id: "AllocationId",
3050
+ # },
3051
+ # ],
2948
3052
  # })
2949
3053
  #
2950
3054
  # @example Response structure
@@ -2952,6 +3056,9 @@ module Aws::ElasticLoadBalancingV2
2952
3056
  # resp.availability_zones #=> Array
2953
3057
  # resp.availability_zones[0].zone_name #=> String
2954
3058
  # resp.availability_zones[0].subnet_id #=> String
3059
+ # resp.availability_zones[0].load_balancer_addresses #=> Array
3060
+ # resp.availability_zones[0].load_balancer_addresses[0].ip_address #=> String
3061
+ # resp.availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
2955
3062
  #
2956
3063
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets AWS API Documentation
2957
3064
  #
@@ -2975,7 +3082,7 @@ module Aws::ElasticLoadBalancingV2
2975
3082
  params: params,
2976
3083
  config: config)
2977
3084
  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
2978
- context[:gem_version] = '1.1.0'
3085
+ context[:gem_version] = '1.2.0'
2979
3086
  Seahorse::Client::Request.new(handlers, context)
2980
3087
  end
2981
3088