aws-sdk-elasticloadbalancingv2 1.50.0 → 1.55.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: 3258bea9f984201a7dc34d43e2389ef0b3e9130156a1f53632003f29224e8f5c
4
- data.tar.gz: 6a3cb9593599497f2b1ce7e62dfbe92c2cc4da908943f619f4e577c6f201579f
3
+ metadata.gz: 2ec2fe7f82a0e3659113fb2346b60aa3568620eb3c49f8a71137b598080c89f0
4
+ data.tar.gz: e8bd0aa38feec30f7a8c3c0e7f209abd3bd2bb2cb5f576b808aea2ad3a95a811
5
5
  SHA512:
6
- metadata.gz: e98aae14b82f6f2cf7a0f4d0c59aa3eb4caeaed237698454c973701f6f834410418ce1378328b45cbe0f5238214b2f6ea60ef2c5aef98ed261843bdc23891eda
7
- data.tar.gz: 7741aa4fdc0fd2fd8c6884e7a3b2a7c7e41a3f7a0250f406020d3f2392e44d96e2dd461cd2e265ea3bc36e278aa30aae17ddf26135e5f0e19c5c88589a0a4fff
6
+ metadata.gz: 4d7d168ddd7a818a663afdf4a014f7da3e10f0e283d9b3f705516e28e12eafd3801ab5699c2b0c47aa53fc6b81114e6ec1df939fba4483b088be629fb7989c81
7
+ data.tar.gz: 9df0f00e309488c729957762a28dc6f5362ef36d18d61f0764122c7074496a5e1918517afc9dbc6c171824063c87d2f7a520f479e5fbecaf912930a3a7f3153c
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-elasticloadbalancingv2/customizations'
48
49
  # @!group service
49
50
  module Aws::ElasticLoadBalancingV2
50
51
 
51
- GEM_VERSION = '1.50.0'
52
+ GEM_VERSION = '1.55.0'
52
53
 
53
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,47 @@ 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.
448
443
  #
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.
444
+ # For more information, see the following:
445
+ #
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 cannot specify a protocol for a Gateway
470
+ # Load Balancer.
476
471
  #
477
- # @option params [required, Integer] :port
478
- # The port on which the load balancer is listening.
472
+ # @option params [Integer] :port
473
+ # The port on which the load balancer is listening. You cannot specify a
474
+ # port for a Gateway Load Balancer.
479
475
  #
480
476
  # @option params [String] :ssl_policy
481
477
  # \[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`
