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.
@@ -119,6 +119,7 @@ module Aws::ElasticLoadBalancingV2
119
119
  FixedResponseActionMessage = Shapes::StringShape.new(name: 'FixedResponseActionMessage')
120
120
  FixedResponseActionStatusCode = Shapes::StringShape.new(name: 'FixedResponseActionStatusCode')
121
121
  ForwardActionConfig = Shapes::StructureShape.new(name: 'ForwardActionConfig')
122
+ GrpcCode = Shapes::StringShape.new(name: 'GrpcCode')
122
123
  HealthCheckEnabled = Shapes::BooleanShape.new(name: 'HealthCheckEnabled')
123
124
  HealthCheckIntervalSeconds = Shapes::IntegerShape.new(name: 'HealthCheckIntervalSeconds')
124
125
  HealthCheckPort = Shapes::StringShape.new(name: 'HealthCheckPort')
@@ -188,6 +189,7 @@ module Aws::ElasticLoadBalancingV2
188
189
  PriorityInUseException = Shapes::StructureShape.new(name: 'PriorityInUseException')
189
190
  PrivateIPv4Address = Shapes::StringShape.new(name: 'PrivateIPv4Address')
190
191
  ProtocolEnum = Shapes::StringShape.new(name: 'ProtocolEnum')
192
+ ProtocolVersion = Shapes::StringShape.new(name: 'ProtocolVersion')
191
193
  QueryStringConditionConfig = Shapes::StructureShape.new(name: 'QueryStringConditionConfig')
192
194
  QueryStringKeyValuePair = Shapes::StructureShape.new(name: 'QueryStringKeyValuePair')
193
195
  QueryStringKeyValuePairList = Shapes::ListShape.new(name: 'QueryStringKeyValuePairList')
@@ -377,12 +379,13 @@ module Aws::ElasticLoadBalancingV2
377
379
  Ciphers.member = Shapes::ShapeRef.new(shape: Cipher)
378
380
 
379
381
  CreateListenerInput.add_member(:load_balancer_arn, Shapes::ShapeRef.new(shape: LoadBalancerArn, required: true, location_name: "LoadBalancerArn"))
380
- CreateListenerInput.add_member(:protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, required: true, location_name: "Protocol"))
381
- CreateListenerInput.add_member(:port, Shapes::ShapeRef.new(shape: Port, required: true, location_name: "Port"))
382
+ CreateListenerInput.add_member(:protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "Protocol"))
383
+ CreateListenerInput.add_member(:port, Shapes::ShapeRef.new(shape: Port, location_name: "Port"))
382
384
  CreateListenerInput.add_member(:ssl_policy, Shapes::ShapeRef.new(shape: SslPolicyName, location_name: "SslPolicy"))
383
385
  CreateListenerInput.add_member(:certificates, Shapes::ShapeRef.new(shape: CertificateList, location_name: "Certificates"))
384
386
  CreateListenerInput.add_member(:default_actions, Shapes::ShapeRef.new(shape: Actions, required: true, location_name: "DefaultActions"))
385
387
  CreateListenerInput.add_member(:alpn_policy, Shapes::ShapeRef.new(shape: AlpnPolicyName, location_name: "AlpnPolicy"))
388
+ CreateListenerInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
386
389
  CreateListenerInput.struct_class = Types::CreateListenerInput
387
390
 
388
391
  CreateListenerOutput.add_member(:listeners, Shapes::ShapeRef.new(shape: Listeners, location_name: "Listeners"))
@@ -406,6 +409,7 @@ module Aws::ElasticLoadBalancingV2
406
409
  CreateRuleInput.add_member(:conditions, Shapes::ShapeRef.new(shape: RuleConditionList, required: true, location_name: "Conditions"))
407
410
  CreateRuleInput.add_member(:priority, Shapes::ShapeRef.new(shape: RulePriority, required: true, location_name: "Priority"))
408
411
  CreateRuleInput.add_member(:actions, Shapes::ShapeRef.new(shape: Actions, required: true, location_name: "Actions"))
412
+ CreateRuleInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
409
413
  CreateRuleInput.struct_class = Types::CreateRuleInput
410
414
 
411
415
  CreateRuleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rules"))
@@ -413,6 +417,7 @@ module Aws::ElasticLoadBalancingV2
413
417
 
414
418
  CreateTargetGroupInput.add_member(:name, Shapes::ShapeRef.new(shape: TargetGroupName, required: true, location_name: "Name"))
415
419
  CreateTargetGroupInput.add_member(:protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "Protocol"))
420
+ CreateTargetGroupInput.add_member(:protocol_version, Shapes::ShapeRef.new(shape: ProtocolVersion, location_name: "ProtocolVersion"))
416
421
  CreateTargetGroupInput.add_member(:port, Shapes::ShapeRef.new(shape: Port, location_name: "Port"))
417
422
  CreateTargetGroupInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
418
423
  CreateTargetGroupInput.add_member(:health_check_protocol, Shapes::ShapeRef.new(shape: ProtocolEnum, location_name: "HealthCheckProtocol"))
@@ -425,6 +430,7 @@ module Aws::ElasticLoadBalancingV2
425
430
  CreateTargetGroupInput.add_member(:unhealthy_threshold_count, Shapes::ShapeRef.new(shape: HealthCheckThresholdCount, location_name: "UnhealthyThresholdCount"))
426
431
  CreateTargetGroupInput.add_member(:matcher, Shapes::ShapeRef.new(shape: Matcher, location_name: "Matcher"))
427
432
  CreateTargetGroupInput.add_member(:target_type, Shapes::ShapeRef.new(shape: TargetTypeEnum, location_name: "TargetType"))
433
+ CreateTargetGroupInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
428
434
  CreateTargetGroupInput.struct_class = Types::CreateTargetGroupInput
429
435
 
430
436
  CreateTargetGroupOutput.add_member(:target_groups, Shapes::ShapeRef.new(shape: TargetGroups, location_name: "TargetGroups"))
@@ -655,7 +661,8 @@ module Aws::ElasticLoadBalancingV2
655
661
 
656
662
  LoadBalancers.member = Shapes::ShapeRef.new(shape: LoadBalancer)
657
663
 
658
- Matcher.add_member(:http_code, Shapes::ShapeRef.new(shape: HttpCode, required: true, location_name: "HttpCode"))
664
+ Matcher.add_member(:http_code, Shapes::ShapeRef.new(shape: HttpCode, location_name: "HttpCode"))
665
+ Matcher.add_member(:grpc_code, Shapes::ShapeRef.new(shape: GrpcCode, location_name: "GrpcCode"))
659
666
  Matcher.struct_class = Types::Matcher
