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.
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