aws-sdk-elasticloadbalancingv2 1.52.0 → 1.57.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
  SHA256:
3
- metadata.gz: 31ec69b9b37f3517f96331f10af3e6b82229e1cdc2acc9790129e74760586b83
4
- data.tar.gz: 109ac1a612dcefeebcea041ee482037f474840c1dd4ab3726e0ed2a377fbbe29
3
+ metadata.gz: 9680ae9aa61339670eb1af4a0903f29e4fed162e4ab949c2996f143e7405681a
4
+ data.tar.gz: 73c75153d0697883330c3d6a3d747ca439cd4327cb02978d33bb473d50cc15f2
5
5
  SHA512:
6
- metadata.gz: 3a933d128c083fad76859fdf683098e3cf431377e6aba6b79d2be10148bc0f9a5f8ce6527044d349f0ed1b019e83b305aa6466fe569c97d9c0602331fbb38c2e
7
- data.tar.gz: 640401d0d4cf5b3d1685c5b67cb206e1a7c7a954cba3136e3ecabf55889883bd2b9b9b3c55ef8058767ada020049a6ebe1be917ab09c6a1f7cf5088097b4733e
6
+ metadata.gz: 2f71315412185cb16bdc5eec8cd9cbc95fd0dea27a714e3c764f1f5a6c7cec5e7b22760af4cab5e2dd65519e0af3622a53ae90a3853ea65a24e5d33f1bbdef92
7
+ data.tar.gz: c5092162dfb2ff77517091b9411ec62dd607f7c0edc36ff555e830c36d1bf4207036e38086684b9ac98eaaaf9a54e7284ee9cf86d9fcd5b36ebe5c22a9aa0f50
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
49
49
  # @!group service
50
50
  module Aws::ElasticLoadBalancingV2
51
51
 
52
- GEM_VERSION = '1.52.0'
52
+ GEM_VERSION = '1.57.0'
53
53
 
54
54
  end
@@ -333,17 +333,14 @@ module Aws::ElasticLoadBalancingV2
333
333
  # If the certificate in already in the certificate list, the call is
334
334
  # successful but the certificate is not added again.
335
335
  #
336
- # To get the certificate list for a listener, use
337
- # DescribeListenerCertificates. To remove certificates from the
338
- # certificate list for a listener, use RemoveListenerCertificates. To
339
- # replace the default certificate for a listener, use ModifyListener.
340
- #
341
- # For more information, see [SSL Certificates][1] in the *Application
342
- # Load Balancers Guide*.
336
+ # For more information, see [HTTPS listeners][1] in the *Application
337
+ # Load Balancers Guide* or [TLS listeners][2] in the *Network Load
338
+ # Balancers Guide*.
343
339
  #
344
340
  #
345
341
  #
346
- # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates
342
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html
343
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html
347
344
  #
348
345
  # @option params [required, String] :listener_arn
349
346
  # The Amazon Resource Name (ARN) of the listener.
@@ -385,14 +382,12 @@ module Aws::ElasticLoadBalancingV2
385
382
 
386
383
  # Adds the specified tags to the specified Elastic Load Balancing
387
384
  # resource. You can tag your Application Load Balancers, Network Load
388
- # Balancers, and your target groups.
385
+ # Balancers, Gateway Load Balancers, target groups, listeners, and
386
+ # rules.
389
387
  #
390
388
  # Each tag consists of a key and an optional value. If a resource
391
389
  # already has a tag with the same key, `AddTags` updates its value.
392
390
  #
393
- # To list the current tags for your resources, use DescribeTags. To
394
- # remove tags from your resources, use RemoveTags.
395
- #
396
391
  # @option params [required, Array<String>] :resource_arns
397
392
  # The Amazon Resource Name (ARN) of the resource.
398
393
  #
@@ -443,65 +438,48 @@ module Aws::ElasticLoadBalancingV2
443
438
  req.send_request(options)
444
439
  end
445
440
 
446
- # Creates a listener for the specified Application Load Balancer or
447
- # Network Load Balancer.
441
+ # Creates a listener for the specified Application Load Balancer,
442
+ # Network Load Balancer. or Gateway Load Balancer.
443
+ #
444
+ # For more information, see the following:
448
445
  #
449
- # To update a listener, use ModifyListener. When you are finished with a
450
- # listener, you can delete it using DeleteListener. If you are finished
451
- # with both the listener and the load balancer, you can delete them both
452
- # using DeleteLoadBalancer.
446
+ # * [Listeners for your Application Load Balancers][1]
447
+ #
448
+ # * [Listeners for your Network Load Balancers][2]
449
+ #
450
+ # * [Listeners for your Gateway Load Balancers][3]
453
451
  #
454
452
  # This operation is idempotent, which means that it completes at most
455
453
  # one time. If you attempt to create multiple listeners with the same
456
454
  # settings, each call succeeds.
457
455
  #
458
- # For more information, see [Listeners for Your Application Load
459
- # Balancers][1] in the *Application Load Balancers Guide* and [Listeners
460
- # for Your Network Load Balancers][2] in the *Network Load Balancers
461
- # Guide*.
462
- #
463
456
  #
464
457
  #
465
458
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
466
459
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html
460
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-listeners.html
467
461
  #
468
462
  # @option params [required, String] :load_balancer_arn
469
463
  # The Amazon Resource Name (ARN) of the load balancer.
470
464
  #
471
- # @option params [required, String] :protocol
465
+ # @option params [String] :protocol
472
466
  # The protocol for connections from clients to the load balancer. For
473
467
  # Application Load Balancers, the supported protocols are HTTP and
474
468
  # HTTPS. For Network Load Balancers, the supported protocols are TCP,
475
- # TLS, UDP, and TCP\_UDP.
469
+ # TLS, UDP, and TCP\_UDP. You can’t specify the UDP or TCP\_UDP protocol
470
+ # if dual-stack mode is enabled. You cannot specify a protocol for a
471
+ # Gateway Load Balancer.
476
472
  #
477
- # @option params [required, Integer] :port
478
- # The port on which the load balancer is listening.
473
+ # @option params [Integer] :port
474
+ # The port on which the load balancer is listening. You cannot specify a
475
+ # port for a Gateway Load Balancer.
479
476
  #
480
477
  # @option params [String] :ssl_policy
481
478
  # \[HTTPS and TLS listeners\] The security policy that defines which
482
- # protocols and ciphers are supported. The following are the possible
483
- # values:
484
- #
485
- # * `ELBSecurityPolicy-2016-08`
486
- #
487
- # * `ELBSecurityPolicy-TLS-1-0-2015-04`
488
- #
489
- # * `ELBSecurityPolicy-TLS-1-1-2017-01`
490
- #
491
- # * `ELBSecurityPolicy-TLS-1-2-2017-01`
492
- #
493
- # * `ELBSecurityPolicy-TLS-1-2-Ext-2018-06`
494
- #
495
- # * `ELBSecurityPolicy-FS-2018-06`
496
- #
497
- # * `ELBSecurityPolicy-FS-1-1-2019-08`
498
- #
499
- # * `ELBSecurityPolicy-FS-1-2-2019-08`
500
- #
501
- # * `ELBSecurityPolicy-FS-1-2-Res-2019-08`
479
+ # protocols and ciphers are supported.
502
480
  #
503
- # For more information, see [Security Policies][1] in the *Application
504
- # Load Balancers Guide* and [Security Policies][2] in the *Network Load
481
+ # For more information, see [Security policies][1] in the *Application
482
+ # Load Balancers Guide* and [Security policies][2] in the *Network Load
505
483
  # Balancers Guide*.
506
484
  #
507
485
  #
@@ -514,30 +492,8 @@ module Aws::ElasticLoadBalancingV2
514
492
  # You must provide exactly one certificate. Set `CertificateArn` to the
515
493
  # certificate ARN but do not set `IsDefault`.
516
494
  #
517
- # To create a certificate list for the listener, use
518
- # AddListenerCertificates.
519
- #
520
495
  # @option params [required, Array<Types::Action>] :default_actions