660
667
 
661
668
  ModifyListenerInput.add_member(:listener_arn, Shapes::ShapeRef.new(shape: ListenerArn, required: true, location_name: "ListenerArn"))
@@ -878,6 +885,7 @@ module Aws::ElasticLoadBalancingV2
878
885
  TargetGroup.add_member(:matcher, Shapes::ShapeRef.new(shape: Matcher, location_name: "Matcher"))
879
886
  TargetGroup.add_member(:load_balancer_arns, Shapes::ShapeRef.new(shape: LoadBalancerArns, location_name: "LoadBalancerArns"))
880
887
  TargetGroup.add_member(:target_type, Shapes::ShapeRef.new(shape: TargetTypeEnum, location_name: "TargetType"))
888
+ TargetGroup.add_member(:protocol_version, Shapes::ShapeRef.new(shape: ProtocolVersion, location_name: "ProtocolVersion"))
881
889
  TargetGroup.struct_class = Types::TargetGroup
882
890
 
883
891
  TargetGroupArns.member = Shapes::ShapeRef.new(shape: TargetGroupArn)
@@ -1004,6 +1012,7 @@ module Aws::ElasticLoadBalancingV2
1004
1012
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
1005
1013
  o.errors << Shapes::ShapeRef.new(shape: TooManyUniqueTargetGroupsPerLoadBalancerException)
1006
1014
  o.errors << Shapes::ShapeRef.new(shape: ALPNPolicyNotSupportedException)
1015
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1007
1016
  end)
1008
1017
 
1009
1018
  api.add_operation(:create_load_balancer, Seahorse::Model::Operation.new.tap do |o|
@@ -1047,6 +1056,7 @@ module Aws::ElasticLoadBalancingV2
1047
1056
  o.errors << Shapes::ShapeRef.new(shape: TooManyActionsException)
1048
1057
  o.errors << Shapes::ShapeRef.new(shape: InvalidLoadBalancerActionException)
1049
1058
  o.errors << Shapes::ShapeRef.new(shape: TooManyUniqueTargetGroupsPerLoadBalancerException)
1059
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1050
1060
  end)
1051
1061
 
1052
1062
  api.add_operation(:create_target_group, Seahorse::Model::Operation.new.tap do |o|
@@ -1058,6 +1068,7 @@ module Aws::ElasticLoadBalancingV2
1058
1068
  o.errors << Shapes::ShapeRef.new(shape: DuplicateTargetGroupNameException)
1059
1069
  o.errors << Shapes::ShapeRef.new(shape: TooManyTargetGroupsException)
1060
1070
  o.errors << Shapes::ShapeRef.new(shape: InvalidConfigurationRequestException)
1071
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1061
1072
  end)
1062
1073
 
1063
1074
  api.add_operation(:delete_listener, Seahorse::Model::Operation.new.tap do |o|
@@ -527,8 +527,8 @@ module Aws::ElasticLoadBalancingV2
527
527
  #
528
528
  # {
529
529
  # load_balancer_arn: "LoadBalancerArn", # required
530
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
531
- # port: 1, # required
530
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
531
+ # port: 1,
532
532
  # ssl_policy: "SslPolicyName",
533
533
  # certificates: [
534
534
  # {
@@ -597,6 +597,12 @@ module Aws::ElasticLoadBalancingV2
597
597
  # },
598
598
  # ],
599
599
  # alpn_policy: ["AlpnPolicyValue"],
600
+ # tags: [
601
+ # {
602
+ # key: "TagKey", # required
603
+ # value: "TagValue",
604
+ # },
605
+ # ],
600
606
  # }
601
607
  #
602
608
  # @!attribute [rw] load_balancer_arn
@@ -607,38 +613,21 @@ module Aws::ElasticLoadBalancingV2
607
613
  # The protocol for connections from clients to the load balancer. For
608
614
  # Application Load Balancers, the supported protocols are HTTP and
609
615
  # HTTPS. For Network Load Balancers, the supported protocols are TCP,
610
- # TLS, UDP, and TCP\_UDP.
616
+ # TLS, UDP, and TCP\_UDP. You cannot specify a protocol for a Gateway
617
+ # Load Balancer.
611
618
  # @return [String]
612
619
  #
613
620
  # @!attribute [rw] port
614
- # The port on which the load balancer is listening.
621
+ # The port on which the load balancer is listening. You cannot specify
622
+ # a port for a Gateway Load Balancer.
615
623
  # @return [Integer]
616
624
  #
617
625
  # @!attribute [rw] ssl_policy
618
626
  # \[HTTPS and TLS listeners\] The security policy that defines which
619
- # protocols and ciphers are supported. The following are the possible
620
- # values:
621
- #
622
- # * `ELBSecurityPolicy-2016-08`
623
- #
624
- # * `ELBSecurityPolicy-TLS-1-0-2015-04`
625
- #
626
- # * `ELBSecurityPolicy-TLS-1-1-2017-01`
627
- #
628
- # * `ELBSecurityPolicy-TLS-1-2-2017-01`
629
- #
630
- # * `ELBSecurityPolicy-TLS-1-2-Ext-2018-06`
631
- #
632
- # * `ELBSecurityPolicy-FS-2018-06`
633
- #
634
- # * `ELBSecurityPolicy-FS-1-1-2019-08`
635
- #
636
- # * `ELBSecurityPolicy-FS-1-2-2019-08`
637
- #
638
- # * `ELBSecurityPolicy-FS-1-2-Res-2019-08`
627
+ # protocols and ciphers are supported.
639
628
  #
640
- # For more information, see [Security Policies][1] in the *Application
641
- # Load Balancers Guide* and [Security Policies][2] in the *Network
629
+ # For more information, see [Security policies][1] in the *Application
630
+ # Load Balancers Guide* and [Security policies][2] in the *Network
642
631
  # Load Balancers Guide*.
643
632
  #
644
633
  #
@@ -651,34 +640,10 @@ module Aws::ElasticLoadBalancingV2
651
640
  # \[HTTPS and TLS listeners\] The default certificate for the
652
641
  # listener. You must provide exactly one certificate. Set
653
642
  # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
654
- #
655
- # To create a certificate list for the listener, use
656
- # AddListenerCertificates.
657
643
  # @return [Array<Types::Certificate>]
658
644
  #
659
645
  # @!attribute [rw] default_actions
660
- # The actions for the default rule. The rule must include one forward
661
- # action or one or more fixed-response actions.
662
- #
663
- # If the action type is `forward`, you specify one or more target
664
- # groups. The protocol of the target group must be HTTP or HTTPS for
665
- # an Application Load Balancer. The protocol of the target group must
666
- # be TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
667
- #
668
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
669
- # authenticate users through an identity provider that is OpenID
670
- # Connect (OIDC) compliant.
671
- #
672
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
673
- # you authenticate users through the user pools supported by Amazon
674
- # Cognito.
675
- #
676
- # \[Application Load Balancer\] If the action type is `redirect`, you
677
- # redirect specified client requests from one URL to another.
678
- #
679
- # \[Application Load Balancer\] If the action type is
680
- # `fixed-response`, you drop specified client requests and return a
681
- # custom HTTP response.
646
+ # The actions for the default rule.
682
647
  # @return [Array<Types::Action>]
683
648
  #
684
649
  # @!attribute [rw] alpn_policy
@@ -696,7 +661,7 @@ module Aws::ElasticLoadBalancingV2
696
661
  #
697
662
  # * `None`
698
663
  #
699
- # For more information, see [ALPN Policies][1] in the *Network Load
664
+ # For more information, see [ALPN policies][1] in the *Network Load
700
665
  # Balancers Guide*.
701
666
  #
702
667
  #
@@ -704,6 +669,10 @@ module Aws::ElasticLoadBalancingV2
704
669
  # [1]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#alpn-policies
705
670
  # @return [Array<String>]
706
671
  #
672
+ # @!attribute [rw] tags
673
+ # The tags to assign to the listener.
674
+ # @return [Array<Types::Tag>]
675
+ #
707
676
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateListenerInput AWS API Documentation
708
677
  #
709
678
  class CreateListenerInput < Struct.new(
@@ -713,7 +682,8 @@ module Aws::ElasticLoadBalancingV2
713
682
  :ssl_policy,
714
683
  :certificates,
715
684
  :default_actions,
716
- :alpn_policy)
685
+ :alpn_policy,
686
+ :tags)
717
687
  SENSITIVE = []
