aws-sdk-elasticloadbalancingv2 1.30.0 → 1.31.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.
@@ -146,7 +146,7 @@ module Aws::ElasticLoadBalancingV2
146
146
  end
147
147
 
148
148
  # @!attribute [rw] certificates
149
- # Information about the certificates.
149
+ # Information about the certificates in the certificate list.
150
150
  # @return [Array<Types::Certificate>]
151
151
  #
152
152
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/AddListenerCertificatesOutput AWS API Documentation
@@ -421,7 +421,9 @@ module Aws::ElasticLoadBalancingV2
421
421
  #
422
422
  # @!attribute [rw] is_default
423
423
  # Indicates whether the certificate is the default certificate. Do not
424
- # set `IsDefault` when specifying a certificate as an input parameter.
424
+ # set this value when specifying a certificate as an input. This value
425
+ # is not included in the output when describing a listener, but is
426
+ # included when describing listener certificates.
425
427
  # @return [Boolean]
426
428
  #
427
429
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/Certificate AWS API Documentation
@@ -455,7 +457,7 @@ module Aws::ElasticLoadBalancingV2
455
457
  #
456
458
  # {
457
459
  # load_balancer_arn: "LoadBalancerArn", # required
458
- # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS
460
+ # protocol: "HTTP", # required, accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
459
461
  # port: 1, # required
460
462
  # ssl_policy: "SslPolicyName",
461
463
  # certificates: [
@@ -521,8 +523,8 @@ module Aws::ElasticLoadBalancingV2
521
523
  # @!attribute [rw] protocol
522
524
  # The protocol for connections from clients to the load balancer. For
523
525
  # Application Load Balancers, the supported protocols are HTTP and
524
- # HTTPS. For Network Load Balancers, the supported protocols are TCP
525
- # and TLS.
526
+ # HTTPS. For Network Load Balancers, the supported protocols are TCP,
527
+ # TLS, UDP, and TCP\_UDP.
526
528
  # @return [String]
527
529
  #
528
530
  # @!attribute [rw] port
@@ -536,11 +538,12 @@ module Aws::ElasticLoadBalancingV2
536
538
  # @return [String]
537
539
  #
538
540
  # @!attribute [rw] certificates
539
- # \[HTTPS and TLS listeners\] The default SSL server certificate. You
540
- # must provide exactly one certificate. Set `CertificateArn` to the
541
- # certificate ARN but do not set `IsDefault`.
541
+ # \[HTTPS and TLS listeners\] The default certificate for the
542
+ # listener. You must provide exactly one certificate. Set
543
+ # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
542
544
  #
543
- # To create a certificate list, use AddListenerCertificates.
545
+ # To create a certificate list for the listener, use
546
+ # AddListenerCertificates.
544
547
  # @return [Array<Types::Certificate>]
545
548
  #
546
549
  # @!attribute [rw] default_actions
@@ -550,7 +553,7 @@ module Aws::ElasticLoadBalancingV2
550
553
  # If the action type is `forward`, you specify a target group. The
551
554
  # protocol of the target group must be HTTP or HTTPS for an
552
555
  # Application Load Balancer. The protocol of the target group must be
553
- # TCP or TLS for a Network Load Balancer.
556
+ # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
554
557
  #
555
558
  # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
556
559
  # authenticate users through an identity provider that is OpenID
@@ -802,37 +805,10 @@ module Aws::ElasticLoadBalancingV2
802
805
  # @return [String]
803
806
  #
804
807
  # @!attribute [rw] conditions
805
- # The conditions. Each condition specifies a field name and a single
806
- # value.
807
- #
808
- # If the field name is `host-header`, you can specify a single host
809
- # name (for example, my.example.com). A host name is case insensitive,
810
- # can be up to 128 characters in length, and can contain any of the
811
- # following characters. You can include up to three wildcard
812
- # characters.
813
- #
814
- # * A-Z, a-z, 0-9
815
- #
816
- # * \- .
817
- #
818
- # * * (matches 0 or more characters)
819
- #
820
- # * ? (matches exactly 1 character)
821
- #
822
- # If the field name is `path-pattern`, you can specify a single path
823
- # pattern. A path pattern is case-sensitive, can be up to 128
824
- # characters in length, and can contain any of the following
825
- # characters. You can include up to three wildcard characters.
826
- #
827
- # * A-Z, a-z, 0-9
828
- #
829
- # * \_ - . $ / ~ " ' @ : +
830
- #
831
- # * &amp; (using &amp;amp;)
832
- #
833
- # * * (matches 0 or more characters)
834
- #
835
- # * ? (matches exactly 1 character)
808
+ # The conditions. Each rule can include zero or one of the following
809
+ # conditions: `http-request-method`, `host-header`, `path-pattern`,
810
+ # and `source-ip`, and zero or more of the following conditions:
811
+ # `http-header` and `query-string`.
836
812
  # @return [Array<Types::RuleCondition>]
