aws-sdk-elasticloadbalancingv2 1.30.0 → 1.31.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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