718
688
  include Aws::Structure
719
689
  end
@@ -751,7 +721,7 @@ module Aws::ElasticLoadBalancingV2
751
721
  # value: "TagValue",
752
722
  # },
753
723
  # ],
754
- # type: "application", # accepts application, network
724
+ # type: "application", # accepts application, network, gateway
755
725
  # ip_address_type: "ipv4", # accepts ipv4, dualstack
756
726
  # customer_owned_ipv_4_pool: "CustomerOwnedIpv4Pool",
757
727
  # }
@@ -781,6 +751,9 @@ module Aws::ElasticLoadBalancingV2
781
751
  #
782
752
  # \[Network Load Balancers\] You can specify subnets from one or more
783
753
  # Availability Zones.
754
+ #
755
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
756
+ # Availability Zones.
784
757
  # @return [Array<String>]
785
758
  #
786
759
  # @!attribute [rw] subnet_mappings
@@ -803,6 +776,10 @@ module Aws::ElasticLoadBalancingV2
803
776
  # subnet if you need static IP addresses for your internet-facing load
804
777
  # balancer. For internal load balancers, you can specify one private
805
778
  # IP address per subnet from the IPv4 range of the subnet.
779
+ #
780
+ # \[Gateway Load Balancers\] You can specify subnets from one or more
781
+ # Availability Zones. You cannot specify Elastic IP addresses for your
782
+ # subnets.
806
783
  # @return [Array<Types::SubnetMapping>]
807
784
  #
808
785
  # @!attribute [rw] security_groups
@@ -824,10 +801,12 @@ module Aws::ElasticLoadBalancingV2
824
801
  # access to the VPC for the load balancer.
825
802
  #
826
803
  # The default is an Internet-facing load balancer.
804
+ #
805
+ # You cannot specify a scheme for a Gateway Load Balancer.
827
806
  # @return [String]
828
807
  #
829
808
  # @!attribute [rw] tags
830
- # One or more tags to assign to the load balancer.
809
+ # The tags to assign to the load balancer.
831
810
  # @return [Array<Types::Tag>]
832
811
  #
833
812
  # @!attribute [rw] type
@@ -970,6 +949,12 @@ module Aws::ElasticLoadBalancingV2
970
949
  # },
971
950
  # },
972
951
  # ],
952
+ # tags: [
953
+ # {
954
+ # key: "TagKey", # required
955
+ # value: "TagValue",
956
+ # },
957
+ # ],
973
958
  # }
974
959
  #
975
960
  # @!attribute [rw] listener_arn
@@ -977,11 +962,7 @@ module Aws::ElasticLoadBalancingV2
977
962
  # @return [String]
978
963
  #
979
964
  # @!attribute [rw] conditions
980
- # The conditions. Each rule can optionally include up to one of each
981
- # of the following conditions: `http-request-method`, `host-header`,
982
- # `path-pattern`, and `source-ip`. Each rule can also optionally
983
- # include one or more of each of the following conditions:
984
- # `http-header` and `query-string`.
965
+ # The conditions.
985
966
  # @return [Array<Types::RuleCondition>]
986
967
  #
987
968
  # @!attribute [rw] priority
@@ -990,38 +971,21 @@ module Aws::ElasticLoadBalancingV2
990
971
  # @return [Integer]
991
972
  #
992
973
  # @!attribute [rw] actions
993
- # The actions. Each rule must include exactly one of the following
994
- # types of actions: `forward`, `fixed-response`, or `redirect`, and it
995
- # must be the last action to be performed.
996
- #
997
- # If the action type is `forward`, you specify one or more target
998
- # groups. The protocol of the target group must be HTTP or HTTPS for
999
- # an Application Load Balancer. The protocol of the target group must
1000
- # be TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
1001
- #
1002
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
1003
- # authenticate users through an identity provider that is OpenID
1004
- # Connect (OIDC) compliant.
1005
- #
1006
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
1007
- # you authenticate users through the user pools supported by Amazon
1008
- # Cognito.
1009
- #
1010
- # \[Application Load Balancer\] If the action type is `redirect`, you
1011
- # redirect specified client requests from one URL to another.
1012
- #
1013
- # \[Application Load Balancer\] If the action type is
1014
- # `fixed-response`, you drop specified client requests and return a
1015
- # custom HTTP response.
974
+ # The actions.
1016
975
  # @return [Array<Types::Action>]
1017
976
  #
977
+ # @!attribute [rw] tags
978
+ # The tags to assign to the rule.
979
+ # @return [Array<Types::Tag>]
980
+ #
1018
981
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateRuleInput AWS API Documentation
1019
982
  #