837
813
  #
838
814
  # @!attribute [rw] priority
@@ -847,7 +823,7 @@ module Aws::ElasticLoadBalancingV2
847
823
  # If the action type is `forward`, you specify a target group. The
848
824
  # protocol of the target group must be HTTP or HTTPS for an
849
825
  # Application Load Balancer. The protocol of the target group must be
850
- # TCP or TLS for a Network Load Balancer.
826
+ # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
851
827
  #
852
828
  # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
853
829
  # authenticate users through an identity provider that is OpenID
@@ -891,10 +867,10 @@ module Aws::ElasticLoadBalancingV2
891
867
  #
892
868
  # {
893
869
  # name: "TargetGroupName", # required
894
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
870
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
895
871
  # port: 1,
896
872
  # vpc_id: "VpcId",
897
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
873
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
898
874
  # health_check_port: "HealthCheckPort",
899
875
  # health_check_enabled: false,
900
876
  # health_check_path: "Path",
@@ -919,9 +895,10 @@ module Aws::ElasticLoadBalancingV2
919
895
  # @!attribute [rw] protocol
920
896
  # The protocol to use for routing traffic to the targets. For
921
897
  # Application Load Balancers, the supported protocols are HTTP and
922
- # HTTPS. For Network Load Balancers, the supported protocols are TCP
923
- # and TLS. If the target is a Lambda function, this parameter does not
924
- # apply.
898
+ # HTTPS. For Network Load Balancers, the supported protocols are TCP,
899
+ # TLS, UDP, or TCP\_UDP. A TCP\_UDP listener must be associated with a
900
+ # TCP\_UDP target group. If the target is a Lambda function, this
901
+ # parameter does not apply.
925
902
  # @return [String]
926
903
  #
927
904
  # @!attribute [rw] port
@@ -940,7 +917,8 @@ module Aws::ElasticLoadBalancingV2
940
917
  # targets. For Application Load Balancers, the default is HTTP. For
941
918
  # Network Load Balancers, the default is TCP. The TCP protocol is
942
919
  # supported for health checks only if the protocol of the target group
943
- # is TCP or TLS. The TLS protocol is not supported for health checks.
920
+ # is TCP, TLS, UDP, or TCP\_UDP. The TLS, UDP, and TCP\_UDP protocols
921
+ # are not supported for health checks.
944
922
  # @return [String]
945
923
  #
946
924
  # @!attribute [rw] health_check_port
@@ -951,8 +929,9 @@ module Aws::ElasticLoadBalancingV2
951
929
  #
952
930
  # @!attribute [rw] health_check_enabled
953
931
  # Indicates whether health checks are enabled. If the target type is
954
- # `instance` or `ip`, the default is `true`. If the target type is
955
- # `lambda`, the default is `false`.
932
+ # `lambda`, health checks are disabled by default but can be enabled.
933
+ # If the target type is `instance` or `ip`, health checks are always
934
+ # enabled and cannot be disabled.
956
935
  # @return [Boolean]
957
936
  #
958
937
  # @!attribute [rw] health_check_path
@@ -962,34 +941,36 @@ module Aws::ElasticLoadBalancingV2
962
941
  #
963
942
  # @!attribute [rw] health_check_interval_seconds
964
943
  # The approximate amount of time, in seconds, between health checks of
965
- # an individual target. For Application Load Balancers, the range is
966
- # 5–300 seconds. For Network Load Balancers, the supported values are
967
- # 10 or 30 seconds. If the target type is `instance` or `ip`, the
944
+ # an individual target. For HTTP and HTTPS health checks, the range is
945
+ # 5–300 seconds. For TCP health checks, the supported values are 10
946
+ # and 30 seconds. If the target type is `instance` or `ip`, the
968
947
  # default is 30 seconds. If the target type is `lambda`, the default
969
948
  # is 35 seconds.
970
949
  # @return [Integer]
971
950
  #
972
951
  # @!attribute [rw] health_check_timeout_seconds
973
952
  # The amount of time, in seconds, during which no response from a
974
- # target means a failed health check. For Application Load Balancers,
975
- # the range is 2–120 seconds and the default is 5 seconds if the
976
- # target type is `instance` or `ip` and 30 seconds if the target type
977
- # is `lambda`. For Network Load Balancers, this is 10 seconds for TCP
978
- # and HTTPS health checks and 6 seconds for HTTP health checks.
953
+ # target means a failed health check. For target groups with a
954
+ # protocol of HTTP or HTTPS, the default is 5 seconds. For target
955
+ # groups with a protocol of TCP or TLS, this value must be 6 seconds
956
+ # for HTTP health checks and 10 seconds for TCP and HTTPS health
957
+ # checks. If the target type is `lambda`, the default is 30 seconds.
979
958
  # @return [Integer]
980
959
  #