521
- # The actions for the default rule. The rule must include one forward
522
- # action or one or more fixed-response actions.
523
- #
524
- # If the action type is `forward`, you specify one or more target
525
- # groups. The protocol of the target group must be HTTP or HTTPS for an
526
- # Application Load Balancer. The protocol of the target group must be
527
- # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
528
- #
529
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
530
- # authenticate users through an identity provider that is OpenID Connect
531
- # (OIDC) compliant.
532
- #
533
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
534
- # authenticate users through the user pools supported by Amazon Cognito.
535
- #
536
- # \[Application Load Balancer\] If the action type is `redirect`, you
537
- # redirect specified client requests from one URL to another.
538
- #
539
- # \[Application Load Balancer\] If the action type is `fixed-response`,
540
- # you drop specified client requests and return a custom HTTP response.
496
+ # The actions for the default rule.
541
497
  #
542
498
  # @option params [Array<String>] :alpn_policy
543
499
  # \[TLS listeners\] The name of the Application-Layer Protocol
@@ -554,13 +510,16 @@ module Aws::ElasticLoadBalancingV2
554
510
  #
555
511
  # * `None`
556
512
  #
557
- # For more information, see [ALPN Policies][1] in the *Network Load
513
+ # For more information, see [ALPN policies][1] in the *Network Load
558
514
  # Balancers Guide*.
559
515
  #
560
516
  #
561
517
  #
562
518
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
563
519
  #
520
+ # @option params [Array<Types::Tag>] :tags
521
+ # The tags to assign to the listener.
522
+ #
564
523
  # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
565
524
  #
566
525
  # * {Types::CreateListenerOutput#listeners #listeners} => Array&lt;Types::Listener&gt;
@@ -654,8 +613,8 @@ module Aws::ElasticLoadBalancingV2
654
613
  #
655
614
  # resp = client.create_listener({
656
615
  # load_balancer_arn: "LoadBalancerArn", # required
657
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
658
- # port: 1, # required
616
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
617
+ # port: 1,
659
618
  # ssl_policy: "SslPolicyName",
660
619
  # certificates: [
661
620
  # {
@@ -724,6 +683,12 @@ module Aws::ElasticLoadBalancingV2
724
683
  # },
725
684
  # ],
726
685
  # alpn_policy: ["AlpnPolicyValue"],
686
+ # tags: [
687
+ # {
688
+ # key: "TagKey", # required
689
+ # value: "TagValue",
690
+ # },
691
+ # ],
727
692
  # })
728
693
  #
729
694
  # @example Response structure
@@ -732,7 +697,7 @@ module Aws::ElasticLoadBalancingV2
732
697
  # resp.listeners[0].listener_arn #=> String
733
698
  # resp.listeners[0].load_balancer_arn #=> String
734
699
  # resp.listeners[0].port #=> Integer
735
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
700
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
736
701
  # resp.listeners[0].certificates #=> Array
737
702
  # resp.listeners[0].certificates[0].certificate_arn #=> String
738
703
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -789,36 +754,26 @@ module Aws::ElasticLoadBalancingV2
789
754
  req.send_request(options)
790
755
  end
791
756
 
792
- # Creates an Application Load Balancer or a Network Load Balancer.
757
+ # Creates an Application Load Balancer, Network Load Balancer, or
758
+ # Gateway Load Balancer.
759
+ #
760
+ # For more information, see the following:
793
761
  #
794
- # When you create a load balancer, you can specify security groups,
795
- # public subnets, IP address type, and tags. Otherwise, you could do so
796
- # later using SetSecurityGroups, SetSubnets, SetIpAddressType, and
797
- # AddTags.
762
+ # * [Application Load Balancers][1]
798
763
  #
799
- # To create listeners for your load balancer, use CreateListener. To
800
- # describe your current load balancers, see DescribeLoadBalancers. When
801
- # you are finished with a load balancer, you can delete it using
802
- # DeleteLoadBalancer.
764
+ # * [Network Load Balancers][2]
803
765
  #
804
- # For limit information, see [Limits for Your Application Load
805
- # Balancer][1] in the *Application Load Balancers Guide* and [Limits for
806
- # Your Network Load Balancer][2] in the *Network Load Balancers Guide*.
766
+ # * [Gateway Load Balancers][3]
807
767
  #
808
768
  # This operation is idempotent, which means that it completes at most
809
769
  # one time. If you attempt to create multiple load balancers with the
810
770
  # same settings, each call succeeds.
811
771
  #
812
- # For more information, see [Application Load Balancers][3] in the
813
- # *Application Load Balancers Guide* and [Network Load Balancers][4] in
814
- # the *Network Load Balancers Guide*.
815
772
  #
816
773
  #
817
- #
818
- # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
819
- # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
820
- # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
821
- # [4]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
774
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
775
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
776
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html
822
777
  #
823
778
  # @option params [required, String] :name
824
779
  # The name of the load balancer.
@@ -844,6 +799,9 @@ module Aws::ElasticLoadBalancingV2
844
799
  # \[Network Load Balancers\] You can specify subnets from one or more
845
800
  # Availability Zones.
846
801
  #
802
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
803
+ # Availability Zones.
804
+ #
847
805
  # @option params [Array<Types::SubnetMapping>] :subnet_mappings
848
806
  # The IDs of the public subnets. You can specify only one subnet per
849
807
  # Availability Zone. You must specify either subnets or subnet mappings.
@@ -862,7 +820,13 @@ module Aws::ElasticLoadBalancingV2
862
820
  # Availability Zones. You can specify one Elastic IP address per subnet
863
821
  # if you need static IP addresses for your internet-facing load
864
822
  # balancer. For internal load balancers, you can specify one private IP
865
- # address per subnet from the IPv4 range of the subnet.
823
+ # address per subnet from the IPv4 range of the subnet. For
824
+ # internet-facing load balancer, you can specify one IPv6 address per
825
+ # subnet.
826
+ #
827
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
828
+ # Availability Zones. You cannot specify Elastic IP addresses for your
829
+ # subnets.
866
830
  #
867
831
  # @option params [Array<String>] :security_groups
868
832
  # \[Application Load Balancers\] The IDs of the security groups for the
@@ -883,17 +847,19 @@ module Aws::ElasticLoadBalancingV2
883
847
  #
884
848
  # The default is an Internet-facing load balancer.
885
849
  #
850
+ # You cannot specify a scheme for a Gateway Load Balancer.
851
+ #
886
852
  # @option params [Array<Types::Tag>] :tags
887
- # One or more tags to assign to the load balancer.
853
+ # The tags to assign to the load balancer.
888
854
  #
889
855
  # @option params [String] :type
890
856
  # The type of load balancer. The default is `application`.
891
857
  #
892
858
  # @option params [String] :ip_address_type
893
- # \[Application Load Balancers\] The type of IP addresses used by the
894
- # subnets for your load balancer. The possible values are `ipv4` (for
895
- # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses).
896
- # Internal load balancers must use `ipv4`.
859
+ # The type of IP addresses used by the subnets for your load balancer.
860
+ # The possible values are `ipv4` (for IPv4 addresses) and `dualstack`
861
+ # (for IPv4 and IPv6 addresses). Internal load balancers must use
862
+ # `ipv4`.
897
863
  #
898
864
  # @option params [String] :customer_owned_ipv_4_pool
899
865
  # \[Application Load Balancers on Outposts\] The ID of the
@@ -1005,6 +971,7 @@ module Aws::ElasticLoadBalancingV2
1005
971
  # subnet_id: "SubnetId",
1006
972
  # allocation_id: "AllocationId",
1007
973
  # private_i_pv_4_address: "PrivateIPv4Address",
974
+ # i_pv_6_address: "IPv6Address",
1008
975
  # },
1009
976
  # ],
1010
977
  # security_groups: ["SecurityGroupId"],
@@ -1015,7 +982,7 @@ module Aws::ElasticLoadBalancingV2
1015
982
  # value: "TagValue",
1016
983
  # },
1017
984
  # ],
1018
- # type: "application", # accepts application, network
985
+ # type: "application", # accepts application, network, gateway
1019
986
  # ip_address_type: "ipv4", # accepts ipv4, dualstack
1020
987
  # customer_owned_ipv_4_pool: "CustomerOwnedIpv4Pool",
1021
988
  # })
@@ -1032,7 +999,7 @@ module Aws::ElasticLoadBalancingV2
1032
999
  # resp.load_balancers[0].vpc_id #=> String
1033
1000
  # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
1034
1001
  # resp.load_balancers[0].state.reason #=> String