1020
983
  class CreateRuleInput < Struct.new(
1021
984
  :listener_arn,
1022
985
  :conditions,
1023
986
  :priority,
1024
- :actions)
987
+ :actions,
988
+ :tags)
1025
989
  SENSITIVE = []
1026
990
  include Aws::Structure
1027
991
  end
@@ -1043,10 +1007,11 @@ module Aws::ElasticLoadBalancingV2
1043
1007
  #
1044
1008
  # {
1045
1009
  # name: "TargetGroupName", # required
1046
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1010
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1011
+ # protocol_version: "ProtocolVersion",
1047
1012
  # port: 1,
1048
1013
  # vpc_id: "VpcId",
1049
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
1014
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
1050
1015
  # health_check_port: "HealthCheckPort",
1051
1016
  # health_check_enabled: false,
1052
1017
  # health_check_path: "Path",
@@ -1055,9 +1020,16 @@ module Aws::ElasticLoadBalancingV2
1055
1020
  # healthy_threshold_count: 1,
1056
1021
  # unhealthy_threshold_count: 1,
1057
1022
  # matcher: {
1058
- # http_code: "HttpCode", # required
1023
+ # http_code: "HttpCode",
1024
+ # grpc_code: "GrpcCode",
1059
1025
  # },
1060
1026
  # target_type: "instance", # accepts instance, ip, lambda
1027
+ # tags: [
1028
+ # {
1029
+ # key: "TagKey", # required
1030
+ # value: "TagValue",
1031
+ # },
1032
+ # ],
1061
1033
  # }
1062
1034
  #
1063
1035
  # @!attribute [rw] name
@@ -1072,15 +1044,24 @@ module Aws::ElasticLoadBalancingV2
1072
1044
  # The protocol to use for routing traffic to the targets. For
1073
1045
  # Application Load Balancers, the supported protocols are HTTP and
1074
1046
  # HTTPS. For Network Load Balancers, the supported protocols are TCP,
1075
- # TLS, UDP, or TCP\_UDP. A TCP\_UDP listener must be associated with a
1047
+ # TLS, UDP, or TCP\_UDP. For Gateway Load Balancers, the supported
1048
+ # protocol is GENEVE. A TCP\_UDP listener must be associated with a
1076
1049
  # TCP\_UDP target group. If the target is a Lambda function, this
1077
1050
  # parameter does not apply.
1078
1051
  # @return [String]
1079
1052
  #
1053
+ # @!attribute [rw] protocol_version
1054
+ # \[HTTP/HTTPS protocol\] The protocol version. Specify `GRPC` to send
1055
+ # requests to targets using gRPC. Specify `HTTP2` to send requests to
1056
+ # targets using HTTP/2. The default is `HTTP1`, which sends requests
1057
+ # to targets using HTTP/1.1.
1058
+ # @return [String]
1059
+ #
1080
1060
  # @!attribute [rw] port
1081
1061
  # The port on which the targets receive traffic. This port is used
1082
1062
  # unless you specify a port override when registering the target. If
1083
- # the target is a Lambda function, this parameter does not apply.
1063
+ # the target is a Lambda function, this parameter does not apply. If
1064
+ # the protocol is GENEVE, the supported port is 6081.
1084
1065
  # @return [Integer]
1085
1066
  #
1086
1067
  # @!attribute [rw] vpc_id
@@ -1092,16 +1073,18 @@ module Aws::ElasticLoadBalancingV2
1092
1073
  # @!attribute [rw] health_check_protocol
1093
1074
  # The protocol the load balancer uses when performing health checks on
1094
1075
  # targets. For Application Load Balancers, the default is HTTP. For
1095
- # Network Load Balancers, the default is TCP. The TCP protocol is
1096
- # supported for health checks only if the protocol of the target group
1097
- # is TCP, TLS, UDP, or TCP\_UDP. The TLS, UDP, and TCP\_UDP protocols
1098
- # are not supported for health checks.
1076
+ # Network Load Balancers and Gateway Load Balancers, the default is
1077
+ # TCP. The TCP protocol is not supported for health checks if the
1078
+ # protocol of the target group is HTTP or HTTPS. The GENEVE, TLS, UDP,
1079
+ # and TCP\_UDP protocols are not supported for health checks.
1099
1080
  # @return [String]
1100
1081
  #
1101
1082
  # @!attribute [rw] health_check_port
1102
1083
  # The port the load balancer uses when performing health checks on
1103
- # targets. The default is `traffic-port`, which is the port on which
1104
- # each target receives traffic from the load balancer.
1084
+ # targets. If the protocol is HTTP, HTTPS, TCP, TLS, UDP, or TCP\_UDP,
1085
+ # the default is `traffic-port`, which is the port on which each
1086
+ # target receives traffic from the load balancer. If the protocol is
1087
+ # GENEVE, the default is port 80.
1105
1088
  # @return [String]
1106
1089
  #
1107
1090
  # @!attribute [rw] health_check_enabled
@@ -1112,47 +1095,55 @@ module Aws::ElasticLoadBalancingV2
1112
1095
  # @return [Boolean]
1113
1096
  #
1114
1097
  # @!attribute [rw] health_check_path
1115
- # \[HTTP/HTTPS health checks\] The ping path that is the destination
1116
- # on the targets for health checks. The default is /.
1098
+ # \[HTTP/HTTPS health checks\] The destination for health checks on
1099
+ # the targets.
1100
+ #
1101
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
1102
+ #
1103
+ # \[GRPC protocol version\] The path of a custom health check method
1104
+ # with the format /package.service/method. The default is
1105
+ # /AWS.ALB/healthcheck.
1117
1106
  # @return [String]
1118
1107
  #
1119
1108
  # @!attribute [rw] health_check_interval_seconds
1120
1109
  # The approximate amount of time, in seconds, between health checks of
1121
- # an individual target. For HTTP and HTTPS health checks, the range is
1122
- # 5–300 seconds. For TCP health checks, the supported values are 10
1123
- # and 30 seconds. If the target type is `instance` or `ip`, the
1124
- # default is 30 seconds. If the target type is `lambda`, the default
1110
+ # an individual target. For TCP health checks, the supported values
1111
+ # are 10 and 30 seconds. If the target type is `instance` or `ip`, the
1112
+ # default is 30 seconds. If the target group protocol is GENEVE, the
1113
+ # default is 10 seconds. If the target type is `lambda`, the default
1125
1114
  # is 35 seconds.
1126
1115
  # @return [Integer]
1127
1116
  #
1128
1117
  # @!attribute [rw] health_check_timeout_seconds
1129
1118
  # The amount of time, in seconds, during which no response from a
1130
1119
  # target means a failed health check. For target groups with a