981
960
  # @!attribute [rw] healthy_threshold_count
982
961
  # The number of consecutive health checks successes required before
983
- # considering an unhealthy target healthy. For Application Load
984
- # Balancers, the default is 5. For Network Load Balancers, the default
985
- # is 3.
962
+ # considering an unhealthy target healthy. For target groups with a
963
+ # protocol of HTTP or HTTPS, the default is 5. For target groups with
964
+ # a protocol of TCP or TLS, the default is 3. If the target type is
965
+ # `lambda`, the default is 5.
986
966
  # @return [Integer]
987
967
  #
988
968
  # @!attribute [rw] unhealthy_threshold_count
989
969
  # The number of consecutive health check failures required before
990
- # considering a target unhealthy. For Application Load Balancers, the
991
- # default is 2. For Network Load Balancers, this value must be the
992
- # same as the healthy threshold count.
970
+ # considering a target unhealthy. For target groups with a protocol of
971
+ # HTTP or HTTPS, the default is 2. For target groups with a protocol
972
+ # of TCP or TLS, this value must be the same as the healthy threshold
973
+ # count. If the target type is `lambda`, the default is 2.
993
974
  # @return [Integer]
994
975
  #
995
976
  # @!attribute [rw] matcher
@@ -1003,7 +984,8 @@ module Aws::ElasticLoadBalancingV2
1003
984
  # group using more than one target type.
1004
985
  #
1005
986
  # * `instance` - Targets are specified by instance ID. This is the
1006
- # default value.
987
+ # default value. If the target group protocol is UDP or TCP\_UDP,
988
+ # the target type must be `instance`.
1007
989
  #
1008
990
  # * `ip` - Targets are specified by IP address. You can specify IP
1009
991
  # addresses from the subnets of the virtual private cloud (VPC) for
@@ -1199,8 +1181,8 @@ module Aws::ElasticLoadBalancingV2
1199
1181
  # @return [Array<Types::Limit>]
1200
1182
  #
1201
1183
  # @!attribute [rw] next_marker
1202
- # The marker to use when requesting the next set of results. If there
1203
- # are no additional results, the string is empty.
1184
+ # If there are additional results, this is the marker for the next set
1185
+ # of results. Otherwise, this is null.
1204
1186
  # @return [String]
1205
1187
  #
1206
1188
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeAccountLimitsOutput AWS API Documentation
@@ -1247,8 +1229,8 @@ module Aws::ElasticLoadBalancingV2
1247
1229
  # @return [Array<Types::Certificate>]
1248
1230
  #
1249
1231
  # @!attribute [rw] next_marker
1250
- # The marker to use when requesting the next set of results. If there
1251
- # are no additional results, the string is empty.
1232
+ # If there are additional results, this is the marker for the next set
1233
+ # of results. Otherwise, this is null.
1252
1234
  # @return [String]
1253
1235
  #
1254
1236
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenerCertificatesOutput AWS API Documentation
@@ -1301,8 +1283,8 @@ module Aws::ElasticLoadBalancingV2
1301
1283
  # @return [Array<Types::Listener>]
1302
1284
  #
1303
1285
  # @!attribute [rw] next_marker
1304
- # The marker to use when requesting the next set of results. If there
1305
- # are no additional results, the string is empty.
1286
+ # If there are additional results, this is the marker for the next set
1287
+ # of results. Otherwise, this is null.
1306
1288
  # @return [String]
1307
1289
  #
1308
1290
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeListenersOutput AWS API Documentation
@@ -1385,8 +1367,8 @@ module Aws::ElasticLoadBalancingV2
1385
1367
  # @return [Array<Types::LoadBalancer>]
1386
1368
  #
1387
1369
  # @!attribute [rw] next_marker
1388
- # The marker to use when requesting the next set of results. If there
1389
- # are no additional results, the string is empty.
1370
+ # If there are additional results, this is the marker for the next set
1371
+ # of results. Otherwise, this is null.
1390
1372
  # @return [String]
1391
1373
  #
1392
1374
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeLoadBalancersOutput AWS API Documentation
@@ -1439,8 +1421,8 @@ module Aws::ElasticLoadBalancingV2
1439
1421
  # @return [Array<Types::Rule>]
1440
1422
  #
1441
1423
  # @!attribute [rw] next_marker
1442
- # The marker to use when requesting the next set of results. If there
1443
- # are no additional results, the string is empty.
1424
+ # If there are additional results, this is the marker for the next set
1425
+ # of results. Otherwise, this is null.
1444
1426
  # @return [String]
1445
1427
  #
1446
1428
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeRulesOutput AWS API Documentation
@@ -1487,8 +1469,8 @@ module Aws::ElasticLoadBalancingV2
1487
1469
  # @return [Array<Types::SslPolicy>]
1488
1470
  #
1489
1471
  # @!attribute [rw] next_marker