1035
- # resp.load_balancers[0].type #=> String, one of "application", "network"
1002
+ # resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
1036
1003
  # resp.load_balancers[0].availability_zones #=> Array
1037
1004
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
1038
1005
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
@@ -1041,6 +1008,7 @@ module Aws::ElasticLoadBalancingV2
1041
1008
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
1042
1009
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
1043
1010
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
1011
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
1044
1012
  # resp.load_balancers[0].security_groups #=> Array
1045
1013
  # resp.load_balancers[0].security_groups[0] #=> String
1046
1014
  # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
@@ -1063,11 +1031,7 @@ module Aws::ElasticLoadBalancingV2
1063
1031
  # value to the highest value. When the conditions for a rule are met,
1064
1032
  # its actions are performed. If the conditions for no rules are met, the
1065
1033
  # actions for the default rule are performed. For more information, see
1066
- # [Listener Rules][1] in the *Application Load Balancers Guide*.
1067
- #
1068
- # To view your current rules, use DescribeRules. To update a rule, use
1069
- # ModifyRule. To set the priorities of your rules, use
1070
- # SetRulePriorities. To delete a rule, use DeleteRule.
1034
+ # [Listener rules][1] in the *Application Load Balancers Guide*.
1071
1035
  #
1072
1036
  #
1073
1037
  #
@@ -1077,38 +1041,17 @@ module Aws::ElasticLoadBalancingV2
1077
1041
  # The Amazon Resource Name (ARN) of the listener.
1078
1042
  #
1079
1043
  # @option params [required, Array<Types::RuleCondition>] :conditions
1080
- # The conditions. Each rule can optionally include up to one of each of
1081
- # the following conditions: `http-request-method`, `host-header`,
1082
- # `path-pattern`, and `source-ip`. Each rule can also optionally include
1083
- # one or more of each of the following conditions: `http-header` and
1084
- # `query-string`.
1044
+ # The conditions.
1085
1045
  #
1086
1046
  # @option params [required, Integer] :priority
1087
1047
  # The rule priority. A listener can't have multiple rules with the same
1088
1048
  # priority.
1089
1049
  #
1090
1050
  # @option params [required, Array<Types::Action>] :actions
1091
- # The actions. Each rule must include exactly one of the following types
1092
- # of actions: `forward`, `fixed-response`, or `redirect`, and it must be
1093
- # the last action to be performed.
1094
- #
1095
- # If the action type is `forward`, you specify one or more target
1096
- # groups. The protocol of the target group must be HTTP or HTTPS for an
1097
- # Application Load Balancer. The protocol of the target group must be
1098
- # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
1051
+ # The actions.
1099
1052
  #
1100
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
1101
- # authenticate users through an identity provider that is OpenID Connect
1102
- # (OIDC) compliant.
1103
- #
1104
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
1105
- # authenticate users through the user pools supported by Amazon Cognito.
1106
- #
1107
- # \[Application Load Balancer\] If the action type is `redirect`, you
1108
- # redirect specified client requests from one URL to another.
1109
- #
1110
- # \[Application Load Balancer\] If the action type is `fixed-response`,
1111
- # you drop specified client requests and return a custom HTTP response.
1053
+ # @option params [Array<Types::Tag>] :tags
1054
+ # The tags to assign to the rule.
1112
1055
  #
1113
1056
  # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1114
1057
  #
@@ -1259,6 +1202,12 @@ module Aws::ElasticLoadBalancingV2
1259
1202
  # },
1260
1203
  # },
1261
1204
  # ],
1205
+ # tags: [
1206
+ # {
1207
+ # key: "TagKey", # required
1208
+ # value: "TagValue",
1209
+ # },
1210
+ # ],
1262
1211
  # })
1263
1212
  #
1264
1213
  # @example Response structure
@@ -1337,29 +1286,23 @@ module Aws::ElasticLoadBalancingV2
1337
1286
 
1338
1287
  # Creates a target group.
1339
1288
  #
1340
- # To register targets with the target group, use RegisterTargets. To
1341
- # update the health check settings for the target group, use
1342
- # ModifyTargetGroup. To monitor the health of targets in the target
1343
- # group, use DescribeTargetHealth.
1289
+ # For more information, see the following:
1290
+ #
1291
+ # * [Target groups for your Application Load Balancers][1]
1344
1292
  #
1345
- # To route traffic to the targets in a target group, specify the target
1346
- # group in an action using CreateListener or CreateRule.
1293
+ # * [Target groups for your Network Load Balancers][2]
1347
1294
  #
1348
- # To delete a target group, use DeleteTargetGroup.
1295
+ # * [Target groups for your Gateway Load Balancers][3]
1349
1296
  #
1350
1297
  # This operation is idempotent, which means that it completes at most
1351
1298
  # one time. If you attempt to create multiple target groups with the
1352
1299
  # same settings, each call succeeds.
1353
1300
  #
1354
- # For more information, see [Target Groups for Your Application Load
1355
- # Balancers][1] in the *Application Load Balancers Guide* or [Target
1356
- # Groups for Your Network Load Balancers][2] in the *Network Load
1357
- # Balancers Guide*.
1358
- #
1359
1301
  #
1360
1302
  #
1361
1303
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
1362
1304
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
1305
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html
1363
1306
  #
1364
1307
  # @option params [required, String] :name
1365
1308
  # The name of the target group.
@@ -1372,14 +1315,22 @@ module Aws::ElasticLoadBalancingV2
1372
1315
  # The protocol to use for routing traffic to the targets. For
1373
1316
  # Application Load Balancers, the supported protocols are HTTP and
1374
1317
  # HTTPS. For Network Load Balancers, the supported protocols are TCP,
1375
- # TLS, UDP, or TCP\_UDP. A TCP\_UDP listener must be associated with a
1318
+ # TLS, UDP, or TCP\_UDP. For Gateway Load Balancers, the supported
1319
+ # protocol is GENEVE. A TCP\_UDP listener must be associated with a
1376
1320
  # TCP\_UDP target group. If the target is a Lambda function, this
1377
1321
  # parameter does not apply.
1378
1322
  #
1323
+ # @option params [String] :protocol_version
1324
+ # \[HTTP/HTTPS protocol\] The protocol version. Specify `GRPC` to send
1325
+ # requests to targets using gRPC. Specify `HTTP2` to send requests to
1326
+ # targets using HTTP/2. The default is `HTTP1`, which sends requests to
1327
+ # targets using HTTP/1.1.
1328
+ #
1379
1329
  # @option params [Integer] :port
1380
1330
  # The port on which the targets receive traffic. This port is used
1381
1331
  # unless you specify a port override when registering the target. If the
1382
- # target is a Lambda function, this parameter does not apply.
1332
+ # target is a Lambda function, this parameter does not apply. If the
1333
+ # protocol is GENEVE, the supported port is 6081.
1383
1334
  #
1384
1335
  # @option params [String] :vpc_id
1385
1336
  # The identifier of the virtual private cloud (VPC). If the target is a
@@ -1389,15 +1340,17 @@ module Aws::ElasticLoadBalancingV2
1389
1340
  # @option params [String] :health_check_protocol
1390
1341
  # The protocol the load balancer uses when performing health checks on
1391
1342
  # targets. For Application Load Balancers, the default is HTTP. For
1392
- # Network Load Balancers, the default is TCP. The TCP protocol is
1393
- # supported for health checks only if the protocol of the target group
1394
- # is TCP, TLS, UDP, or TCP\_UDP. The TLS, UDP, and TCP\_UDP protocols
1395
- # are not supported for health checks.
1343
+ # Network Load Balancers and Gateway Load Balancers, the default is TCP.
1344
+ # The TCP protocol is not supported for health checks if the protocol of
1345
+ # the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP\_UDP
1346
+ # protocols are not supported for health checks.
1396
1347
  #
1397
1348
  # @option params [String] :health_check_port
1398
1349
  # The port the load balancer uses when performing health checks on
1399
- # targets. The default is `traffic-port`, which is the port on which
1400
- # each target receives traffic from the load balancer.
1350
+ # targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP\_UDP,
1351
+ # the default is `traffic-port`, which is the port on which each target
1352
+ # receives traffic from the load balancer. If the protocol is GENEVE,
1353
+ # the default is port 80.
1401
1354
  #
1402
1355
  # @option params [Boolean] :health_check_enabled
1403
1356
  # Indicates whether health checks are enabled. If the target type is