478
+ # protocols and ciphers are supported.
494
479
  #
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`
502
- #
503
- # For more information, see [Security Policies][1] in the *Application
504
- # Load Balancers Guide* and [Security Policies][2] in the *Network Load
480
+ # For more information, see [Security policies][1] in the *Application
481
+ # Load Balancers Guide* and [Security policies][2] in the *Network Load
505
482
  # Balancers Guide*.
506
483
  #
507
484
  #
@@ -514,30 +491,8 @@ module Aws::ElasticLoadBalancingV2
514
491
  # You must provide exactly one certificate. Set `CertificateArn` to the
515
492
  # certificate ARN but do not set `IsDefault`.
516
493
  #
517
- # To create a certificate list for the listener, use
518
- # AddListenerCertificates.
519
- #
520
494
  # @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.
495
+ # The actions for the default rule.
541
496
  #
542
497
  # @option params [Array<String>] :alpn_policy
543
498
  # \[TLS listeners\] The name of the Application-Layer Protocol
@@ -554,13 +509,16 @@ module Aws::ElasticLoadBalancingV2
554
509
  #
555
510
  # * `None`
556
511
  #
557
- # For more information, see [ALPN Policies][1] in the *Network Load
512
+ # For more information, see [ALPN policies][1] in the *Network Load
558
513
  # Balancers Guide*.
559
514
  #
560
515
  #
561
516
  #
562
517
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
563
518
  #
519
+ # @option params [Array<Types::Tag>] :tags
520
+ # The tags to assign to the listener.
521
+ #
564
522
  # @return [Types::CreateListenerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
565
523
  #
566
524
  # * {Types::CreateListenerOutput#listeners #listeners} => Array&lt;Types::Listener&gt;
@@ -654,8 +612,8 @@ module Aws::ElasticLoadBalancingV2
654
612
  #
655
613
  # resp = client.create_listener({
656
614
  # load_balancer_arn: "LoadBalancerArn", # required
657
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
658
- # port: 1, # required
615
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
616
+ # port: 1,
659
617
  # ssl_policy: "SslPolicyName",
660
618
  # certificates: [
661
619
  # {
@@ -724,6 +682,12 @@ module Aws::ElasticLoadBalancingV2
724
682
  # },
725
683
  # ],
726
684
  # alpn_policy: ["AlpnPolicyValue"],
685
+ # tags: [
686
+ # {
687
+ # key: "TagKey", # required
688
+ # value: "TagValue",
689
+ # },
690
+ # ],
727
691
  # })
728
692
  #
729
693
  # @example Response structure
@@ -732,7 +696,7 @@ module Aws::ElasticLoadBalancingV2
732
696
  # resp.listeners[0].listener_arn #=> String
733
697
  # resp.listeners[0].load_balancer_arn #=> String
734
698
  # resp.listeners[0].port #=> Integer
735
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
699
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
736
700
  # resp.listeners[0].certificates #=> Array
737
701
  # resp.listeners[0].certificates[0].certificate_arn #=> String
738
702
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -789,36 +753,26 @@ module Aws::ElasticLoadBalancingV2
789
753
  req.send_request(options)
790
754
  end
791
755
 
792
- # Creates an Application Load Balancer or a Network Load Balancer.
756
+ # Creates an Application Load Balancer, Network Load Balancer, or
757
+ # Gateway Load Balancer.
758
+ #
759
+ # For more information, see the following:
793
760
  #
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.
761
+ # * [Application Load Balancers][1]
798
762
  #
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.
763
+ # * [Network Load Balancers][2]
803
764
  #
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*.
765
+ # * [Gateway Load Balancers][3]
807
766
  #
808
767
  # This operation is idempotent, which means that it completes at most
809
768
  # one time. If you attempt to create multiple load balancers with the
810
769
  # same settings, each call succeeds.
811
770
  #
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
771
  #
816
772
  #
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
773
+ # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html
774
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html
775
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html
822
776
  #
823
777
  # @option params [required, String] :name
824
778
  # The name of the load balancer.
@@ -844,6 +798,9 @@ module Aws::ElasticLoadBalancingV2
844
798
  # \[Network Load Balancers\] You can specify subnets from one or more
845
799
  # Availability Zones.
846
800
  #
801
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
802
+ # Availability Zones.
803
+ #
847
804
  # @option params [Array<Types::SubnetMapping>] :subnet_mappings
848
805
  # The IDs of the public subnets. You can specify only one subnet per
849
806
  # Availability Zone. You must specify either subnets or subnet mappings.
@@ -864,6 +821,10 @@ module Aws::ElasticLoadBalancingV2
864
821
  # balancer. For internal load balancers, you can specify one private IP
865
822
  # address per subnet from the IPv4 range of the subnet.
866
823
  #
824
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
825
+ # Availability Zones. You cannot specify Elastic IP addresses for your
826
+ # subnets.
827
+ #
867
828
  # @option params [Array<String>] :security_groups
868
829
  # \[Application Load Balancers\] The IDs of the security groups for the
869
830
  # load balancer.
@@ -883,8 +844,10 @@ module Aws::ElasticLoadBalancingV2
883
844
  #
884
845
  # The default is an Internet-facing load balancer.
885
846
  #
847
+ # You cannot specify a scheme for a Gateway Load Balancer.
848
+ #
886
849
  # @option params [Array<Types::Tag>] :tags
887
- # One or more tags to assign to the load balancer.
850
+ # The tags to assign to the load balancer.
888
851
  #
889
852
  # @option params [String] :type
890
853
  # The type of load balancer. The default is `application`.
@@ -1015,7 +978,7 @@ module Aws::ElasticLoadBalancingV2
1015
978
  # value: "TagValue",
1016
979
  # },
1017
980
  # ],
1018
- # type: "application", # accepts application, network
981
+ # type: "application", # accepts application, network, gateway
1019
982
  # ip_address_type: "ipv4", # accepts ipv4, dualstack
1020
983
  # customer_owned_ipv_4_pool: "CustomerOwnedIpv4Pool",
1021
984
  # })
@@ -1032,7 +995,7 @@ module Aws::ElasticLoadBalancingV2
1032
995
  # resp.load_balancers[0].vpc_id #=> String
1033
996
  # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
1034
997
  # resp.load_balancers[0].state.reason #=> String
1035
- # resp.load_balancers[0].type #=> String, one of "application", "network"
998
+ # resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
1036
999
  # resp.load_balancers[0].availability_zones #=> Array
1037
1000
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
1038
1001
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
@@ -1063,11 +1026,7 @@ module Aws::ElasticLoadBalancingV2
1063
1026
  # value to the highest value. When the conditions for a rule are met,
1064
1027
  # its actions are performed. If the conditions for no rules are met, the
1065
1028
  # 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.
1029
+ # [Listener rules][1] in the *Application Load Balancers Guide*.
1071
1030
  #
1072
1031
  #
1073
1032
  #
@@ -1077,38 +1036,17 @@ module Aws::ElasticLoadBalancingV2
1077
1036
  # The Amazon Resource Name (ARN) of the listener.
1078
1037
  #
1079
1038
  # @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`.
1039
+ # The conditions.
1085
1040
  #
1086
1041
  # @option params [required, Integer] :priority
1087
1042
  # The rule priority. A listener can't have multiple rules with the same
1088
1043
  # priority.
1089
1044
  #
1090
1045
  # @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.
1046
+ # The actions.
1099
1047
  #
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.
1048
+ # @option params [Array<Types::Tag>] :tags
1049
+ # The tags to assign to the rule.
1112
1050
  #
1113
1051
  # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1114
1052
  #
@@ -1259,6 +1197,12 @@ module Aws::ElasticLoadBalancingV2
1259
1197
  # },
1260
1198
  # },
1261
1199
  # ],
1200
+ # tags: [
1201
+ # {
1202
+ # key: "TagKey", # required
1203
+ # value: "TagValue",
1204
+ # },
1205
+ # ],
1262
1206
  # })
1263
1207
  #
1264
1208
  # @example Response structure
@@ -1337,29 +1281,23 @@ module Aws::ElasticLoadBalancingV2
1337
1281
 
1338
1282
  # Creates a target group.
1339
1283
  #
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.
1284
+ # For more information, see the following:
1285
+ #
1286
+ # * [Target groups for your Application Load Balancers][1]
1344
1287
  #
1345
- # To route traffic to the targets in a target group, specify the target
1346
- # group in an action using CreateListener or CreateRule.
1288
+ # * [Target groups for your Network Load Balancers][2]
1347
1289
  #