1490
- # The marker to use when requesting the next set of results. If there
1491
- # are no additional results, the string is empty.
1472
+ # If there are additional results, this is the marker for the next set
1473
+ # of results. Otherwise, this is null.
1492
1474
  # @return [String]
1493
1475
  #
1494
1476
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeSSLPoliciesOutput AWS API Documentation
@@ -1605,8 +1587,8 @@ module Aws::ElasticLoadBalancingV2
1605
1587
  # @return [Array<Types::TargetGroup>]
1606
1588
  #
1607
1589
  # @!attribute [rw] next_marker
1608
- # The marker to use when requesting the next set of results. If there
1609
- # are no additional results, the string is empty.
1590
+ # If there are additional results, this is the marker for the next set
1591
+ # of results. Otherwise, this is null.
1610
1592
  # @return [String]
1611
1593
  #
1612
1594
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/DescribeTargetGroupsOutput AWS API Documentation
@@ -1693,6 +1675,8 @@ module Aws::ElasticLoadBalancingV2
1693
1675
  include Aws::Structure
1694
1676
  end
1695
1677
 
1678
+ # Information about a host header condition.
1679
+ #
1696
1680
  # @note When making an API call, you may pass HostHeaderConditionConfig
1697
1681
  # data as a hash:
1698
1682
  #
@@ -1701,6 +1685,13 @@ module Aws::ElasticLoadBalancingV2
1701
1685
  # }
1702
1686
  #
1703
1687
  # @!attribute [rw] values
1688
+ # One or more host names. The maximum size of each name is 128
1689
+ # characters. The comparison is case insensitive. The following
1690
+ # wildcard characters are supported: * (matches 0 or more characters)
1691
+ # and ? (matches exactly 1 character).
1692
+ #
1693
+ # If you specify multiple strings, the condition is satisfied if one
1694
+ # of the strings matches the host name.
1704
1695
  # @return [Array<String>]
1705
1696
  #
1706
1697
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HostHeaderConditionConfig AWS API Documentation
@@ -1710,6 +1701,11 @@ module Aws::ElasticLoadBalancingV2
1710
1701
  include Aws::Structure
1711
1702
  end
1712
1703
 
1704
+ # Information about an HTTP header condition.
1705
+ #
1706
+ # There is a set of standard HTTP header fields. You can also define
1707
+ # custom HTTP header fields.
1708
+ #
1713
1709
  # @note When making an API call, you may pass HttpHeaderConditionConfig
1714
1710
  # data as a hash:
1715
1711
  #
@@ -1719,9 +1715,27 @@ module Aws::ElasticLoadBalancingV2
1719
1715
  # }
1720
1716
  #
1721
1717
  # @!attribute [rw] http_header_name
1718
+ # The name of the HTTP header field. The maximum size is 40
1719
+ # characters. The header name is case insensitive. The allowed
1720
+ # characters are specified by RFC 7230. Wildcards are not supported.
1721
+ #
1722
+ # You can't use an HTTP header condition to specify the host header.
1723
+ # Use HostHeaderConditionConfig to specify a host header condition.
1722
1724
  # @return [String]
1723
1725
  #
1724
1726
  # @!attribute [rw] values
1727
+ # One or more strings to compare against the value of the HTTP header.
1728
+ # The maximum size of each string is 128 characters. The comparison
1729
+ # strings are case insensitive. The following wildcard characters are
1730
+ # supported: * (matches 0 or more characters) and ? (matches exactly
1731
+ # 1 character).
1732
+ #
1733
+ # If the same header appears multiple times in the request, we search
1734
+ # them in order until a match is found.
1735
+ #
1736
+ # If you specify multiple strings, the condition is satisfied if one
1737
+ # of the strings matches the value of the HTTP header. To require that
1738
+ # all of the strings are a match, create one condition per string.
1725
1739
  # @return [Array<String>]
1726
1740
  #
1727
1741
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpHeaderConditionConfig AWS API Documentation
@@ -1732,6 +1746,16 @@ module Aws::ElasticLoadBalancingV2
1732
1746
  include Aws::Structure
1733
1747
  end
1734
1748
 
1749
+ # Information about an HTTP method condition.
1750
+ #
1751
+ # HTTP defines a set of request methods, also referred to as HTTP verbs.
1752
+ # For more information, see the [HTTP Method Registry][1]. You can also
1753
+ # define custom HTTP methods.
1754
+ #
1755
+ #
1756
+ #
1757
+ # [1]: https://www.iana.org/assignments/http-methods/http-methods.xhtml
1758
+ #
1735
1759
  # @note When making an API call, you may pass HttpRequestMethodConditionConfig
1736
1760
  # data as a hash:
1737
1761
  #
@@ -1740,6 +1764,15 @@ module Aws::ElasticLoadBalancingV2
1740
1764
  # }
1741
1765
  #
1742
1766
  # @!attribute [rw] values
