aws-sdk-elasticloadbalancingv2 1.50.0 → 1.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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