1348
- # To delete a target group, use DeleteTargetGroup.
1290
+ # * [Target groups for your Gateway Load Balancers][3]
1349
1291
  #
1350
1292
  # This operation is idempotent, which means that it completes at most
1351
1293
  # one time. If you attempt to create multiple target groups with the
1352
1294
  # same settings, each call succeeds.
1353
1295
  #
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
1296
  #
1360
1297
  #
1361
1298
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html
1362
1299
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html
1300
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html
1363
1301
  #
1364
1302
  # @option params [required, String] :name
1365
1303
  # The name of the target group.
@@ -1372,14 +1310,22 @@ module Aws::ElasticLoadBalancingV2
1372
1310
  # The protocol to use for routing traffic to the targets. For
1373
1311
  # Application Load Balancers, the supported protocols are HTTP and
1374
1312
  # 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
1313
+ # TLS, UDP, or TCP\_UDP. For Gateway Load Balancers, the supported
1314
+ # protocol is GENEVE. A TCP\_UDP listener must be associated with a
1376
1315
  # TCP\_UDP target group. If the target is a Lambda function, this
1377
1316
  # parameter does not apply.
1378
1317
  #
1318
+ # @option params [String] :protocol_version
1319
+ # \[HTTP/HTTPS protocol\] The protocol version. Specify `GRPC` to send
1320
+ # requests to targets using gRPC. Specify `HTTP2` to send requests to
1321
+ # targets using HTTP/2. The default is `HTTP1`, which sends requests to
1322
+ # targets using HTTP/1.1.
1323
+ #
1379
1324
  # @option params [Integer] :port
1380
1325
  # The port on which the targets receive traffic. This port is used
1381
1326
  # unless you specify a port override when registering the target. If the
1382
- # target is a Lambda function, this parameter does not apply.
1327
+ # target is a Lambda function, this parameter does not apply. If the
1328
+ # protocol is GENEVE, the supported port is 6081.
1383
1329
  #
1384
1330
  # @option params [String] :vpc_id
1385
1331
  # The identifier of the virtual private cloud (VPC). If the target is a
@@ -1389,15 +1335,17 @@ module Aws::ElasticLoadBalancingV2
1389
1335
  # @option params [String] :health_check_protocol
1390
1336
  # The protocol the load balancer uses when performing health checks on
1391
1337
  # 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.
1338
+ # Network Load Balancers and Gateway Load Balancers, the default is TCP.
1339
+ # The TCP protocol is not supported for health checks if the protocol of
1340
+ # the target group is HTTP or HTTPS. The GENEVE, TLS, UDP, and TCP\_UDP
1341
+ # protocols are not supported for health checks.
1396
1342
  #
1397
1343
  # @option params [String] :health_check_port
1398
1344
  # 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.
1345
+ # targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP\_UDP,
1346
+ # the default is `traffic-port`, which is the port on which each target
1347
+ # receives traffic from the load balancer. If the protocol is GENEVE,
1348
+ # the default is port 80.
1401
1349
  #
1402
1350
  # @option params [Boolean] :health_check_enabled
1403
1351
  # Indicates whether health checks are enabled. If the target type is
@@ -1406,57 +1354,68 @@ module Aws::ElasticLoadBalancingV2
1406
1354
  # enabled and cannot be disabled.
1407
1355
  #
1408
1356
  # @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 /.
1357
+ # \[HTTP/HTTPS health checks\] The destination for health checks on the
1358
+ # targets.
1359
+ #
1360
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
1361
+ #
1362
+ # \[GRPC protocol version\] The path of a custom health check method
1363
+ # with the format /package.service/method. The default is
1364
+ # /AWS.ALB/healthcheck.
1411
1365
  #
1412
1366
  # @option params [Integer] :health_check_interval_seconds
1413
1367
  # 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.
1368
+ # an individual target. For TCP health checks, the supported values are
1369
+ # 10 and 30 seconds. If the target type is `instance` or `ip`, the
1370
+ # default is 30 seconds. If the target group protocol is GENEVE, the
1371
+ # default is 10 seconds. If the target type is `lambda`, the default is
1372
+ # 35 seconds.
1418
1373
  #
1419
1374
  # @option params [Integer] :health_check_timeout_seconds
1420
1375
  # 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.
1376
+ # means a failed health check. For target groups with a protocol of
1377
+ # HTTP, HTTPS, or GENEVE, the default is 5 seconds. For target groups
1378
+ # with a protocol of TCP or TLS, this value must be 6 seconds for HTTP
1379
+ # health checks and 10 seconds for TCP and HTTPS health checks. If the
1380
+ # target type is `lambda`, the default is 30 seconds.
1426
1381
  #
1427
1382
  # @option params [Integer] :healthy_threshold_count
1428
1383
  # The number of consecutive health checks successes required before
1429
1384
  # considering an unhealthy target healthy. For target groups with a
1430
1385
  # 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.
1386
+ # protocol of TCP, TLS, or GENEVE, the default is 3. If the target type
1387
+ # is `lambda`, the default is 5.
1433
1388
  #
1434
1389
  # @option params [Integer] :unhealthy_threshold_count
1435
1390
  # 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.
1391
+ # considering a target unhealthy. If the target group protocol is HTTP
1392
+ # or HTTPS, the default is 2. If the target group protocol is TCP or
1393
+ # TLS, this value must be the same as the healthy threshold count. If
1394
+ # the target group protocol is GENEVE, the default is 3. If the target
1395
+ # type is `lambda`, the default is 2.
1440
1396
  #
1441
1397
  # @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.
1398
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
1399
+ # checking for a successful response from a target.
1444
1400
  #