1767
+ # The name of the request method. The maximum size is 40 characters.
1768
+ # The allowed characters are A-Z, hyphen (-), and underscore (\_). The
1769
+ # comparison is case sensitive. Wildcards are not supported;
1770
+ # therefore, the method name must be an exact match.
1771
+ #
1772
+ # If you specify multiple strings, the condition is satisfied if one
1773
+ # of the strings matches the HTTP request method. We recommend that
1774
+ # you route GET and HEAD requests in the same way, because the
1775
+ # response to a HEAD request may be cached.
1743
1776
  # @return [Array<String>]
1744
1777
  #
1745
1778
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/HttpRequestMethodConditionConfig AWS API Documentation
@@ -1805,13 +1838,13 @@ module Aws::ElasticLoadBalancingV2
1805
1838
  # @return [String]
1806
1839
  #
1807
1840
  # @!attribute [rw] certificates
1808
- # The SSL server certificate. You must provide a certificate if the
1809
- # protocol is HTTPS or TLS.
1841
+ # \[HTTPS or TLS listener\] The default certificate for the listener.
1810
1842
  # @return [Array<Types::Certificate>]
1811
1843
  #
1812
1844
  # @!attribute [rw] ssl_policy
1813
- # The security policy that defines which ciphers and protocols are
1814
- # supported. The default is the current predefined security policy.
1845
+ # \[HTTPS or TLS listener\] The security policy that defines which
1846
+ # ciphers and protocols are supported. The default is the current
1847
+ # predefined security policy.
1815
1848
  # @return [String]
1816
1849
  #
1817
1850
  # @!attribute [rw] default_actions
@@ -2050,7 +2083,7 @@ module Aws::ElasticLoadBalancingV2
2050
2083
  # {
2051
2084
  # listener_arn: "ListenerArn", # required
2052
2085
  # port: 1,
2053
- # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
2086
+ # protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2054
2087
  # ssl_policy: "SslPolicyName",
2055
2088
  # certificates: [
2056
2089
  # {
@@ -2119,7 +2152,8 @@ module Aws::ElasticLoadBalancingV2
2119
2152
  # @!attribute [rw] protocol
2120
2153
  # The protocol for connections from clients to the load balancer.
2121
2154
  # Application Load Balancers support the HTTP and HTTPS protocols.
2122
- # Network Load Balancers support the TCP and TLS protocols.
2155
+ # Network Load Balancers support the TCP, TLS, UDP, and TCP\_UDP
2156
+ # protocols.
2123
2157
  # @return [String]
2124
2158
  #
2125
2159
  # @!attribute [rw] ssl_policy
@@ -2133,9 +2167,9 @@ module Aws::ElasticLoadBalancingV2
2133
2167
  # @return [String]
2134
2168
  #
2135
2169
  # @!attribute [rw] certificates
2136
- # \[HTTPS and TLS listeners\] The default SSL server certificate. You
2137
- # must provide exactly one certificate. Set `CertificateArn` to the
2138
- # certificate ARN but do not set `IsDefault`.
2170
+ # \[HTTPS and TLS listeners\] The default certificate for the
2171
+ # listener. You must provide exactly one certificate. Set
2172
+ # `CertificateArn` to the certificate ARN but do not set `IsDefault`.
2139
2173
  #
2140
2174
  # To create a certificate list, use AddListenerCertificates.
2141
2175
  # @return [Array<Types::Certificate>]
@@ -2147,7 +2181,7 @@ module Aws::ElasticLoadBalancingV2
2147
2181
  # If the action type is `forward`, you specify a target group. The
2148
2182
  # protocol of the target group must be HTTP or HTTPS for an
2149
2183
  # Application Load Balancer. The protocol of the target group must be
2150
- # TCP or TLS for a Network Load Balancer.
2184
+ # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
2151
2185
  #
2152
2186
  # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2153
2187
  # authenticate users through an identity provider that is OpenID
@@ -2318,46 +2352,20 @@ module Aws::ElasticLoadBalancingV2
2318
2352
  # @return [String]
2319
2353
  #
2320
2354
  # @!attribute [rw] conditions