@@ -1406,57 +1359,68 @@ module Aws::ElasticLoadBalancingV2
1406
1359
  # enabled and cannot be disabled.
1407
1360
  #
1408
1361
  # @option params [String] :health_check_path
1409
- # \[HTTP/HTTPS health checks\] The ping path that is the destination on
1410
- # the targets for health checks. The default is /.
1362
+ # \[HTTP/HTTPS health checks\] The destination for health checks on the
1363
+ # targets.
1364
+ #
1365
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
1366
+ #
1367
+ # \[GRPC protocol version\] The path of a custom health check method
1368
+ # with the format /package.service/method. The default is
1369
+ # /AWS.ALB/healthcheck.
1411
1370
  #
1412
1371
  # @option params [Integer] :health_check_interval_seconds
1413
1372
  # The approximate amount of time, in seconds, between health checks of
1414
- # an individual target. For HTTP and HTTPS health checks, the range is
1415
- # 5–300 seconds. For TCP health checks, the supported values are 10 and
1416
- # 30 seconds. If the target type is `instance` or `ip`, the default is
1417
- # 30 seconds. If the target type is `lambda`, the default is 35 seconds.
1373
+ # an individual target. For TCP health checks, the supported values are
1374
+ # 10 and 30 seconds. If the target type is `instance` or `ip`, the
1375
+ # default is 30 seconds. If the target group protocol is GENEVE, the
1376
+ # default is 10 seconds. If the target type is `lambda`, the default is
1377
+ # 35 seconds.
1418
1378
  #
1419
1379
  # @option params [Integer] :health_check_timeout_seconds
1420
1380
  # The amount of time, in seconds, during which no response from a target
1421
- # means a failed health check. For target groups with a protocol of HTTP
1422
- # or HTTPS, the default is 5 seconds. For target groups with a protocol
1423
- # of TCP or TLS, this value must be 6 seconds for HTTP health checks and
1424
- # 10 seconds for TCP and HTTPS health checks. If the target type is
1425
- # `lambda`, the default is 30 seconds.
1381
+ # means a failed health check. For target groups with a protocol of
1382
+ # HTTP, HTTPS, or GENEVE, the default is 5 seconds. For target groups
1383
+ # with a protocol of TCP or TLS, this value must be 6 seconds for HTTP
1384
+ # health checks and 10 seconds for TCP and HTTPS health checks. If the
1385
+ # target type is `lambda`, the default is 30 seconds.
1426
1386
  #
1427
1387
  # @option params [Integer] :healthy_threshold_count
1428
1388
  # The number of consecutive health checks successes required before
1429
1389
  # considering an unhealthy target healthy. For target groups with a
1430
1390
  # protocol of HTTP or HTTPS, the default is 5. For target groups with a
1431
- # protocol of TCP or TLS, the default is 3. If the target type is
1432
- # `lambda`, the default is 5.
1391
+ # protocol of TCP, TLS, or GENEVE, the default is 3. If the target type
1392
+ # is `lambda`, the default is 5.
1433
1393
  #
1434
1394
  # @option params [Integer] :unhealthy_threshold_count
1435
1395
  # The number of consecutive health check failures required before
1436
- # considering a target unhealthy. For target groups with a protocol of
1437
- # HTTP or HTTPS, the default is 2. For target groups with a protocol of
1438
- # TCP or TLS, this value must be the same as the healthy threshold
1439
- # count. If the target type is `lambda`, the default is 2.
1396
+ # considering a target unhealthy. If the target group protocol is HTTP
1397
+ # or HTTPS, the default is 2. If the target group protocol is TCP or
1398
+ # TLS, this value must be the same as the healthy threshold count. If
1399
+ # the target group protocol is GENEVE, the default is 3. If the target
1400
+ # type is `lambda`, the default is 2.
1440
1401
  #
1441
1402
  # @option params [Types::Matcher] :matcher
1442
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
1443
- # successful response from a target.
1403
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
1404
+ # checking for a successful response from a target.
1444
1405
  #
1445
1406
  # @option params [String] :target_type
1446
1407
  # The type of target that you must specify when registering targets with
1447
1408
  # this target group. You can't specify targets for a target group using
1448
1409
  # more than one target type.
1449
1410
  #
1450
- # * `instance` - Targets are specified by instance ID. This is the
1451
- # default value.
1411
+ # * `instance` - Register targets by instance ID. This is the default
1412
+ # value.
1452
1413
  #
1453
- # * `ip` - Targets are specified by IP address. You can specify IP
1454
- # addresses from the subnets of the virtual private cloud (VPC) for
1455
- # the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
1414
+ # * `ip` - Register targets by IP address. You can specify IP addresses
1415
+ # from the subnets of the virtual private cloud (VPC) for the target
1416
+ # group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
1456
1417
  # 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't
1457
1418
  # specify publicly routable IP addresses.
1458
1419
  #
1459
- # * `lambda` - The target groups contains a single Lambda function.
1420
+ # * `lambda` - Register a single Lambda function as a target.
1421
+ #
1422
+ # @option params [Array<Types::Tag>] :tags
1423
+ # The tags to assign to the target group.
1460
1424
  #
1461
1425
  # @return [Types::CreateTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1462
1426
  #
@@ -1502,10 +1466,11 @@ module Aws::ElasticLoadBalancingV2
1502
1466
  #
1503
1467
  # resp = client.create_target_group({
1504
1468
  # name: "TargetGroupName", # required
1505
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1469
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1470
+ # protocol_version: "ProtocolVersion",
1506
1471
  # port: 1,
1507
1472
  # vpc_id: "VpcId",
1508
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1473
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1509
1474
  # health_check_port: "HealthCheckPort",
1510
1475
  # health_check_enabled: false,
1511
1476
  # health_check_path: "Path",
@@ -1514,9 +1479,16 @@ module Aws::ElasticLoadBalancingV2
1514
1479
  # healthy_threshold_count: 1,
1515
1480
  # unhealthy_threshold_count: 1,
1516
1481
  # matcher: {
1517
- # http_code: "HttpCode", # required
1482
+ # http_code: "HttpCode",
1483
+ # grpc_code: "GrpcCode",
1518
1484
  # },
1519
1485
  # target_type: "instance", # accepts instance, ip, lambda
1486
+ # tags: [
1487
+ # {
1488
+ # key: "TagKey", # required
1489
+ # value: "TagValue",
1490
+ # },
1491
+ # ],
1520
1492
  # })
1521
1493
  #
1522
1494
  # @example Response structure
@@ -1524,10 +1496,10 @@ module Aws::ElasticLoadBalancingV2
1524
1496
  # resp.target_groups #=> Array
1525
1497
  # resp.target_groups[0].target_group_arn #=> String
1526
1498
  # resp.target_groups[0].target_group_name #=> String
1527
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
1499
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1528
1500
  # resp.target_groups[0].port #=> Integer
1529
1501
  # resp.target_groups[0].vpc_id #=> String
1530
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
1502
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1531
1503
  # resp.target_groups[0].health_check_port #=> String
1532
1504
  # resp.target_groups[0].health_check_enabled #=> Boolean
1533
1505
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -1536,9 +1508,11 @@ module Aws::ElasticLoadBalancingV2
1536
1508
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
1537
1509
  # resp.target_groups[0].health_check_path #=> String
1538
1510
  # resp.target_groups[0].matcher.http_code #=> String
1511
+ # resp.target_groups[0].matcher.grpc_code #=> String
1539
1512
  # resp.target_groups[0].load_balancer_arns #=> Array
1540
1513
  # resp.target_groups[0].load_balancer_arns[0] #=> String
1541
1514
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
1515
+ # resp.target_groups[0].protocol_version #=> String
1542
1516
  #
1543
1517
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup AWS API Documentation
1544
1518
  #
@@ -1552,7 +1526,7 @@ module Aws::ElasticLoadBalancingV2
1552
1526
  # Deletes the specified listener.
1553
1527
  #
1554
1528
  # Alternatively, your listener is deleted when you delete the load
1555
- # balancer to which it is attached, using DeleteLoadBalancer.
1529
+ # balancer to which it is attached.
1556
1530
  #
1557
1531
  # @option params [required, String] :listener_arn
1558
1532
  # The Amazon Resource Name (ARN) of the listener.