1445
1401
  # @option params [String] :target_type
1446
1402
  # The type of target that you must specify when registering targets with
1447
1403
  # this target group. You can't specify targets for a target group using
1448
1404
  # more than one target type.
1449
1405
  #
1450
- # * `instance` - Targets are specified by instance ID. This is the
1451
- # default value.
1406
+ # * `instance` - Register targets by instance ID. This is the default
1407
+ # value.
1452
1408
  #
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
1409
+ # * `ip` - Register targets by IP address. You can specify IP addresses
1410
+ # from the subnets of the virtual private cloud (VPC) for the target
1411
+ # group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
1456
1412
  # 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't
1457
1413
  # specify publicly routable IP addresses.
1458
1414
  #
1459
- # * `lambda` - The target groups contains a single Lambda function.
1415
+ # * `lambda` - Register a single Lambda function as a target.
1416
+ #
1417
+ # @option params [Array<Types::Tag>] :tags
1418
+ # The tags to assign to the target group.
1460
1419
  #
1461
1420
  # @return [Types::CreateTargetGroupOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1462
1421
  #
@@ -1502,10 +1461,11 @@ module Aws::ElasticLoadBalancingV2
1502
1461
  #
1503
1462
  # resp = client.create_target_group({
1504
1463
  # name: "TargetGroupName", # required
1505
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1464
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1465
+ # protocol_version: "ProtocolVersion",
1506
1466
  # port: 1,
1507
1467
  # vpc_id: "VpcId",
1508
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1468
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1509
1469
  # health_check_port: "HealthCheckPort",
1510
1470
  # health_check_enabled: false,
1511
1471
  # health_check_path: "Path",
@@ -1514,9 +1474,16 @@ module Aws::ElasticLoadBalancingV2
1514
1474
  # healthy_threshold_count: 1,
1515
1475
  # unhealthy_threshold_count: 1,
1516
1476
  # matcher: {
1517
- # http_code: "HttpCode", # required
1477
+ # http_code: "HttpCode",
1478
+ # grpc_code: "GrpcCode",
1518
1479
  # },
1519
1480
  # target_type: "instance", # accepts instance, ip, lambda
1481
+ # tags: [
1482
+ # {
1483
+ # key: "TagKey", # required
1484
+ # value: "TagValue",
1485
+ # },
1486
+ # ],
1520
1487
  # })
1521
1488
  #
1522
1489
  # @example Response structure
@@ -1524,10 +1491,10 @@ module Aws::ElasticLoadBalancingV2
1524
1491
  # resp.target_groups #=> Array
1525
1492
  # resp.target_groups[0].target_group_arn #=> String
1526
1493
  # resp.target_groups[0].target_group_name #=> String
1527
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
1494
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1528
1495
  # resp.target_groups[0].port #=> Integer
1529
1496
  # 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"
1497
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1531
1498
  # resp.target_groups[0].health_check_port #=> String
1532
1499
  # resp.target_groups[0].health_check_enabled #=> Boolean
1533
1500
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -1536,9 +1503,11 @@ module Aws::ElasticLoadBalancingV2
1536
1503
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
1537
1504
  # resp.target_groups[0].health_check_path #=> String
1538
1505
  # resp.target_groups[0].matcher.http_code #=> String
1506
+ # resp.target_groups[0].matcher.grpc_code #=> String
1539
1507
  # resp.target_groups[0].load_balancer_arns #=> Array
1540
1508
  # resp.target_groups[0].load_balancer_arns[0] #=> String
1541
1509
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
1510
+ # resp.target_groups[0].protocol_version #=> String
1542
1511
  #
1543
1512
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroup AWS API Documentation
1544
1513
  #
@@ -1552,7 +1521,7 @@ module Aws::ElasticLoadBalancingV2
1552
1521
  # Deletes the specified listener.
1553
1522
  #
1554
1523
  # Alternatively, your listener is deleted when you delete the load
1555
- # balancer to which it is attached, using DeleteLoadBalancer.
1524
+ # balancer to which it is attached.
1556
1525
  #
1557
1526
  # @option params [required, String] :listener_arn
1558
1527
  # The Amazon Resource Name (ARN) of the listener.
@@ -1583,8 +1552,9 @@ module Aws::ElasticLoadBalancingV2
1583
1552
  req.send_request(options)
1584
1553
  end
1585
1554
 
1586
- # Deletes the specified Application Load Balancer or Network Load
1587
- # Balancer and its attached listeners.
1555
+ # Deletes the specified Application Load Balancer, Network Load
1556
+ # Balancer, or Gateway Load Balancer. Deleting a load balancer also
1557
+ # deletes its listeners.
1588
1558
  #
1589
1559
  # You can't delete a load balancer if deletion protection is enabled.
1590
1560
  # If the load balancer does not exist or has already been deleted, the
@@ -1661,6 +1631,9 @@ module Aws::ElasticLoadBalancingV2
1661
1631
  #
1662
1632
  # You can delete a target group if it is not referenced by any actions.
1663
1633
  # Deleting a target group also deletes any associated health checks.
1634
+ # Deleting a target group does not affect its registered targets. For
1635
+ # example, any EC2 instances continue to run until you stop or terminate
1636
+ # them.
1664
1637
  #
1665
1638
  # @option params [required, String] :target_group_arn
1666
1639
  # The Amazon Resource Name (ARN) of the target group.
@@ -1744,14 +1717,19 @@ module Aws::ElasticLoadBalancingV2
1744
1717
  # Describes the current Elastic Load Balancing resource limits for your