1131
- # protocol of HTTP or HTTPS, the default is 5 seconds. For target
1132
- # groups with a protocol of TCP or TLS, this value must be 6 seconds
1133
- # for HTTP health checks and 10 seconds for TCP and HTTPS health
1134
- # checks. If the target type is `lambda`, the default is 30 seconds.
1120
+ # protocol of HTTP, HTTPS, or GENEVE, the default is 5 seconds. For
1121
+ # target groups with a protocol of TCP or TLS, this value must be 6
1122
+ # seconds for HTTP health checks and 10 seconds for TCP and HTTPS
1123
+ # health checks. If the target type is `lambda`, the default is 30
1124
+ # seconds.
1135
1125
  # @return [Integer]
1136
1126
  #
1137
1127
  # @!attribute [rw] healthy_threshold_count
1138
1128
  # The number of consecutive health checks successes required before
1139
1129
  # considering an unhealthy target healthy. For target groups with a
1140
1130
  # protocol of HTTP or HTTPS, the default is 5. For target groups with
1141
- # a protocol of TCP or TLS, the default is 3. If the target type is
1142
- # `lambda`, the default is 5.
1131
+ # a protocol of TCP, TLS, or GENEVE, the default is 3. If the target
1132
+ # type is `lambda`, the default is 5.
1143
1133
  # @return [Integer]
1144
1134
  #
1145
1135
  # @!attribute [rw] unhealthy_threshold_count
1146
1136
  # The number of consecutive health check failures required before
1147
- # considering a target unhealthy. For target groups with a protocol of
1148
- # HTTP or HTTPS, the default is 2. For target groups with a protocol
1149
- # of TCP or TLS, this value must be the same as the healthy threshold
1150
- # count. If the target type is `lambda`, the default is 2.
1137
+ # considering a target unhealthy. If the target group protocol is HTTP
1138
+ # or HTTPS, the default is 2. If the target group protocol is TCP or
1139
+ # TLS, this value must be the same as the healthy threshold count. If
1140
+ # the target group protocol is GENEVE, the default is 3. If the target
1141
+ # type is `lambda`, the default is 2.
1151
1142
  # @return [Integer]
1152
1143
  #
1153
1144
  # @!attribute [rw] matcher
1154
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
1155
- # a successful response from a target.
1145
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
1146
+ # checking for a successful response from a target.
1156
1147
  # @return [Types::Matcher]
1157
1148
  #
1158
1149
  # @!attribute [rw] target_type
@@ -1160,23 +1151,28 @@ module Aws::ElasticLoadBalancingV2
1160
1151
  # with this target group. You can't specify targets for a target
1161
1152
  # group using more than one target type.
1162
1153
  #
1163
- # * `instance` - Targets are specified by instance ID. This is the
1164
- # default value.
1154
+ # * `instance` - Register targets by instance ID. This is the default
1155
+ # value.
1165
1156
  #
1166
- # * `ip` - Targets are specified by IP address. You can specify IP
1157
+ # * `ip` - Register targets by IP address. You can specify IP
1167
1158
  # addresses from the subnets of the virtual private cloud (VPC) for
1168
1159
  # the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12,
1169
1160
  # and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You
1170
1161
  # can't specify publicly routable IP addresses.
1171
1162
  #
1172
- # * `lambda` - The target groups contains a single Lambda function.
1163
+ # * `lambda` - Register a single Lambda function as a target.
1173
1164
  # @return [String]
1174
1165
  #
1166
+ # @!attribute [rw] tags
1167
+ # The tags to assign to the target group.
1168
+ # @return [Array<Types::Tag>]
1169
+ #
1175
1170
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/CreateTargetGroupInput AWS API Documentation
1176
1171
  #
1177
1172
  class CreateTargetGroupInput < Struct.new(
1178
1173
  :name,
1179
1174
  :protocol,
1175
+ :protocol_version,
1180
1176
  :port,
1181
1177
  :vpc_id,
1182
1178
  :health_check_protocol,
@@ -1188,7 +1184,8 @@ module Aws::ElasticLoadBalancingV2
1188
1184
  :healthy_threshold_count,
1189
1185
  :unhealthy_threshold_count,
1190
1186
  :matcher,
1191
- :target_type)
1187
+ :target_type,
1188
+ :tags)
1192
1189
  SENSITIVE = []
1193
1190
  include Aws::Structure
1194
1191
  end
@@ -2110,6 +2107,16 @@ module Aws::ElasticLoadBalancingV2
2110
2107
  #
2111
2108
  # * application-load-balancers
2112
2109
  #
2110
+ # * condition-values-per-alb-rule
2111
+ #
2112
+ # * condition-wildcards-per-alb-rule
2113
+ #
2114
+ # * gateway-load-balancers
2115
+ #
2116
+ # * gateway-load-balancers-per-vpc
2117
+ #
2118
+ # * geneve-target-groups
2119
+ #
2113
2120
  # * listeners-per-application-load-balancer
2114
2121
  #
2115
2122
  # * listeners-per-network-load-balancer
@@ -2128,6 +2135,8 @@ module Aws::ElasticLoadBalancingV2
2128
2135
  #
2129
2136
  # * targets-per-application-load-balancer
2130
2137
  #
2138
+ # * targets-per-availability-zone-per-gateway-load-balancer
2139
+ #
2131
2140
  # * targets-per-availability-zone-per-network-load-balancer
2132
2141
  #
2133
2142
  # * targets-per-network-load-balancer
@@ -2330,6 +2339,14 @@ module Aws::ElasticLoadBalancingV2
2330
2339
  # @!attribute [rw] key
2331
2340
  # The name of the attribute.
2332
2341
  #
2342
+ # The following attribute is supported by all load balancers:
2343
+ #
2344
+ # * `deletion_protection.enabled` - Indicates whether deletion
2345
+ # protection is enabled. The value is `true` or `false`. The default
2346
+ # is `false`.
2347
+ #
2348
+ # ^
2349
+ #
2333
2350
  # The following attributes are supported by both Application Load
2334
2351
  # Balancers and Network Load Balancers:
2335
2352
  #
@@ -2345,10 +2362,6 @@ module Aws::ElasticLoadBalancingV2
2345
2362
  # * `access_logs.s3.prefix` - The prefix for the location in the S3
2346
2363
  # bucket for the access logs.
2347
2364
  #
2348
- # * `deletion_protection.enabled` - Indicates whether deletion
2349
- # protection is enabled. The value is `true` or `false`. The default
2350
- # is `false`.
2351
- #
2352
2365
  # The following attributes are supported by only Application Load
