aws-sdk-elasticloadbalancingv2 1.52.0 → 1.57.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
  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