1745
1718
  # AWS account.
1746
1719
  #
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*.
1720
+ # For more information, see the following:
1721
+ #
1722
+ # * [Quotas for your Application Load Balancers][1]
1723
+ #
1724
+ # * [Quotas for your Network Load Balancers][2]
1725
+ #
1726
+ # * [Quotas for your Gateway Load Balancers][3]
1750
1727
  #
1751
1728
  #
1752
1729
  #
1753
1730
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
1754
1731
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-limits.html
1732
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/quotas-limits.html
1755
1733
  #
1756
1734
  # @option params [String] :marker
1757
1735
  # The marker for the next set of results. (You received this marker from
@@ -1795,12 +1773,14 @@ module Aws::ElasticLoadBalancingV2
1795
1773
  # twice in the results (once with `IsDefault` set to true and once with
1796
1774
  # `IsDefault` set to false).
1797
1775
  #
1798
- # For more information, see [SSL Certificates][1] in the *Application
1799
- # Load Balancers Guide*.
1776
+ # For more information, see [SSL certificates][1] in the *Application
1777
+ # Load Balancers Guide* or [Server certificates][2] in the *Network Load
1778
+ # Balancers Guide*.
1800
1779
  #
1801
1780
  #
1802
1781
  #
1803
1782
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#https-listener-certificates
1783
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#tls-listener-certificate
1804
1784
  #
1805
1785
  # @option params [required, String] :listener_arn
1806
1786
  # The Amazon Resource Names (ARN) of the listener.
@@ -1842,12 +1822,9 @@ module Aws::ElasticLoadBalancingV2
1842
1822
  end
1843
1823
 
1844
1824
  # 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.
1825
+ # Application Load Balancer, Network Load Balancer, or Gateway Load
1826
+ # Balancer. You must specify either a load balancer or one or more
1827
+ # listeners.
1851
1828
  #
1852
1829
  # @option params [String] :load_balancer_arn
1853
1830
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -1913,7 +1890,7 @@ module Aws::ElasticLoadBalancingV2
1913
1890
  # resp.listeners[0].listener_arn #=> String
1914
1891
  # resp.listeners[0].load_balancer_arn #=> String
1915
1892
  # resp.listeners[0].port #=> Integer
1916
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
1893
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
1917
1894
  # resp.listeners[0].certificates #=> Array
1918
1895
  # resp.listeners[0].certificates[0].certificate_arn #=> String
1919
1896
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -1971,17 +1948,23 @@ module Aws::ElasticLoadBalancingV2
1971
1948
  req.send_request(options)
1972
1949
  end
1973
1950
 
1974
- # Describes the attributes for the specified Application Load Balancer
1975
- # or Network Load Balancer.
1951
+ # Describes the attributes for the specified Application Load Balancer,
1952
+ # Network Load Balancer, or Gateway Load Balancer.
1953
+ #
1954
+ # For more information, see the following:
1955
+ #
1956
+ # * [Load balancer attributes][1] in the *Application Load Balancers
1957
+ # Guide*
1976
1958
  #
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*.
1959
+ # * [Load balancer attributes][2] in the *Network Load Balancers Guide*
1960
+ #
1961
+ # * [Load balancer attributes][3] in the *Gateway Load Balancers Guide*
1980
1962
  #
1981
1963
  #
1982
1964
  #
1983
1965
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes
1984
1966
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#load-balancer-attributes
1967
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/gateway-load-balancers.html#load-balancer-attributes
1985
1968
  #
1986
1969
  # @option params [required, String] :load_balancer_arn
1987
1970
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -2048,10 +2031,6 @@ module Aws::ElasticLoadBalancingV2
2048
2031
 
2049
2032
  # Describes the specified load balancers or all of your load balancers.
2050
2033
  #
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
2034
  # @option params [Array<String>] :load_balancer_arns
2056
2035
  # The Amazon Resource Names (ARN) of the load balancers. You can specify
2057
2036
  # up to 20 load balancers in a single call.
@@ -2137,7 +2116,7 @@ module Aws::ElasticLoadBalancingV2
2137
2116
  # resp.load_balancers[0].vpc_id #=> String
2138
2117
  # resp.load_balancers[0].state.code #=> String, one of "active", "provisioning", "active_impaired", "failed"
2139
2118
  # resp.load_balancers[0].state.reason #=> String
2140
- # resp.load_balancers[0].type #=> String, one of "application", "network"
2119
+ # resp.load_balancers[0].type #=> String, one of "application", "network", "gateway"
2141
2120
  # resp.load_balancers[0].availability_zones #=> Array
2142
2121
  # resp.load_balancers[0].availability_zones[0].zone_name #=> String
2143
2122
  # resp.load_balancers[0].availability_zones[0].subnet_id #=> String
@@ -2312,12 +2291,14 @@ module Aws::ElasticLoadBalancingV2
2312
2291
  # Describes the specified policies or all policies used for SSL
2313
2292
  # negotiation.
2314
2293
  #
2315
- # For more information, see [Security Policies][1] in the *Application
2316
- # Load Balancers Guide*.
2294
+ # For more information, see [Security policies][1] in the *Application
2295
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2296
+ # Balancers Guide*.
2317
2297
  #
2318
2298
  #
2319
2299
  #
2320
2300
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies
2301
+ # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies
2321
2302
  #
2322
2303
  # @option params [Array<String>] :names
2323
2304
  # The names of the policies.
@@ -2465,9 +2446,10 @@ module Aws::ElasticLoadBalancingV2
2465
2446
  req.send_request(options)