2353
2366
  # Balancers:
2354
2367
  #
@@ -2371,8 +2384,8 @@ module Aws::ElasticLoadBalancingV2
2371
2384
  # Balancing requires that message header names contain only
2372
2385
  # alphanumeric characters and hyphens.
2373
2386
  #
2374
- # The following attributes are supported by only Network Load
2375
- # Balancers:
2387
+ # The following attribute is supported by Network Load Balancers and
2388
+ # Gateway Load Balancers:
2376
2389
  #
2377
2390
  # * `load_balancing.cross_zone.enabled` - Indicates whether cross-zone
2378
2391
  # load balancing is enabled. The value is `true` or `false`. The
@@ -2422,31 +2435,39 @@ module Aws::ElasticLoadBalancingV2
2422
2435
  include Aws::Structure
2423
2436
  end
2424
2437
 
2425
- # Information to use when checking for a successful response from a
2426
- # target.
2438
+ # The codes to use when checking for a successful response from a
2439
+ # target. If the protocol version is gRPC, these are gRPC codes.
2440
+ # Otherwise, these are HTTP codes.
2427
2441
  #
2428
2442
  # @note When making an API call, you may pass Matcher
2429
2443
  # data as a hash:
2430
2444
  #
2431
2445
  # {
2432
- # http_code: "HttpCode", # required
2446
+ # http_code: "HttpCode",
2447
+ # grpc_code: "GrpcCode",
2433
2448
  # }
2434
2449
  #
2435
2450
  # @!attribute [rw] http_code
2436
- # The HTTP codes.
2437
- #
2438
2451
  # For Application Load Balancers, you can specify values between 200
2439
2452
  # and 499, and the default value is 200. You can specify multiple
2440
2453
  # values (for example, "200,202") or a range of values (for example,
2441
2454
  # "200-299").
2442
2455
  #
2443
- # For Network Load Balancers, this is 200–399.
2456
+ # For Network Load Balancers and Gateway Load Balancers, this must be
2457
+ # "200–399".
2458
+ # @return [String]
2459
+ #
2460
+ # @!attribute [rw] grpc_code
2461
+ # You can specify values between 0 and 99. You can specify multiple
2462
+ # values (for example, "0,1") or a range of values (for example,
2463
+ # "0-5"). The default value is 12.
2444
2464
  # @return [String]
2445
2465
  #
2446
2466
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Matcher AWS API Documentation
2447
2467
  #
2448
2468
  class Matcher < Struct.new(
2449
- :http_code)
2469
+ :http_code,
2470
+ :grpc_code)
2450
2471
  SENSITIVE = []
2451
2472
  include Aws::Structure
2452
2473
  end
@@ -2457,7 +2478,7 @@ module Aws::ElasticLoadBalancingV2
2457
2478
  # {
2458
2479
  # listener_arn: "ListenerArn", # required
2459
2480
  # port: 1,
2460
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2481
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
2461
2482
  # ssl_policy: "SslPolicyName",
2462
2483
  # certificates: [
2463
2484
  # {
@@ -2533,42 +2554,25 @@ module Aws::ElasticLoadBalancingV2
2533
2554
  # @return [String]
2534
2555
  #
2535
2556
  # @!attribute [rw] port
2536
- # The port for connections from clients to the load balancer.
2557
+ # The port for connections from clients to the load balancer. You
2558
+ # cannot specify a port for a Gateway Load Balancer.
2537
2559
  # @return [Integer]
2538
2560
  #
2539
2561
  # @!attribute [rw] protocol
2540
2562
  # The protocol for connections from clients to the load balancer.
2541
2563
  # Application Load Balancers support the HTTP and HTTPS protocols.
2542
2564
  # Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
2543
- # protocols.
2565
+ # protocols. You cannot specify a protocol for a Gateway Load
2566
+ # Balancer.
2544
2567
  # @return [String]
2545
2568
  #
2546
2569
  # @!attribute [rw] ssl_policy
2547
2570
  # \[HTTPS and TLS listeners\] The security policy that defines which
2548
- # protocols and ciphers are supported. The following are the possible
2549
- # values:
2550
- #
2551
- # * `ELBSecurityPolicy-2016-08`
2552
- #
2553
- # * `ELBSecurityPolicy-TLS-1-0-2015-04`
2554
- #
2555
- # * `ELBSecurityPolicy-TLS-1-1-2017-01`
2556
- #
2557
- # * `ELBSecurityPolicy-TLS-1-2-2017-01`
2558
- #
2559
- # * `ELBSecurityPolicy-TLS-1-2-Ext-2018-06`
2560
- #
2561
- # * `ELBSecurityPolicy-FS-2018-06`
2562
- #
2563
- # * `ELBSecurityPolicy-FS-1-1-2019-08`
2564
- #
2565
- # * `ELBSecurityPolicy-FS-1-2-2019-08`
2566
- #
2567
- # * `ELBSecurityPolicy-FS-1-2-Res-2019-08`
2571
+ # protocols and ciphers are supported.
2568
2572
  #
2569
- # For more information, see [Security Policies][1] in the *Application
2570
- # Load Balancers Guide* and [Security Policies][2] in the *Network
2571
- # Load Balancers Guide*.
2573
+ # For more information, see [Security policies][1] in the *Application
2574
+ # Load Balancers Guide* or [Security policies][2] in the *Network Load
2575
+ # Balancers Guide*.
2572
2576
  #
2573
2577
  #
2574
2578
  #
@@ -2580,33 +2584,10 @@ module Aws::ElasticLoadBalancingV2
2580
2584
  # \[HTTPS and TLS listeners\] The default certificate for the
2581
2585
  # listener. You must provide exactly one certificate. Set
2582
2586
  # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
2583
- #
2584
- # To create a certificate list, use AddListenerCertificates.
2585
2587
  # @return [Array<Types::Certificate>]
2586
2588
  #
2587
2589
  # @!attribute [rw] default_actions
2588
- # The actions for the default rule. The rule must include one forward
2589
- # action or one or more fixed-response actions.
2590
- #
2591
- # If the action type is `forward`, you specify one or more target
2592
- # groups. The protocol of the target group must be HTTP or HTTPS for
2593
- # an Application Load Balancer. The protocol of the target group must
2594
- # be TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
2595
- #
2596
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2597
- # authenticate users through an identity provider that is OpenID
2598
- # Connect (OIDC) compliant.
2599
- #
2600
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
2601
- # you authenticate users through the user pools supported by Amazon
2602
- # Cognito.
2603
- #
2604
- # \[Application Load Balancer\] If the action type is `redirect`, you
2605
- # redirect specified client requests from one URL to another.
2606
- #
2607
- # \[Application Load Balancer\] If the action type is
2608
- # `fixed-response`, you drop specified client requests and return a
2609
- # custom HTTP response.
2590
+ # The actions for the default rule.
2610
2591
  # @return [Array<Types::Action>]