2321
- # The conditions. Each condition specifies a field name and a single
2322
- # value.
2323
- #
2324
- # If the field name is `host-header`, you can specify a single host
2325
- # name (for example, my.example.com). A host name is case insensitive,
2326
- # can be up to 128 characters in length, and can contain any of the
2327
- # following characters. You can include up to three wildcard
2328
- # characters.
2329
- #
2330
- # * A-Z, a-z, 0-9
2331
- #
2332
- # * \- .
2333
- #
2334
- # * * (matches 0 or more characters)
2335
- #
2336
- # * ? (matches exactly 1 character)
2337
- #
2338
- # If the field name is `path-pattern`, you can specify a single path
2339
- # pattern. A path pattern is case-sensitive, can be up to 128
2340
- # characters in length, and can contain any of the following
2341
- # characters. You can include up to three wildcard characters.
2342
- #
2343
- # * A-Z, a-z, 0-9
2344
- #
2345
- # * \_ - . $ / ~ " ' @ : +
2346
- #
2347
- # * &amp; (using &amp;amp;)
2348
- #
2349
- # * * (matches 0 or more characters)
2350
- #
2351
- # * ? (matches exactly 1 character)
2355
+ # The conditions. Each rule can include zero or one of the following
2356
+ # conditions: `http-request-method`, `host-header`, `path-pattern`,
2357
+ # and `source-ip`, and zero or more of the following conditions:
2358
+ # `http-header` and `query-string`.
2352
2359
  # @return [Array<Types::RuleCondition>]
2353
2360
  #
2354
2361
  # @!attribute [rw] actions
2355
- # The actions.
2362
+ # The actions. Each rule must include exactly one of the following
2363
+ # types of actions: `forward`, `fixed-response`, or `redirect`.
2356
2364
  #
2357
2365
  # If the action type is `forward`, you specify a target group. The
2358
2366
  # protocol of the target group must be HTTP or HTTPS for an
2359
2367
  # Application Load Balancer. The protocol of the target group must be
2360
- # TCP or TLS for a Network Load Balancer.
2368
+ # TCP, TLS, UDP, or TCP\_UDP for a Network Load Balancer.
2361
2369
  #
2362
2370
  # \[HTTPS listeners\] If the action type is `authenticate-oidc`, you
2363
2371
  # authenticate users through an identity provider that is OpenID
@@ -2440,7 +2448,7 @@ module Aws::ElasticLoadBalancingV2
2440
2448
  #
2441
2449
  # {
2442
2450
  # target_group_arn: "TargetGroupArn", # required
2443
- # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS
2451
+ # health_check_protocol: "HTTP", # accepts HTTP, HTTPS, TCP, TLS, UDP, TCP_UDP
2444
2452
  # health_check_port: "HealthCheckPort",
2445
2453
  # health_check_path: "Path",
2446
2454
  # health_check_enabled: false,
@@ -2460,8 +2468,8 @@ module Aws::ElasticLoadBalancingV2
2460
2468
  # @!attribute [rw] health_check_protocol
2461
2469
  # The protocol the load balancer uses when performing health checks on
2462
2470
  # targets. The TCP protocol is supported for health checks only if the
2463
- # protocol of the target group is TCP or TLS. The TLS protocol is not
2464
- # supported for health checks.
2471
+ # protocol of the target group is TCP, TLS, UDP, or TCP\_UDP. The TLS,
2472
+ # UDP, and TCP\_UDP protocols are not supported for health checks.
2465
2473
  #
2466
2474
  # If the protocol of the target group is TCP, you can't modify this
2467
2475
  # setting.
@@ -2483,8 +2491,8 @@ module Aws::ElasticLoadBalancingV2
2483
2491
  #
2484
2492
  # @!attribute [rw] health_check_interval_seconds
2485
2493
  # The approximate amount of time, in seconds, between health checks of
2486
- # an individual target. For Application Load Balancers, the range is
2487
- # 5–300 seconds. For Network Load Balancers, the supported values are
2494
+ # an individual target. For Application Load Balancers, the range is 5
2495
+ # to 300 seconds. For Network Load Balancers, the supported values are
2488
2496
  # 10 or 30 seconds.
2489
2497
  #
2490
2498
  # If the protocol of the target group is TCP, you can't modify this
@@ -2545,6 +2553,8 @@ module Aws::ElasticLoadBalancingV2
2545
2553
  include Aws::Structure
2546
2554
  end
2547
2555
 
2556
+ # Information about a path pattern condition.
2557
+ #
2548
2558
  # @note When making an API call, you may pass PathPatternConditionConfig
2549
2559
  # data as a hash:
2550
2560
  #
@@ -2553,6 +2563,15 @@ module Aws::ElasticLoadBalancingV2
2553
2563
  # }
2554
2564
  #
2555
2565
  # @!attribute [rw] values
2566
+ # One or more path patterns to compare against the request URL. The
2567
+ # maximum size of each string is 128 characters. The comparison is
2568
+ # case sensitive. The following wildcard characters are supported: *
2569
+ # (matches 0 or more characters) and ? (matches exactly 1 character).
2570
+ #
2571
+ # If you specify multiple strings, the condition is satisfied if one
2572
+ # of them matches the request URL. The path pattern is compared only
2573
+ # to the path of the URL, not to its query string. To compare against
2574
+ # the query string, use QueryStringConditionConfig.
2556
2575
  # @return [Array<String>]
2557
2576
  #
2558
2577
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/PathPatternConditionConfig AWS API Documentation
@@ -2562,6 +2581,14 @@ module Aws::ElasticLoadBalancingV2
2562
2581
  include Aws::Structure