2466
2447
  end
2467
2448
 
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.
2449
+ # Describes the tags for the specified Elastic Load Balancing resources.
2450
+ # You can describe the tags for one or more Application Load Balancers,
2451
+ # Network Load Balancers, Gateway Load Balancers, target groups,
2452
+ # listeners, or rules.
2471
2453
  #
2472
2454
  # @option params [required, Array<String>] :resource_arns
2473
2455
  # The Amazon Resource Names (ARN) of the resources. You can specify up
@@ -2532,14 +2514,20 @@ module Aws::ElasticLoadBalancingV2
2532
2514
 
2533
2515
  # Describes the attributes for the specified target group.
2534
2516
  #
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*.
2517
+ # For more information, see the following:
2518
+ #
2519
+ # * [Target group attributes][1] in the *Application Load Balancers
2520
+ # Guide*
2521
+ #
2522
+ # * [Target group attributes][2] in the *Network Load Balancers Guide*
2523
+ #
2524
+ # * [Target group attributes][3] in the *Gateway Load Balancers Guide*
2538
2525
  #
2539
2526
  #
2540
2527
  #
2541
2528
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
2542
2529
  # [2]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-attributes
2530
+ # [3]: https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/target-groups.html#target-group-attributes
2543
2531
  #
2544
2532
  # @option params [required, String] :target_group_arn
2545
2533
  # The Amazon Resource Name (ARN) of the target group.
@@ -2606,10 +2594,6 @@ module Aws::ElasticLoadBalancingV2
2606
2594
  # load balancer, the names of one or more target groups, or the ARNs of
2607
2595
  # one or more target groups.
2608
2596
  #
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
2597
  # @option params [String] :load_balancer_arn
2614
2598
  # The Amazon Resource Name (ARN) of the load balancer.
2615
2599
  #
@@ -2685,10 +2669,10 @@ module Aws::ElasticLoadBalancingV2
2685
2669
  # resp.target_groups #=> Array
2686
2670
  # resp.target_groups[0].target_group_arn #=> String
2687
2671
  # resp.target_groups[0].target_group_name #=> String
2688
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
2672
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
2689
2673
  # resp.target_groups[0].port #=> Integer
2690
2674
  # 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"
2675
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
2692
2676
  # resp.target_groups[0].health_check_port #=> String
2693
2677
  # resp.target_groups[0].health_check_enabled #=> Boolean
2694
2678
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -2697,9 +2681,11 @@ module Aws::ElasticLoadBalancingV2
2697
2681
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
2698
2682
  # resp.target_groups[0].health_check_path #=> String
2699
2683
  # resp.target_groups[0].matcher.http_code #=> String
2684
+ # resp.target_groups[0].matcher.grpc_code #=> String
2700
2685
  # resp.target_groups[0].load_balancer_arns #=> Array
2701
2686
  # resp.target_groups[0].load_balancer_arns[0] #=> String
2702
2687
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
2688
+ # resp.target_groups[0].protocol_version #=> String
2703
2689
  # resp.next_marker #=> String
2704
2690
  #
2705
2691
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroups AWS API Documentation
@@ -2846,39 +2832,21 @@ module Aws::ElasticLoadBalancingV2
2846
2832
  # The Amazon Resource Name (ARN) of the listener.
2847
2833
  #
2848
2834
  # @option params [Integer] :port
2849
- # The port for connections from clients to the load balancer.
2835
+ # The port for connections from clients to the load balancer. You cannot
2836
+ # specify a port for a Gateway Load Balancer.
2850
2837
  #
2851
2838
  # @option params [String] :protocol
2852
2839
  # The protocol for connections from clients to the load balancer.
2853
2840
  # Application Load Balancers support the HTTP and HTTPS protocols.
2854
2841
  # Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
2855
- # protocols.
2842
+ # protocols. You cannot specify a protocol for a Gateway Load Balancer.
2856
2843
  #
2857
2844
  # @option params [String] :ssl_policy
2858
2845
  # \[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`
2846
+ # protocols and ciphers are supported.
2867
2847
  #
2868
- # * `ELBSecurityPolicy-TLS-1-2-2017-01`
2869
- #
2870
- # * `ELBSecurityPolicy-TLS-1-2-Ext-2018-06`
2871
- #
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
2848
+ # For more information, see [Security policies][1] in the *Application
2849
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2882
2850
  # Balancers Guide*.
2883
2851
  #
2884
2852
  #
@@ -2891,29 +2859,8 @@ module Aws::ElasticLoadBalancingV2
2891
2859
  # You must provide exactly one certificate. Set `CertificateArn` to the
2892
2860
  # certificate ARN but do not set `IsDefault`.
2893
2861
  #
2894
- # To create a certificate list, use AddListenerCertificates.
2895
- #
2896
2862
  # @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.
2863
+ # The actions for the default rule.
2917
2864
  #
2918
2865
  # @option params [Array<String>] :alpn_policy
2919
2866
  # \[TLS listeners\] The name of the Application-Layer Protocol
@@ -2930,7 +2877,7 @@ module Aws::ElasticLoadBalancingV2
2930
2877
  #
2931
2878
  # * `None`
2932
2879
  #
2933
- # For more information, see [ALPN Policies][1] in the *Network Load
2880
+ # For more information, see [ALPN policies][1] in the *Network Load
2934
2881
  # Balancers Guide*.
2935
2882
  #
2936
2883
  #
@@ -3016,7 +2963,7 @@ module Aws::ElasticLoadBalancingV2
3016
2963
  # resp = client.modify_listener({