@@ -1583,8 +1557,9 @@ module Aws::ElasticLoadBalancingV2
1583
1557
  req.send_request(options)
1584
1558
  end
1585
1559
 
1586
- # Deletes the specified Application Load Balancer or Network Load
1587
- # Balancer and its attached listeners.
1560
+ # Deletes the specified Application Load Balancer, Network Load
1561
+ # Balancer, or Gateway Load Balancer. Deleting a load balancer also
1562
+ # deletes its listeners.
1588
1563
  #
1589
1564
  # You can't delete a load balancer if deletion protection is enabled.
1590
1565
  # If the load balancer does not exist or has already been deleted, the
@@ -1661,6 +1636,9 @@ module Aws::ElasticLoadBalancingV2
1661
1636
  #
1662
1637
  # You can delete a target group if it is not referenced by any actions.
1663
1638
  # Deleting a target group also deletes any associated health checks.
1639
+ # Deleting a target group does not affect its registered targets. For
1640
+ # example, any EC2 instances continue to run until you stop or terminate
1641
+ # them.
1664
1642
  #
1665
1643
  # @option params [required, String] :target_group_arn
1666
1644
  # The Amazon Resource Name (ARN) of the target group.
@@ -1744,14 +1722,19 @@ module Aws::ElasticLoadBalancingV2
1744
1722
  # Describes the current Elastic Load Balancing resource limits for your
1745
1723
  # AWS account.
1746
1724
  #
1747
- # For more information, see [Limits for Your Application Load
1748
- # Balancers][1] in the *Application Load Balancer Guide* or [Limits for
1749
- # Your Network Load Balancers][2] in the *Network Load Balancers Guide*.
1725
+ # For more information, see the following:
1726
+ #
1727
+ # * [Quotas for your Application Load Balancers][1]
1728
+ #
1729
+ # * [Quotas for your Network Load Balancers][2]
1730
+ #
1731
+ # * [Quotas for your Gateway Load Balancers][3]
1750
1732
  #
1751
1733
  #
1752
1734
  #
1753
1735
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
1754
1736
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
1737
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html
1755
1738
  #
1756
1739
  # @option params [String] :marker
1757
1740
  # The marker for the next set of results. (You received this marker from
@@ -1795,12 +1778,14 @@ module Aws::ElasticLoadBalancingV2
1795
1778
  # twice in the results (once with `IsDefault` set to true and once with
1796
1779
  # `IsDefault` set to false).
1797
1780
  #
1798
- # For more information, see [SSL Certificates][1] in the *Application
1799
- # Load Balancers Guide*.
1781
+ # For more information, see [SSL certificates][1] in the *Application
1782
+ # Load Balancers Guide* or [Server certificates][2] in the *Network Load
1783
+ # Balancers Guide*.
1800
1784
  #
1801
1785
  #
1802
1786
  #
1803
1787
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates
1788
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-listener-certificate
1804
1789
  #
1805
1790
  # @option params [required, String] :listener_arn
1806
1791
  # The Amazon Resource Names (ARN) of the listener.
@@ -1842,12 +1827,9 @@ module Aws::ElasticLoadBalancingV2
1842
1827
  end
1843
1828
 
1844
1829
  # Describes the specified listeners or the listeners for the specified
1845
- # Application Load Balancer or Network Load Balancer. You must specify
1846
- # either a load balancer or one or more listeners.
1847
- #
1848
- # For an HTTPS or TLS listener, the output includes the default
1849
- # certificate for the listener. To describe the certificate list for the
1850
- # listener, use DescribeListenerCertificates.
1830
+ # Application Load Balancer, Network Load Balancer, or Gateway Load
1831
+ # Balancer. You must specify either a load balancer or one or more
1832
+ # listeners.
1851
1833
  #
1852
1834
  # @option params [String] :load_balancer_arn
1853
1835
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -1913,7 +1895,7 @@ module Aws::ElasticLoadBalancingV2
1913
1895
  # resp.listeners[0].listener_arn #=> String
1914
1896
  # resp.listeners[0].load_balancer_arn #=> String
1915
1897
  # resp.listeners[0].port #=> Integer
1916
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
1898
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1917
1899
  # resp.listeners[0].certificates #=> Array
1918
1900
  # resp.listeners[0].certificates[0].certificate_arn #=> String
1919
1901
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -1971,17 +1953,23 @@ module Aws::ElasticLoadBalancingV2
1971
1953
  req.send_request(options)
1972
1954
  end
1973
1955
 
1974
- # Describes the attributes for the specified Application Load Balancer
1975
- # or Network Load Balancer.
1956
+ # Describes the attributes for the specified Application Load Balancer,
1957
+ # Network Load Balancer, or Gateway Load Balancer.
1958
+ #
1959
+ # For more information, see the following:
1976
1960
  #
1977
- # For more information, see [Load Balancer Attributes][1] in the
1978
- # *Application Load Balancers Guide* or [Load Balancer Attributes][2] in
1979
- # the *Network Load Balancers Guide*.
1961
+ # * [Load balancer attributes][1] in the *Application Load Balancers
1962
+ # Guide*
1963
+ #
1964
+ # * [Load balancer attributes][2] in the *Network Load Balancers Guide*
1965
+ #
1966
+ # * [Load balancer attributes][3] in the *Gateway Load Balancers Guide*
1980
1967
  #
1981
1968
  #
1982
1969
  #
1983
1970
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes
1984
1971
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes
1972
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#load-balancer-attributes
1985
1973
  #
1986
1974
  # @option params [required, String] :load_balancer_arn
1987
1975
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -2048,10 +2036,6 @@ module Aws::ElasticLoadBalancingV2
2048
2036
 
2049
2037
  # Describes the specified load balancers or all of your load balancers.
2050
2038
  #
2051
- # To describe the listeners for a load balancer, use DescribeListeners.
2052
- # To describe the attributes for a load balancer, use
2053
- # DescribeLoadBalancerAttributes.
2054
- #
2055
2039
  # @option params [Array<String>] :load_balancer_arns
2056
2040
  # The Amazon Resource Names (ARN) of the load balancers. You can specify
2057
2041
  # up to 20 load balancers in a single call.
@@ -2137,7 +2121,7 @@ module Aws::ElasticLoadBalancingV2
2137
2121
  # resp.load_balancers[0].vpc_id #=> String
2138
2122
  # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
2139
2123
  # resp.load_balancers[0].state.reason #=> String
2140
- # resp.load_balancers[0].type #=> String, one of "application", "network"
2124
+ # resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
2141
2125
  # resp.load_balancers[0].availability_zones #=> Array
2142
2126
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
2143
2127
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
@@ -2146,6 +2130,7 @@ module Aws::ElasticLoadBalancingV2
2146
2130
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].ip_address #=> String
2147
2131
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
2148
2132
  # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
2133
+ # resp.load_balancers[0].availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
2149
2134
  # resp.load_balancers[0].security_groups #=> Array
2150
2135
  # resp.load_balancers[0].security_groups[0] #=> String
2151
2136
  # resp.load_balancers[0].ip_address_type #=> String, one of "ipv4", "dualstack"
@@ -2312,12 +2297,14 @@ module Aws::ElasticLoadBalancingV2
2312
2297
  # Describes the specified policies or all policies used for SSL
2313
2298
  # negotiation.
2314
2299
  #
2315
- # For more information, see [Security Policies][1] in the *Application
2316
- # Load Balancers Guide*.
2300
+ # For more information, see [Security policies][1] in the *Application
2301
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2302
+ # Balancers Guide*.
2317
2303
  #
2318
2304
  #
2319
2305
  #
2320
2306
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
2307
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
2321
2308
  #
2322
2309
  # @option params [Array<String>] :names
2323
2310
  # The names of the policies.
@@ -2465,9 +2452,10 @@ module Aws::ElasticLoadBalancingV2
2465
2452
  req.send_request(options)
2466
2453
  end
2467
2454
 
2468
- # Describes the tags for the specified resources. You can describe the
2469
- # tags for one or more Application Load Balancers, Network Load
2470
- # Balancers, and target groups.
2455
+ # Describes the tags for the specified Elastic Load Balancing resources.
2456
+ # You can describe the tags for one or more Application Load Balancers,
2457
+ # Network Load Balancers, Gateway Load Balancers, target groups,
2458
+ # listeners, or rules.
2471
2459
  #