2563
2582
  end
2564
2583
 
2584
+ # Information about a query string condition.
2585
+ #
2586
+ # The query string component of a URI starts after the first '?'
2587
+ # character and is terminated by either a '#' character or the end of
2588
+ # the URI. A typical query string contains key/value pairs separated by
2589
+ # '&amp;' characters. The allowed characters are specified by RFC
2590
+ # 3986. Any character can be percentage encoded.
2591
+ #
2565
2592
  # @note When making an API call, you may pass QueryStringConditionConfig
2566
2593
  # data as a hash:
2567
2594
  #
@@ -2575,6 +2602,16 @@ module Aws::ElasticLoadBalancingV2
2575
2602
  # }
2576
2603
  #
2577
2604
  # @!attribute [rw] values
2605
+ # One or more key/value pairs or values to find in the query string.
2606
+ # The maximum size of each string is 128 characters. The comparison is
2607
+ # case insensitive. The following wildcard characters are supported:
2608
+ # * (matches 0 or more characters) and ? (matches exactly 1
2609
+ # character). To search for a literal '*' or '?' character in a
2610
+ # query string, you must escape these characters in `Values` using a
2611
+ # '\\' character.
2612
+ #
2613
+ # If you specify multiple key/value pairs or values, the condition is
2614
+ # satisfied if one of them is found in the query string.
2578
2615
  # @return [Array<Types::QueryStringKeyValuePair>]
2579
2616
  #
2580
2617
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/QueryStringConditionConfig AWS API Documentation
@@ -2584,6 +2621,8 @@ module Aws::ElasticLoadBalancingV2
2584
2621
  include Aws::Structure
2585
2622
  end
2586
2623
 
2624
+ # Information about a key/value pair.
2625
+ #
2587
2626
  # @note When making an API call, you may pass QueryStringKeyValuePair
2588
2627
  # data as a hash:
2589
2628
  #
@@ -2593,9 +2632,11 @@ module Aws::ElasticLoadBalancingV2
2593
2632
  # }
2594
2633
  #
2595
2634
  # @!attribute [rw] key
2635
+ # The key. You can omit the key.
2596
2636
  # @return [String]
2597
2637
  #
2598
2638
  # @!attribute [rw] value
2639
+ # The value.
2599
2640
  # @return [String]
2600
2641
  #
2601
2642
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/QueryStringKeyValuePair AWS API Documentation
@@ -2798,11 +2839,16 @@ module Aws::ElasticLoadBalancingV2
2798
2839
  # @return [String]
2799
2840
  #
2800
2841
  # @!attribute [rw] conditions
2801
- # The conditions.
2842
+ # The conditions. Each rule can include zero or one of the following
2843
+ # conditions: `http-request-method`, `host-header`, `path-pattern`,
2844
+ # and `source-ip`, and zero or more of the following conditions:
2845
+ # `http-header` and `query-string`.
2802
2846
  # @return [Array<Types::RuleCondition>]
2803
2847
  #
2804
2848
  # @!attribute [rw] actions
2805
- # The actions.
2849
+ # The actions. Each rule must include exactly one of the following
2850
+ # types of actions: `forward`, `redirect`, or `fixed-response`, and it
2851
+ # must be the last action to be performed.
2806
2852
  # @return [Array<Types::Action>]
2807
2853
  #
2808
2854
  # @!attribute [rw] is_default
@@ -2855,17 +2901,31 @@ module Aws::ElasticLoadBalancingV2
2855
2901
  # }
2856
2902
  #
2857
2903
  # @!attribute [rw] field
2858
- # The name of the field. The possible values are `host-header` and
2859
- # `path-pattern`.
2904
+ # The field in the HTTP request. The following are the possible
2905
+ # values:
2906
+ #
2907
+ # * `http-header`
2908
+ #
2909
+ # * `http-request-method`
2910
+ #
2911
+ # * `host-header`
2912
+ #
2913
+ # * `path-pattern`
2914
+ #
2915
+ # * `query-string`
2916
+ #
2917
+ # * `source-ip`
2860
2918
  # @return [String]
2861
2919
  #
2862
2920
  # @!attribute [rw] values
2863
- # The condition value.
2864
- #
2865
- # If the field name is `host-header`, you can specify a single host
2866
- # name (for example, my.example.com). A host name is case insensitive,
2867
- # can be up to 128 characters in length, and can contain any of the
2868
- # following characters. You can include up to three wildcard
2921
+ # The condition value. You can use `Values` if the rule contains only
2922
+ # `host-header` and `path-pattern` conditions. Otherwise, you can use
2923
+ # `HostHeaderConfig` for `host-header` conditions and
2924
+ # `PathPatternConfig` for `path-pattern` conditions.
2925
+ #
2926
+ # If `Field` is `host-header`, you can specify a single host name (for
2927
+ # example, my.example.com). A host name is case insensitive, can be up
2928
+ # to 128 characters in length, and can contain any of the following
2869
2929
  # characters.