3017
2964
  # listener_arn: "ListenerArn", # required
3018
2965
  # port: 1,
3019
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2966
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
3020
2967
  # ssl_policy: "SslPolicyName",
3021
2968
  # certificates: [
3022
2969
  # {
@@ -3093,7 +3040,7 @@ module Aws::ElasticLoadBalancingV2
3093
3040
  # resp.listeners[0].listener_arn #=> String
3094
3041
  # resp.listeners[0].load_balancer_arn #=> String
3095
3042
  # resp.listeners[0].port #=> Integer
3096
- # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
3043
+ # resp.listeners[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3097
3044
  # resp.listeners[0].certificates #=> Array
3098
3045
  # resp.listeners[0].certificates[0].certificate_arn #=> String
3099
3046
  # resp.listeners[0].certificates[0].is_default #=> Boolean
@@ -3151,7 +3098,7 @@ module Aws::ElasticLoadBalancingV2
3151
3098
  end
3152
3099
 
3153
3100
  # Modifies the specified attributes of the specified Application Load
3154
- # Balancer or Network Load Balancer.
3101
+ # Balancer, Network Load Balancer, or Gateway Load Balancer.
3155
3102
  #
3156
3103
  # If any of the specified attributes can't be modified as requested,
3157
3104
  # the call fails. Any existing attributes that you do not modify retain
@@ -3332,39 +3279,14 @@ module Aws::ElasticLoadBalancingV2
3332
3279
  # an action, specify a list with the current actions plus the new
3333
3280
  # action.
3334
3281
  #
3335
- # To modify the actions for the default rule, use ModifyListener.
3336
- #
3337
3282
  # @option params [required, String] :rule_arn
3338
3283
  # The Amazon Resource Name (ARN) of the rule.
3339
3284
  #
3340
3285
  # @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`.
3286
+ # The conditions.
3345
3287
  #
3346
3288
  # @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.
3289
+ # The actions.
3368
3290
  #
3369
3291
  # @return [Types::ModifyRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3370
3292
  #
@@ -3585,16 +3507,15 @@ module Aws::ElasticLoadBalancingV2
3585
3507
  # Modifies the health checks used when evaluating the health state of
3586
3508
  # the targets in the specified target group.
3587
3509
  #
3588
- # To monitor the health of the targets, use DescribeTargetHealth.
3589
- #
3590
3510
  # @option params [required, String] :target_group_arn
3591
3511
  # The Amazon Resource Name (ARN) of the target group.
3592
3512
  #
3593
3513
  # @option params [String] :health_check_protocol
3594
3514
  # The protocol the load balancer uses when performing health checks on
3595
3515
  # 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.
3516
+ # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The
3517
+ # GENEVE, TLS, UDP, and TCP\_UDP protocols are not supported for health
3518
+ # checks.
3598
3519
  #
3599
3520
  # With Network Load Balancers, you can't modify this setting.
3600
3521
  #
@@ -3603,16 +3524,21 @@ module Aws::ElasticLoadBalancingV2
3603
3524
  # targets.
3604
3525
  #
3605
3526
  # @option params [String] :health_check_path
3606
- # \[HTTP/HTTPS health checks\] The ping path that is the destination for
3607
- # the health check request.
3527
+ # \[HTTP/HTTPS health checks\] The destination for health checks on the
3528
+ # targets.
3529
+ #
3530
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
3531
+ #
3532
+ # \[GRPC protocol version\] The path of a custom health check method
3533
+ # with the format /package.service/method. The default is
3534
+ # /AWS.ALB/healthcheck.
3608
3535
  #
3609
3536
  # @option params [Boolean] :health_check_enabled
3610
3537
  # Indicates whether health checks are enabled.
3611
3538
  #
3612
3539
  # @option params [Integer] :health_check_interval_seconds
3613
3540
  # 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
3541
+ # an individual target. For TCP health checks, the supported values are
3616
3542
  # 10 or 30 seconds.
3617
3543
  #
3618
3544
  # With Network Load Balancers, you can't modify this setting.
@@ -3629,14 +3555,13 @@ module Aws::ElasticLoadBalancingV2
3629
3555
  #
3630
3556
  # @option params [Integer] :unhealthy_threshold_count
3631
3557
  # 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.
3558
+ # considering the target unhealthy. For target groups with a protocol of
3559
+ # TCP or TLS, this value must be the same as the healthy threshold
3560
+ # count.
3634
3561
  #
3635
3562
  # @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.
3563
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
3564
+ # checking for a successful response from a target.
3640
3565
  #
3641
3566
  # With Network Load Balancers, you can't modify this setting.
3642
3567
  #
@@ -3685,7 +3610,7 @@ module Aws::ElasticLoadBalancingV2
3685
3610
  #
3686
3611
  # resp = client.modify_target_group({
3687
3612
  # target_group_arn: "TargetGroupArn", # required
3688
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
3613
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
3689
3614
  # health_check_port: "HealthCheckPort",
3690
3615
  # health_check_path: "Path",
3691
3616
  # health_check_enabled: false,
@@ -3694,7 +3619,8 @@ module Aws::ElasticLoadBalancingV2
3694
3619
  # healthy_threshold_count: 1,
3695
3620
  # unhealthy_threshold_count: 1,
3696
3621
  # matcher: {
3697
- # http_code: "HttpCode", # required
3622
+ # http_code: "HttpCode",
3623
+ # grpc_code: "GrpcCode",
3698
3624
  # },
3699
3625
  # })
3700
3626
  #