2611
2592
  #
2612
2593
  # @!attribute [rw] alpn_policy
@@ -2624,7 +2605,7 @@ module Aws::ElasticLoadBalancingV2
2624
2605
  #
2625
2606
  # * `None`
2626
2607
  #
2627
- # For more information, see [ALPN Policies][1] in the *Network Load
2608
+ # For more information, see [ALPN policies][1] in the *Network Load
2628
2609
  # Balancers Guide*.
2629
2610
  #
2630
2611
  #
@@ -2802,36 +2783,11 @@ module Aws::ElasticLoadBalancingV2
2802
2783
  # @return [String]
2803
2784
  #
2804
2785
  # @!attribute [rw] conditions
2805
- # The conditions. Each rule can include zero or one of the following
2806
- # conditions: `http-request-method`, `host-header`, `path-pattern`,
2807
- # and `source-ip`, and zero or more of the following conditions:
2808
- # `http-header` and `query-string`.
2786
+ # The conditions.
2809
2787
  # @return [Array<Types::RuleCondition>]
2810
2788
  #
2811
2789
  # @!attribute [rw] actions
2812
- # The actions. Each rule must include exactly one of the following
2813
- # types of actions: `forward`, `fixed-response`, or `redirect`, and it
2814
- # must be the last action to be performed.
2815
- #
2816
- # If the action type is `forward`, you specify one or more target
2817
- # groups. The protocol of the target group must be HTTP or HTTPS for
2818
- # an Application Load Balancer. The protocol of the target group must
2819
- # be TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
2820
- #
2821
- # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2822
- # authenticate users through an identity provider that is OpenID
2823
- # Connect (OIDC) compliant.
2824
- #
2825
- # \[HTTPS listeners\] If the action type is `authenticate-cognito`,
2826
- # you authenticate users through the user pools supported by Amazon
2827
- # Cognito.
2828
- #
2829
- # \[Application Load Balancer\] If the action type is `redirect`, you
2830
- # redirect specified client requests from one URL to another.
2831
- #
2832
- # \[Application Load Balancer\] If the action type is
2833
- # `fixed-response`, you drop specified client requests and return a
2834
- # custom HTTP response.
2790
+ # The actions.
2835
2791
  # @return [Array<Types::Action>]
2836
2792
  #
2837
2793
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/ModifyRuleInput AWS API Documentation
@@ -2903,7 +2859,7 @@ module Aws::ElasticLoadBalancingV2
2903
2859
  #
2904
2860
  # {
2905
2861
  # target_group_arn: "TargetGroupArn", # required
2906
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2862
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP, GENEVE
2907
2863
  # health_check_port: "HealthCheckPort",
2908
2864
  # health_check_path: "Path",
2909
2865
  # health_check_enabled: false,
@@ -2912,7 +2868,8 @@ module Aws::ElasticLoadBalancingV2
2912
2868
  # healthy_threshold_count: 1,
2913
2869
  # unhealthy_threshold_count: 1,
2914
2870
  # matcher: {
2915
- # http_code: "HttpCode", # required
2871
+ # http_code: "HttpCode",
2872
+ # grpc_code: "GrpcCode",
2916
2873
  # },
2917
2874
  # }
2918
2875
  #
@@ -2923,8 +2880,9 @@ module Aws::ElasticLoadBalancingV2
2923
2880
  # @!attribute [rw] health_check_protocol
2924
2881
  # The protocol the load balancer uses when performing health checks on
2925
2882
  # targets. The TCP protocol is supported for health checks only if the
2926
- # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The TLS,
2927
- # UDP, and TCP\_UDP protocols are not supported for health checks.
2883
+ # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The
2884
+ # GENEVE, TLS, UDP, and TCP\_UDP protocols are not supported for
2885
+ # health checks.
2928
2886
  #
2929
2887
  # With Network Load Balancers, you can't modify this setting.
2930
2888
  # @return [String]
@@ -2935,8 +2893,14 @@ module Aws::ElasticLoadBalancingV2
2935
2893
  # @return [String]
2936
2894
  #
2937
2895
  # @!attribute [rw] health_check_path
2938
- # \[HTTP/HTTPS health checks\] The ping path that is the destination
2939
- # for the health check request.
2896
+ # \[HTTP/HTTPS health checks\] The destination for health checks on
2897
+ # the targets.
2898
+ #
2899
+ # \[HTTP1 or HTTP2 protocol version\] The ping path. The default is /.
2900
+ #
2901
+ # \[GRPC protocol version\] The path of a custom health check method
2902
+ # with the format /package.service/method. The default is
2903
+ # /AWS.ALB/healthcheck.
2940
2904
  # @return [String]
2941
2905
  #
2942
2906
  # @!attribute [rw] health_check_enabled
@@ -2945,9 +2909,8 @@ module Aws::ElasticLoadBalancingV2
2945
2909
  #
2946
2910
  # @!attribute [rw] health_check_interval_seconds
2947
2911
  # The approximate amount of time, in seconds, between health checks of
2948
- # an individual target. For Application Load Balancers, the range is 5
2949
- # to 300 seconds. For Network Load Balancers, the supported values are
2950
- # 10 or 30 seconds.
2912
+ # an individual target. For TCP health checks, the supported values
2913
+ # are 10 or 30 seconds.
2951
2914
  #
2952
2915
  # With Network Load Balancers, you can't modify this setting.
2953
2916
  # @return [Integer]
@@ -2966,16 +2929,14 @@ module Aws::ElasticLoadBalancingV2
2966
2929
  #
2967
2930
  # @!attribute [rw] unhealthy_threshold_count
2968
2931
  # The number of consecutive health check failures required before
2969
- # considering the target unhealthy. For Network Load Balancers, this
2970
- # value must be the same as the healthy threshold count.
2932
+ # considering the target unhealthy. For target groups with a protocol
2933
+ # of TCP or TLS, this value must be the same as the healthy threshold
2934
+ # count.
2971
2935
  # @return [Integer]
2972
2936
  #
2973
2937
  # @!attribute [rw] matcher
2974
- # \[HTTP/HTTPS health checks\] The HTTP codes to use when checking for
2975
- # a successful response from a target. The possible values are from
2976
- # 200 to 499. You can specify multiple values (for example,
2977
- # "200,202") or a range of values (for example, "200-299"). The
2978
- # default is 200.
2938
+ # \[HTTP/HTTPS health checks\] The HTTP or gRPC codes to use when
2939
+ # checking for a successful response from a target.
2979
2940
  #