2870
2930
  #
2871
2931
  # * A-Z, a-z, 0-9
@@ -2876,10 +2936,9 @@ module Aws::ElasticLoadBalancingV2
2876
2936
  #
2877
2937
  # * ? (matches exactly 1 character)
2878
2938
  #
2879
- # If the field name is `path-pattern`, you can specify a single path
2880
- # pattern (for example, /img/*). A path pattern is case-sensitive,
2881
- # can be up to 128 characters in length, and can contain any of the
2882
- # following characters. You can include up to three wildcard
2939
+ # If `Field` is `path-pattern`, you can specify a single path pattern
2940
+ # (for example, /img/*). A path pattern is case-sensitive, can be up
2941
+ # to 128 characters in length, and can contain any of the following
2883
2942
  # characters.
2884
2943
  #
2885
2944
  # * A-Z, a-z, 0-9
@@ -2894,21 +2953,33 @@ module Aws::ElasticLoadBalancingV2
2894
2953
  # @return [Array<String>]
2895
2954
  #
2896
2955
  # @!attribute [rw] host_header_config
2956
+ # Information for a host header condition. Specify only when `Field`
2957
+ # is `host-header`.
2897
2958
  # @return [Types::HostHeaderConditionConfig]
2898
2959
  #
2899
2960
  # @!attribute [rw] path_pattern_config
2961
+ # Information for a path pattern condition. Specify only when `Field`
2962
+ # is `path-pattern`.
2900
2963
  # @return [Types::PathPatternConditionConfig]
2901
2964
  #
2902
2965
  # @!attribute [rw] http_header_config
2966
+ # Information for an HTTP header condition. Specify only when `Field`
2967
+ # is `http-header`.
2903
2968
  # @return [Types::HttpHeaderConditionConfig]
2904
2969
  #
2905
2970
  # @!attribute [rw] query_string_config
2971
+ # Information for a query string condition. Specify only when `Field`
2972
+ # is `query-string`.
2906
2973
  # @return [Types::QueryStringConditionConfig]
2907
2974
  #
2908
2975
  # @!attribute [rw] http_request_method_config
2976
+ # Information for an HTTP method condition. Specify only when `Field`
2977
+ # is `http-request-method`.
2909
2978
  # @return [Types::HttpRequestMethodConditionConfig]
2910
2979
  #
2911
2980
  # @!attribute [rw] source_ip_config
2981
+ # Information for a source IP condition. Specify only when `Field` is
2982
+ # `source-ip`.
2912
2983
  # @return [Types::SourceIpConditionConfig]
2913
2984
  #
2914
2985
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/RuleCondition AWS API Documentation
@@ -2966,7 +3037,8 @@ module Aws::ElasticLoadBalancingV2
2966
3037
  # @!attribute [rw] ip_address_type
2967
3038
  # The IP address type. The possible values are `ipv4` (for IPv4
2968
3039
  # addresses) and `dualstack` (for IPv4 and IPv6 addresses). Internal
2969
- # load balancers must use `ipv4`.
3040
+ # load balancers must use `ipv4`. Network Load Balancers must use
3041
+ # `ipv4`.
2970
3042
  # @return [String]
2971
3043
  #
2972
3044
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SetIpAddressTypeInput AWS API Documentation
@@ -3111,6 +3183,13 @@ module Aws::ElasticLoadBalancingV2
3111
3183
  include Aws::Structure
3112
3184
  end
3113
3185
 
3186
+ # Information about a source IP condition.
3187
+ #
3188
+ # You can use this condition to route based on the IP address of the
3189
+ # source that connects to the load balancer. If a client is behind a
3190
+ # proxy, this is the IP address of the proxy not the IP address of the
3191
+ # client.
3192
+ #
3114
3193
  # @note When making an API call, you may pass SourceIpConditionConfig
3115
3194
  # data as a hash:
3116
3195
  #
@@ -3119,6 +3198,14 @@ module Aws::ElasticLoadBalancingV2
3119
3198
  # }
3120
3199
  #
3121
3200
  # @!attribute [rw] values
3201
+ # One or more source IP addresses, in CIDR format. You can use both
3202
+ # IPv4 and IPv6 addresses. Wildcards are not supported.
3203
+ #
3204
+ # If you specify multiple addresses, the condition is satisfied if the
3205
+ # source IP address of the request matches one of the CIDR blocks.
3206
+ # This condition is not satisfied by the addresses in the
3207
+ # X-Forwarded-For header. To search for addresses in the
3208
+ # X-Forwarded-For header, use HttpHeaderConditionConfig.
3122
3209
  # @return [Array<String>]
3123
3210
  #
3124
3211
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancingv2-2015-12-01/SourceIpConditionConfig AWS API Documentation