@@ -3703,10 +3629,10 @@ module Aws::ElasticLoadBalancingV2
3703
3629
  # resp.target_groups #=> Array
3704
3630
  # resp.target_groups[0].target_group_arn #=> String
3705
3631
  # resp.target_groups[0].target_group_name #=> String
3706
- # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP"
3632
+ # resp.target_groups[0].protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3707
3633
  # resp.target_groups[0].port #=> Integer
3708
3634
  # 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"
3635
+ # resp.target_groups[0].health_check_protocol #=> String, one of "HTTP", "HTTPS", "TCP", "TLS", "UDP", "TCP_UDP", "GENEVE"
3710
3636
  # resp.target_groups[0].health_check_port #=> String
3711
3637
  # resp.target_groups[0].health_check_enabled #=> Boolean
3712
3638
  # resp.target_groups[0].health_check_interval_seconds #=> Integer
@@ -3715,9 +3641,11 @@ module Aws::ElasticLoadBalancingV2
3715
3641
  # resp.target_groups[0].unhealthy_threshold_count #=> Integer
3716
3642
  # resp.target_groups[0].health_check_path #=> String
3717
3643
  # resp.target_groups[0].matcher.http_code #=> String
3644
+ # resp.target_groups[0].matcher.grpc_code #=> String
3718
3645
  # resp.target_groups[0].load_balancer_arns #=> Array
3719
3646
  # resp.target_groups[0].load_balancer_arns[0] #=> String
3720
3647
  # resp.target_groups[0].target_type #=> String, one of "instance", "ip", "lambda"
3648
+ # resp.target_groups[0].protocol_version #=> String
3721
3649
  #
3722
3650
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyTargetGroup AWS API Documentation
3723
3651
  #
@@ -3820,18 +3748,12 @@ module Aws::ElasticLoadBalancingV2
3820
3748
  # CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can
3821
3749
  # register instances of these types by IP address.
3822
3750
  #
3823
- # To remove a target from a target group, use DeregisterTargets.
3824
- #
3825
3751
  # @option params [required, String] :target_group_arn
3826
3752
  # The Amazon Resource Name (ARN) of the target group.
3827
3753
  #
3828
3754
  # @option params [required, Array<Types::TargetDescription>] :targets
3829
3755
  # The targets.
3830
3756
  #
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
3757
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3836
3758
  #
3837
3759
  #
@@ -3895,12 +3817,6 @@ module Aws::ElasticLoadBalancingV2
3895
3817
  # Removes the specified certificate from the certificate list for the
3896
3818
  # specified HTTPS or TLS listener.
3897
3819
  #
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
3820
  # @option params [required, String] :listener_arn
3905
3821
  # The Amazon Resource Name (ARN) of the listener.
3906
3822
  #
@@ -3933,9 +3849,9 @@ module Aws::ElasticLoadBalancingV2
3933
3849
  end
3934
3850
 
3935
3851
  # Removes the specified tags from the specified Elastic Load Balancing
3936
- # resource.
3937
- #
3938
- # To list the current tags for your resources, use DescribeTags.
3852
+ # resources. You can remove the tags for one or more Application Load
3853
+ # Balancers, Network Load Balancers, Gateway Load Balancers, target
3854
+ # groups, listeners, or rules.
3939
3855
  #
3940
3856
  # @option params [required, Array<String>] :resource_arns
3941
3857
  # The Amazon Resource Name (ARN) of the resource.
@@ -3985,8 +3901,7 @@ module Aws::ElasticLoadBalancingV2
3985
3901
  # @option params [required, String] :ip_address_type
3986
3902
  # The IP address type. The possible values are `ipv4` (for IPv4
3987
3903
  # addresses) and `dualstack` (for IPv4 and IPv6 addresses). Internal
3988
- # load balancers must use `ipv4`. Network Load Balancers must use
3989
- # `ipv4`.
3904
+ # load balancers must use `ipv4`.
3990
3905
  #
3991
3906
  # @return [Types::SetIpAddressTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3992
3907
  #
@@ -4153,7 +4068,8 @@ module Aws::ElasticLoadBalancingV2
4153
4068
  # Application Load Balancer. The specified security groups override the
4154
4069
  # previously associated security groups.
4155
4070
  #
4156
- # You can't specify a security group for a Network Load Balancer.
4071
+ # You can't specify a security group for a Network Load Balancer or
4072
+ # Gateway Load Balancer.
4157
4073
  #
4158
4074
  # @option params [required, String] :load_balancer_arn
4159
4075
  # The Amazon Resource Name (ARN) of the load balancer.
@@ -4206,8 +4122,8 @@ module Aws::ElasticLoadBalancingV2
4206
4122
  end
4207
4123
 
4208
4124
  # Enables the Availability Zones for the specified public subnets for
4209
- # the specified load balancer. The specified subnets replace the
4210
- # previously enabled subnets.
4125
+ # the specified Application Load Balancer or Network Load Balancer. The
4126
+ # specified subnets replace the previously enabled subnets.
4211
4127
  #
4212
4128
  # When you specify subnets for a Network Load Balancer, you must include
4213
4129
  # all subnets that were enabled previously, with their existing
@@ -4313,7 +4229,7 @@ module Aws::ElasticLoadBalancingV2
4313
4229
  params: params,
4314
4230
  config: config)
4315
4231
  context[:gem_name] = 'aws-sdk-elasticloadbalancingv2'
4316
- context[:gem_version] = '1.50.0'
4232
+ context[:gem_version] = '1.55.0'
4317
4233
  Seahorse::Client::Request.new(handlers, context)
4318
4234
  end
4319
4235