2472
2460
  # @option params [required, Array<String>] :resource_arns
2473
2461
  # The Amazon Resource Names (ARN) of the resources. You can specify up
@@ -2532,14 +2520,20 @@ module Aws::ElasticLoadBalancingV2
2532
2520
 
2533
2521
  # Describes the attributes for the specified target group.
2534
2522
  #
2535
- # For more information, see [Target Group Attributes][1] in the
2536
- # *Application Load Balancers Guide* or [Target Group Attributes][2] in
2537
- # the *Network Load Balancers Guide*.
2523
+ # For more information, see the following:
2524
+ #
2525
+ # * [Target group attributes][1] in the *Application Load Balancers
2526
+ # Guide*
2527
+ #
2528
+ # * [Target group attributes][2] in the *Network Load Balancers Guide*
2529
+ #
2530
+ # * [Target group attributes][3] in the *Gateway Load Balancers Guide*
2538
2531
  #
2539
2532
  #
2540
2533
  #
2541
2534
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
2542
2535
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes
2536
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes
2543
2537
  #
2544
2538
  # @option params [required, String] :target_group_arn
2545
2539
  # The Amazon Resource Name (ARN) of the target group.
@@ -2606,10 +2600,6 @@ module Aws::ElasticLoadBalancingV2
2606
2600
  # load balancer, the names of one or more target groups, or the ARNs of
2607
2601
  # one or more target groups.
2608
2602
  #
2609
- # To describe the targets for a target group, use DescribeTargetHealth.
2610
- # To describe the attributes of a target group, use
2611
- # DescribeTargetGroupAttributes.
2612
- #
2613
2603
  # @option params [String] :load_balancer_arn
2614
2604
  # The Amazon Resource Name (ARN) of the load balancer.
2615
2605
  #
@@ -2685,10 +2675,10 @@ module Aws::ElasticLoadBalancingV2
2685
2675
  # resp.target_groups #=> Array
2686
2676
  # resp.target_groups[0].target_group_arn #=> String
2687
2677
  # resp.target_groups[0].target_group_name #=> String
2688
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
2678
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
2689
2679
  # resp.target_groups[0].port #=> Integer
2690
2680
  # resp.target_groups[0].vpc_id #=> String
2691
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
2681
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
2692
2682
  # resp.target_groups[0].health_check_port #=> String
2693
2683
  # resp.target_groups[0].health_check_enabled #=> Boolean
2694
2684
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -2697,9 +2687,11 @@ module Aws::ElasticLoadBalancingV2
2697
2687
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
2698
2688
  # resp.target_groups[0].health_check_path #=> String
2699
2689
  # resp.target_groups[0].matcher.http_code #=> String
2690
+ # resp.target_groups[0].matcher.grpc_code #=> String
2700
2691
  # resp.target_groups[0].load_balancer_arns #=> Array
2701
2692
  # resp.target_groups[0].load_balancer_arns[0] #=> String
2702
2693
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
2694
+ # resp.target_groups[0].protocol_version #=> String
2703
2695
  # resp.next_marker #=> String
2704
2696
  #
2705
2697
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups AWS API Documentation
@@ -2846,39 +2838,23 @@ module Aws::ElasticLoadBalancingV2
2846
2838
  # The Amazon Resource Name (ARN) of the listener.
2847
2839
  #
2848
2840
  # @option params [Integer] :port
2849
- # The port for connections from clients to the load balancer.
2841
+ # The port for connections from clients to the load balancer. You cannot
2842
+ # specify a port for a Gateway Load Balancer.
2850
2843
  #
2851
2844
  # @option params [String] :protocol
2852
2845
  # The protocol for connections from clients to the load balancer.
2853
2846
  # Application Load Balancers support the HTTP and HTTPS protocols.
2854
2847
  # Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
2855
- # protocols.
2848
+ # protocols. You can’t change the protocol to UDP or TCP\_UDP if
2849
+ # dual-stack mode is enabled. You cannot specify a protocol for a
2850
+ # Gateway Load Balancer.
2856
2851
  #
2857
2852
  # @option params [String] :ssl_policy
2858
2853
  # \[HTTPS and TLS listeners\] The security policy that defines which
2859
- # protocols and ciphers are supported. The following are the possible
2860
- # values:
2861
- #
2862
- # * `ELBSecurityPolicy-2016-08`
2863
- #
2864
- # * `ELBSecurityPolicy-TLS-1-0-2015-04`
2865
- #
2866
- # * `ELBSecurityPolicy-TLS-1-1-2017-01`
2867
- #
2868
- # * `ELBSecurityPolicy-TLS-1-2-2017-01`
2869
- #
2870
- # * `ELBSecurityPolicy-TLS-1-2-Ext-2018-06`
2854
+ # protocols and ciphers are supported.
2871
2855
  #
2872
- # * `ELBSecurityPolicy-FS-2018-06`
2873
- #
2874
- # * `ELBSecurityPolicy-FS-1-1-2019-08`
2875
- #
2876
- # * `ELBSecurityPolicy-FS-1-2-2019-08`
2877
- #
2878
- # * `ELBSecurityPolicy-FS-1-2-Res-2019-08`
2879
- #
2880
- # For more information, see [Security Policies][1] in the *Application
2881
- # Load Balancers Guide* and [Security Policies][2] in the *Network Load
2856
+ # For more information, see [Security policies][1] in the *Application
2857
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2882
2858
  # Balancers Guide*.
2883
2859
  #
2884
2860
  #
@@ -2891,29 +2867,8 @@ module Aws::ElasticLoadBalancingV2
2891
2867
  # You must provide exactly one certificate. Set `CertificateArn` to the
2892
2868
  # certificate ARN but do not set `IsDefault`.
2893
2869
  #
2894
- # To create a certificate list, use AddListenerCertificates.
2895
- #
2896
2870
  # @option params [Array<Types::Action>] :default_actions
2897
- # The actions for the default rule. The rule must include one forward
2898
- # action or one or more fixed-response actions.
2899
- #
2900
- # If the action type is `forward`, you specify one or more target
2901
- # groups. The protocol of the target group must be HTTP or HTTPS for an
2902
- # Application Load Balancer. The protocol of the target group must be
2903
- # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
2904
- #
2905
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2906
- # authenticate users through an identity provider that is OpenID Connect
2907
- # (OIDC) compliant.
2908
- #
2909
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
2910
- # authenticate users through the user pools supported by Amazon Cognito.
2911
- #
2912
- # \[Application Load Balancer\] If the action type is `redirect`, you
2913
- # redirect specified client requests from one URL to another.
2914
- #
2915
- # \[Application Load Balancer\] If the action type is `fixed-response`,
2916
- # you drop specified client requests and return a custom HTTP response.
2871
+ # The actions for the default rule.
2917
2872
  #
2918
2873
  # @option params [Array<String>] :alpn_policy
2919
2874
  # \[TLS listeners\] The name of the Application-Layer Protocol
@@ -2930,7 +2885,7 @@ module Aws::ElasticLoadBalancingV2
2930
2885
  #
2931
2886
  # * `None`
2932
2887
  #
2933
- # For more information, see [ALPN Policies][1] in the *Network Load
2888
+ # For more information, see [ALPN policies][1] in the *Network Load
2934
2889
  # Balancers Guide*.
2935
2890
  #
2936
2891
  #
@@ -3016,7 +2971,7 @@ module Aws::ElasticLoadBalancingV2
3016
2971
  # resp = client.modify_listener({
3017
2972
  # listener_arn: "ListenerArn", # required
3018
2973
  # port: 1,
3019
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2974
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
3020
2975
  # ssl_policy: "SslPolicyName",
3021
2976
  # certificates: [
3022
2977
  # {
@@ -3093,7 +3048,7 @@ module Aws::ElasticLoadBalancingV2
3093
3048
  # resp.listeners[0].listener_arn #=> String
3094
3049
  # resp.listeners[0].load_balancer_arn #=> String
3095
3050
  # resp.listeners[0].port #=> Integer
3096
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
3051
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3097
3052
  # resp.listeners[0].certificates #=> Array
3098
3053
  # resp.listeners[0].certificates[0].certificate_arn #=> String
3099
3054
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -3151,7 +3106,7 @@ module Aws::ElasticLoadBalancingV2
3151
3106
  end
3152
3107
 
3153
3108
  # Modifies the specified attributes of the specified Application Load