2980
2941
  # With Network Load Balancers, you can't modify this setting.
2981
2942
  # @return [Types::Matcher]
@@ -3219,10 +3180,6 @@ module Aws::ElasticLoadBalancingV2
3219
3180
  #
3220
3181
  # @!attribute [rw] targets
3221
3182
  # The targets.
3222
- #
3223
- # To register a target by instance ID, specify the instance ID. To
3224
- # register a target by IP address, specify the IP address. To register
3225
- # a Lambda function, specify the ARN of the Lambda function.
3226
3183
  # @return [Array<Types::TargetDescription>]
3227
3184
  #
3228
3185
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RegisterTargetsInput AWS API Documentation
@@ -3540,8 +3497,7 @@ module Aws::ElasticLoadBalancingV2
3540
3497
  # @!attribute [rw] ip_address_type
3541
3498
  # The IP address type. The possible values are `ipv4` (for IPv4
3542
3499
  # addresses) and `dualstack` (for IPv4 and IPv6 addresses). Internal
3543
- # load balancers must use `ipv4`. Network Load Balancers must use
3544
- # `ipv4`.
3500
+ # load balancers must use `ipv4`.
3545
3501
  # @return [String]
3546
3502
  #
3547
3503
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressTypeInput AWS API Documentation
@@ -3865,8 +3821,9 @@ module Aws::ElasticLoadBalancingV2
3865
3821
  # @return [String]
3866
3822
  #
3867
3823
  # @!attribute [rw] port
3868
- # The port on which the target is listening. Not used if the target is
3869
- # a Lambda function.
3824
+ # The port on which the target is listening. If the target group
3825
+ # protocol is GENEVE, the supported port is 6081. Not used if the
3826
+ # target is a Lambda function.
3870
3827
  # @return [Integer]
3871
3828
  #
3872
3829
  # @!attribute [rw] availability_zone
@@ -3925,7 +3882,8 @@ module Aws::ElasticLoadBalancingV2
3925
3882
  # @return [String]
3926
3883
  #
3927
3884
  # @!attribute [rw] health_check_protocol
3928
- # The protocol to use to connect with the target.
3885
+ # The protocol to use to connect with the target. The GENEVE, TLS,
3886
+ # UDP, and TCP\_UDP protocols are not supported for health checks.
3929
3887
  # @return [String]
3930
3888
  #
3931
3889
  # @!attribute [rw] health_check_port
@@ -3957,12 +3915,12 @@ module Aws::ElasticLoadBalancingV2
3957
3915
  # @return [Integer]
3958
3916
  #
3959
3917
  # @!attribute [rw] health_check_path
3960
- # The destination for the health check request.
3918
+ # The destination for health checks on the targets.
3961
3919
  # @return [String]
3962
3920
  #
3963
3921
  # @!attribute [rw] matcher
3964
- # The HTTP codes to use when checking for a successful response from a
3965
- # target.
3922
+ # The HTTP or gRPC codes to use when checking for a successful
3923
+ # response from a target.
3966
3924
  # @return [Types::Matcher]
3967
3925
  #
3968
3926
  # @!attribute [rw] load_balancer_arns
@@ -3972,9 +3930,14 @@ module Aws::ElasticLoadBalancingV2
3972
3930
  #
3973
3931
  # @!attribute [rw] target_type
3974
3932
  # The type of target that you must specify when registering targets
3975
- # with this target group. The possible values are `instance` (targets
3976
- # are specified by instance ID) or `ip` (targets are specified by IP
3977
- # address).
3933
+ # with this target group. The possible values are `instance` (register
3934
+ # targets by instance ID), `ip` (register targets by IP address), or
3935
+ # `lambda` (register a single Lambda function as a target).
3936
+ # @return [String]
3937
+ #
3938
+ # @!attribute [rw] protocol_version
3939
+ # \[HTTP/HTTPS protocol\] The protocol version. The possible values
3940
+ # are `GRPC`, `HTTP1`, and `HTTP2`.
3978
3941
  # @return [String]
3979
3942
  #
3980
3943
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/TargetGroup AWS API Documentation
@@ -3995,7 +3958,8 @@ module Aws::ElasticLoadBalancingV2
3995
3958
  :health_check_path,
3996
3959
  :matcher,
3997
3960
  :load_balancer_arns,
3998
- :target_type)
3961
+ :target_type,
3962
+ :protocol_version)
3999
3963
  SENSITIVE = []
4000
3964
  include Aws::Structure
4001
3965
  end
@@ -4020,8 +3984,7 @@ module Aws::ElasticLoadBalancingV2
4020
3984
  # @!attribute [rw] key
4021
3985
  # The name of the attribute.
4022
3986
  #
4023
- # The following attributes are supported by both Application Load
4024
- # Balancers and Network Load Balancers:
3987
+ # The following attribute is supported by all load balancers:
4025
3988
  #
4026
3989
  # * `deregistration_delay.timeout_seconds` - The amount of time, in
4027
3990
  # seconds, for Elastic Load Balancing to wait before changing the
@@ -4029,6 +3992,11 @@ module Aws::ElasticLoadBalancingV2
4029
3992
  # range is 0-3600 seconds. The default value is 300 seconds. If the
4030
3993
  # target is a Lambda function, this attribute is not supported.
4031
3994
  #
3995
+ # ^
3996
+ #
3997
+ # The following attributes are supported by both Application Load
3998
+ # Balancers and Network Load Balancers:
3999
+ #
4032
4000
  # * `stickiness.enabled` - Indicates whether sticky sessions are
4033
4001
  # enabled. The value is `true` or `false`. The default is `false`.
4034
4002
  #
@@ -4181,10 +4149,11 @@ module Aws::ElasticLoadBalancingV2
4181
4149
  # the following values:
4182
4150
  #
4183
4151
  # * `Target.ResponseCodeMismatch` - The health checks did not return
4184
- # an expected HTTP code. Applies only to Application Load Balancers.
4152
+ # an expected HTTP code. Applies only to Application Load Balancers
4153
+ # and Gateway Load Balancers.
4185
4154
  #
4186
4155
  # * `Target.Timeout` - The health check requests timed out. Applies
4187
- # only to Application Load Balancers.
4156
+ # only to Application Load Balancers and Gateway Load Balancers.
4188
4157
  #
4189
4158
  # * `Target.FailedHealthChecks` - The load balancer received an error
4190
4159
  # while establishing a connection to the target or the target