aws-sdk-elasticloadbalancingv2 1.50.0 → 1.55.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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