3154
- # Balancer or Network Load Balancer.
3109
+ # Balancer, Network Load Balancer, or Gateway Load Balancer.
3155
3110
  #
3156
3111
  # If any of the specified attributes can't be modified as requested,
3157
3112
  # the call fails. Any existing attributes that you do not modify retain
@@ -3332,39 +3287,14 @@ module Aws::ElasticLoadBalancingV2
3332
3287
  # an action, specify a list with the current actions plus the new
3333
3288
  # action.
3334
3289
  #
3335
- # To modify the actions for the default rule, use ModifyListener.
3336
- #
3337
3290
  # @option params [required, String] :rule_arn
3338
3291
  # The Amazon Resource Name (ARN) of the rule.
3339
3292
  #
3340
3293
  # @option params [Array<Types::RuleCondition>] :conditions
3341
- # The conditions. Each rule can include zero or one of the following
3342
- # conditions: `http-request-method`, `host-header`, `path-pattern`, and
3343
- # `source-ip`, and zero or more of the following conditions:
3344
- # `http-header` and `query-string`.
3294
+ # The conditions.
3345
3295
  #
3346
3296
  # @option params [Array<Types::Action>] :actions
3347
- # The actions. Each rule must include exactly one of the following types
3348
- # of actions: `forward`, `fixed-response`, or `redirect`, and it must be
3349
- # the last action to be performed.
3350
- #
3351
- # If the action type is `forward`, you specify one or more target
3352
- # groups. The protocol of the target group must be HTTP or HTTPS for an
3353
- # Application Load Balancer. The protocol of the target group must be
3354
- # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
3355
- #
3356
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
3357
- # authenticate users through an identity provider that is OpenID Connect
3358
- # (OIDC) compliant.
3359
- #
3360
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`, you
3361
- # authenticate users through the user pools supported by Amazon Cognito.
3362
- #
3363
- # \[Application Load Balancer\] If the action type is `redirect`, you
3364
- # redirect specified client requests from one URL to another.
3365
- #
3366
- # \[Application Load Balancer\] If the action type is `fixed-response`,
3367
- # you drop specified client requests and return a custom HTTP response.
3297
+ # The actions.
3368
3298
  #
3369
3299
  # @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3370
3300
  #
@@ -3585,16 +3515,15 @@ module Aws::ElasticLoadBalancingV2
3585
3515
  # Modifies the health checks used when evaluating the health state of
3586
3516
  # the targets in the specified target group.
3587
3517
  #
3588
- # To monitor the health of the targets, use DescribeTargetHealth.
3589
- #
3590
3518
  # @option params [required, String] :target_group_arn
3591
3519
  # The Amazon Resource Name (ARN) of the target group.
3592
3520
  #
3593
3521
  # @option params [String] :health_check_protocol
3594
3522
  # The protocol the load balancer uses when performing health checks on
3595
3523
  # targets. The TCP protocol is supported for health checks only if the
3596
- # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The TLS,
3597
- # UDP, and TCP\_UDP protocols are not supported for health checks.
3524
+ # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The
3525
+ # GENEVE, TLS, UDP, and TCP\_UDP protocols are not supported for health
3526
+ # checks.
3598
3527
  #
3599
3528
  # With Network Load Balancers, you can't modify this setting.
3600
3529
  #
@@ -3603,16 +3532,21 @@ module Aws::ElasticLoadBalancingV2
3603
3532
  # targets.
3604
3533
  #
3605
3534
  # @option params [String] :health_check_path
3606
- # \[HTTP/HTTPS health checks\] The ping path that is the destination for
3607
- # the health check request.
3535
+ # \[HTTP/HTTPS health checks\] The destination for health checks on the
3536
+ # targets.
3537
+ #
3538
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
3539
+ #
3540
+ # \[GRPC protocol version\] The path of a custom health check method
3541
+ # with the format /package.service/method. The default is
3542
+ # /AWS.ALB/healthcheck.
3608
3543
  #
3609
3544
  # @option params [Boolean] :health_check_enabled
3610
3545
  # Indicates whether health checks are enabled.
3611
3546
  #
3612
3547
  # @option params [Integer] :health_check_interval_seconds
3613
3548
  # The approximate amount of time, in seconds, between health checks of
3614
- # an individual target. For Application Load Balancers, the range is 5
3615
- # to 300 seconds. For Network Load Balancers, the supported values are
3549
+ # an individual target. For TCP health checks, the supported values are
3616
3550
  # 10 or 30 seconds.
3617
3551
  #
3618
3552
  # With Network Load Balancers, you can't modify this setting.
@@ -3629,14 +3563,13 @@ module Aws::ElasticLoadBalancingV2
3629
3563
  #
3630
3564
  # @option params [Integer] :unhealthy_threshold_count
3631
3565
  # The number of consecutive health check failures required before
3632
- # considering the target unhealthy. For Network Load Balancers, this
3633
- # value must be the same as the healthy threshold count.
3566
+ # considering the target unhealthy. For target groups with a protocol of
3567
+ # TCP or TLS, this value must be the same as the healthy threshold
3568
+ # count.
3634
3569
  #
3635
3570
  # @option params [Types::Matcher] :matcher
3636
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for a
3637
- # successful response from a target. The possible values are from 200 to
3638
- # 499. You can specify multiple values (for example, "200,202") or a
3639
- # range of values (for example, "200-299"). The default is 200.
3571
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
3572
+ # checking for a successful response from a target.
3640
3573
  #
3641
3574
  # With Network Load Balancers, you can't modify this setting.
3642
3575
  #
@@ -3685,7 +3618,7 @@ module Aws::ElasticLoadBalancingV2
3685
3618
  #
3686
3619
  # resp = client.modify_target_group({
3687
3620
  # target_group_arn: "TargetGroupArn", # required
3688
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
3621
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
3689
3622
  # health_check_port: "HealthCheckPort",
3690
3623
  # health_check_path: "Path",
3691
3624
  # health_check_enabled: false,
@@ -3694,7 +3627,8 @@ module Aws::ElasticLoadBalancingV2
3694
3627
  # healthy_threshold_count: 1,
3695
3628
  # unhealthy_threshold_count: 1,
3696
3629
  # matcher: {
3697
- # http_code: "HttpCode", # required
3630
+ # http_code: "HttpCode",
3631
+ # grpc_code: "GrpcCode",
3698
3632
  # },
3699
3633
  # })
3700
3634
  #
@@ -3703,10 +3637,10 @@ module Aws::ElasticLoadBalancingV2
3703
3637
  # resp.target_groups #=> Array
3704
3638
  # resp.target_groups[0].target_group_arn #=> String
3705
3639
  # resp.target_groups[0].target_group_name #=> String
3706
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
3640
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3707
3641
  # resp.target_groups[0].port #=> Integer
3708
3642
  # resp.target_groups[0].vpc_id #=> String
3709
- # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
3643
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3710
3644
  # resp.target_groups[0].health_check_port #=> String
3711
3645
  # resp.target_groups[0].health_check_enabled #=> Boolean
3712
3646
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -3715,9 +3649,11 @@ module Aws::ElasticLoadBalancingV2
3715
3649
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
3716
3650
  # resp.target_groups[0].health_check_path #=> String
3717
3651
  # resp.target_groups[0].matcher.http_code #=> String
3652
+ # resp.target_groups[0].matcher.grpc_code #=> String
3718
3653
  # resp.target_groups[0].load_balancer_arns #=> Array
3719
3654
  # resp.target_groups[0].load_balancer_arns[0] #=> String
3720
3655
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
3656
+ # resp.target_groups[0].protocol_version #=> String
3721
3657
  #
3722
3658
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup AWS API Documentation
3723
3659
  #
@@ -3820,18 +3756,12 @@ module Aws::ElasticLoadBalancingV2
3820
3756
  # CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can
3821
3757
  # register instances of these types by IP address.
3822
3758
  #
3823
- # To remove a target from a target group, use DeregisterTargets.
3824
- #
3825
3759
  # @option params [required, String] :target_group_arn
3826
3760
  # The Amazon Resource Name (ARN) of the target group.
3827
3761
  #
3828
3762
  # @option params [required, Array<Types::TargetDescription>] :targets
3829
3763
  # The targets.
3830
3764
  #
3831
- # To register a target by instance ID, specify the instance ID. To
3832
- # register a target by IP address, specify the IP address. To register a
3833
- # Lambda function, specify the ARN of the Lambda function.
3834
- #
3835
3765
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3836
3766
  #
3837
3767
  #
@@ -3895,12 +3825,6 @@ module Aws::ElasticLoadBalancingV2
3895
3825
  # Removes the specified certificate from the certificate list for the
3896
3826
  # specified HTTPS or TLS listener.
3897
3827
  #
3898
- # You can't remove the default certificate for a listener. To replace
3899
- # the default certificate, call ModifyListener.
3900
- #
3901
- # To list the certificates for your listener, use
3902
- # DescribeListenerCertificates.
3903
- #
3904
3828
  # @option params [required, String] :listener_arn
3905
3829
  # The Amazon Resource Name (ARN) of the listener.
3906
3830
  #
@@ -3933,9 +3857,9 @@ module Aws::ElasticLoadBalancingV2
3933
3857
  end
3934
3858
 
3935
3859
  # Removes the specified tags from the specified Elastic Load Balancing
3936
- # resource.
3937
- #
3938
- # To list the current tags for your resources, use DescribeTags.
3860
+ # resources. You can remove the tags for one or more Application Load
3861
+ # Balancers, Network Load Balancers, Gateway Load Balancers, target
3862
+ # groups, listeners, or rules.
3939
3863
  #
3940
3864
  # @option params [required, Array<String>] :resource_arns
3941
3865
  # The Amazon Resource Name (ARN) of the resource.
@@ -3985,8 +3909,8 @@ module Aws::ElasticLoadBalancingV2
3985
3909
  # @option params [required, String] :ip_address_type
3986
3910
  # The IP address type. The possible values are `ipv4` (for IPv4
3987
3911
  # addresses) and `dualstack` (for IPv4 and IPv6 addresses). Internal
3988
- # load balancers must use `ipv4`. Network Load Balancers must use
3989
- # `ipv4`.
3912
+ # load balancers must use `ipv4`. You can’t specify `dualstack` for a
3913
+ # load balancer with a UDP or TCP\_UDP listener.
3990
3914
  #
3991
3915
  # @return [Types::SetIpAddressTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3992
3916
  #
@@ -4153,7 +4077,8 @@ module Aws::ElasticLoadBalancingV2
4153
4077
  # Application Load Balancer. The specified security groups override the
4154
4078
  # previously associated security groups.
4155
4079
  #
4156
- # You can't specify a security group for a Network Load Balancer.
4080
+ # You can't specify a security group for a Network Load Balancer or
4081
+ # Gateway Load Balancer.
4157
4082
  #
4158
4083
  # @option params [required, String] :load_balancer_arn
4159
4084
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -4206,8 +4131,8 @@ module Aws::ElasticLoadBalancingV2
4206
4131
  end
4207
4132
 
4208
4133
  # Enables the Availability Zones for the specified public subnets for
4209
- # the specified load balancer. The specified subnets replace the
4210
- # previously enabled subnets.
4134
+ # the specified Application Load Balancer or Network Load Balancer. The
4135
+ # specified subnets replace the previously enabled subnets.
4211
4136
  #
4212
4137
  # When you specify subnets for a Network Load Balancer, you must include
4213
4138
  # all subnets that were enabled previously, with their existing
@@ -4217,10 +4142,21 @@ module Aws::ElasticLoadBalancingV2
4217
4142
  # The Amazon Resource Name (ARN) of the load balancer.
4218
4143
  #
4219
4144
  # @option params [Array<String>] :subnets
4220
- # The IDs of the public subnets. You must specify subnets from at least
4221
- # two Availability Zones. You can specify only one subnet per
4145
+ # The IDs of the public subnets. You can specify only one subnet per
4222
4146
  # Availability Zone. You must specify either subnets or subnet mappings.
4223
4147
  #
4148
+ # \[Application Load Balancers\] You must specify subnets from at least
4149
+ # two Availability Zones.
4150
+ #
4151
+ # \[Application Load Balancers on Outposts\] You must specify one
4152
+ # Outpost subnet.
4153
+ #
4154
+ # \[Application Load Balancers on Local Zones\] You can specify subnets
4155
+ # from one or more Local Zones.
4156
+ #
4157
+ # \[Network Load Balancers\] You can specify subnets from one or more
4158
+ # Availability Zones.
4159
+ #
4224
4160
  # @option params [Array<Types::SubnetMapping>] :subnet_mappings
4225
4161
  # The IDs of the public subnets. You can specify only one subnet per
4226
4162
  # Availability Zone. You must specify either subnets or subnet mappings.
@@ -4229,15 +4165,31 @@ module Aws::ElasticLoadBalancingV2
4229
4165
  # two Availability Zones. You cannot specify Elastic IP addresses for
4230
4166
  # your subnets.
4231
4167
  #
4168
+ # \[Application Load Balancers on Outposts\] You must specify one
4169
+ # Outpost subnet.
4170
+ #
4171
+ # \[Application Load Balancers on Local Zones\] You can specify subnets
4172
+ # from one or more Local Zones.
4173
+ #
4232
4174
  # \[Network Load Balancers\] You can specify subnets from one or more
4233
- # Availability Zones. If you need static IP addresses for your
4234
- # internet-facing load balancer, you can specify one Elastic IP address
4235
- # per subnet. For internal load balancers, you can specify one private
4236
- # IP address per subnet from the IPv4 range of the subnet.
4175
+ # Availability Zones. You can specify one Elastic IP address per subnet
4176
+ # if you need static IP addresses for your internet-facing load
4177
+ # balancer. For internal load balancers, you can specify one private IP
4178
+ # address per subnet from the IPv4 range of the subnet. For
4179
+ # internet-facing load balancer, you can specify one IPv6 address per
4180
+ # subnet.
4181
+ #
4182
+ # @option params [String] :ip_address_type
4183
+ # \[Network Load Balancers\] The type of IP addresses used by the
4184
+ # subnets for your load balancer. The possible values are `ipv4` (for
4185
+ # IPv4 addresses) and `dualstack` (for IPv4 and IPv6 addresses). You
4186
+ # can’t specify `dualstack` for a load balancer with a UDP or TCP\_UDP
4187
+ # listener. Internal load balancers must use `ipv4`.
4237
4188
  #
4238
4189
  # @return [Types::SetSubnetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4239
4190
  #
4240
4191
  # * {Types::SetSubnetsOutput#availability_zones #availability_zones} => Array&lt;Types::AvailabilityZone&gt;
4192
+ # * {Types::SetSubnetsOutput#ip_address_type #ip_address_type} => String
4241
4193
  #
4242
4194
  #
4243
4195
  # @example Example: To enable Availability Zones for a load balancer
@@ -4276,8 +4228,10 @@ module Aws::ElasticLoadBalancingV2
4276
4228
  # subnet_id: "SubnetId",
4277
4229
  # allocation_id: "AllocationId",
4278
4230
  # private_i_pv_4_address: "PrivateIPv4Address",
4231
+ # i_pv_6_address: "IPv6Address",
4279
4232
  # },
4280
4233
  # ],
4234
+ # ip_address_type: "ipv4", # accepts ipv4, dualstack
4281
4235
  # })
4282
4236
  #
4283
4237
  # @example Response structure
@@ -4290,6 +4244,8 @@ module Aws::ElasticLoadBalancingV2
4290
4244
  # resp.availability_zones[0].load_balancer_addresses[0].ip_address #=> String
4291
4245
  # resp.availability_zones[0].load_balancer_addresses[0].allocation_id #=> String
4292
4246
  # resp.availability_zones[0].load_balancer_addresses[0].private_i_pv_4_address #=> String
4247
+ # resp.availability_zones[0].load_balancer_addresses[0].i_pv_6_address #=> String
4248
+ # resp.ip_address_type #=> String, one of "ipv4", "dualstack"
4293
4249
  #
4294
4250
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetSubnets AWS API Documentation
4295
4251
  #
@@ -4313,7 +4269,7 @@ module Aws::ElasticLoadBalancingV2
4313
4269
  params: params,
4314
4270
  config: config)
4315
4271
  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
4316
- context[:gem_version] = '1.52.0'
4272
+ context[:gem_version] = '1.57.0'
4317
4273
  Seahorse::Client::Request.new(handlers, context)
4318
4274
  end
4319
4275