aws-cdk-lib 2.172.0__py3-none-any.whl → 2.173.1__py3-none-any.whl
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.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +57 -0
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.172.0.jsii.tgz → aws-cdk-lib@2.173.1.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +40 -40
- aws_cdk/aws_apigateway/__init__.py +111 -64
- aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
- aws_cdk/aws_appsync/__init__.py +4 -3
- aws_cdk/aws_autoscaling/__init__.py +15 -6
- aws_cdk/aws_bedrock/__init__.py +32 -44
- aws_cdk/aws_chatbot/__init__.py +72 -46
- aws_cdk/aws_cleanrooms/__init__.py +4 -6
- aws_cdk/aws_cloudfront/__init__.py +4 -2
- aws_cdk/aws_cloudtrail/__init__.py +104 -68
- aws_cdk/aws_cloudwatch/__init__.py +51 -14
- aws_cdk/aws_codebuild/__init__.py +39 -0
- aws_cdk/aws_codepipeline/__init__.py +4 -4
- aws_cdk/aws_cognito/__init__.py +221 -53
- aws_cdk/aws_config/__init__.py +13 -10
- aws_cdk/aws_connect/__init__.py +25 -23
- aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
- aws_cdk/aws_docdb/__init__.py +128 -0
- aws_cdk/aws_dynamodb/__init__.py +256 -0
- aws_cdk/aws_ec2/__init__.py +130 -48
- aws_cdk/aws_ecs/__init__.py +25 -13
- aws_cdk/aws_eks/__init__.py +86 -24
- aws_cdk/aws_elasticache/__init__.py +22 -22
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +138 -128
- aws_cdk/aws_events/__init__.py +39 -26
- aws_cdk/aws_fsx/__init__.py +134 -10
- aws_cdk/aws_imagebuilder/__init__.py +8 -8
- aws_cdk/aws_invoicing/__init__.py +651 -0
- aws_cdk/aws_iot/__init__.py +28 -22
- aws_cdk/aws_iotfleetwise/__init__.py +473 -332
- aws_cdk/aws_iotsitewise/__init__.py +6 -4
- aws_cdk/aws_ivs/__init__.py +43 -31
- aws_cdk/aws_kendra/__init__.py +4 -0
- aws_cdk/aws_lakeformation/__init__.py +2 -1
- aws_cdk/aws_lambda/__init__.py +258 -156
- aws_cdk/aws_logs/__init__.py +532 -0
- aws_cdk/aws_m2/__init__.py +15 -15
- aws_cdk/aws_mediaconnect/__init__.py +24 -14
- aws_cdk/aws_medialive/__init__.py +2359 -5
- aws_cdk/aws_mediapackage/__init__.py +3 -9
- aws_cdk/aws_mediapackagev2/__init__.py +19 -17
- aws_cdk/aws_memorydb/__init__.py +664 -4
- aws_cdk/aws_qbusiness/__init__.py +2018 -66
- aws_cdk/aws_rds/__init__.py +30 -0
- aws_cdk/aws_resourcegroups/__init__.py +26 -17
- aws_cdk/aws_route53/__init__.py +1177 -10
- aws_cdk/aws_route53_targets/__init__.py +224 -100
- aws_cdk/aws_route53resolver/__init__.py +4 -2
- aws_cdk/aws_s3/__init__.py +4 -4
- aws_cdk/aws_s3express/__init__.py +30 -19
- aws_cdk/aws_sagemaker/__init__.py +783 -9
- aws_cdk/aws_secretsmanager/__init__.py +20 -6
- aws_cdk/aws_securityhub/__init__.py +64 -32
- aws_cdk/aws_servicediscovery/__init__.py +43 -0
- aws_cdk/aws_ses/__init__.py +109 -0
- aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
- aws_cdk/aws_synthetics/__init__.py +7 -5
- aws_cdk/aws_vpclattice/__init__.py +1479 -122
- aws_cdk/aws_wisdom/__init__.py +2698 -232
- aws_cdk/aws_workspacesweb/__init__.py +118 -61
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/RECORD +69 -68
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/top_level.txt +0 -0
|
@@ -390,7 +390,24 @@ lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
|
390
390
|
)
|
|
391
391
|
```
|
|
392
392
|
|
|
393
|
-
You
|
|
393
|
+
You can configure whether to use an IPv6 prefix from each subnet for source NAT by setting `enablePrefixForIpv6SourceNat` to `true`.
|
|
394
|
+
This must be enabled if you want to create a dualstack Network Load Balancer with a listener that uses UDP protocol.
|
|
395
|
+
|
|
396
|
+
```python
|
|
397
|
+
# vpc: ec2.Vpc
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
401
|
+
vpc=vpc,
|
|
402
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
403
|
+
enable_prefix_for_ipv6_source_nat=True
|
|
404
|
+
)
|
|
405
|
+
|
|
406
|
+
listener = lb.add_listener("Listener",
|
|
407
|
+
port=1229,
|
|
408
|
+
protocol=elbv2.Protocol.UDP
|
|
409
|
+
)
|
|
410
|
+
```
|
|
394
411
|
|
|
395
412
|
### Network Load Balancer attributes
|
|
396
413
|
|
|
@@ -3649,6 +3666,7 @@ class CfnListener(
|
|
|
3649
3666
|
value="value"
|
|
3650
3667
|
)],
|
|
3651
3668
|
mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
|
|
3669
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
3652
3670
|
ignore_client_certificate_expiry=False,
|
|
3653
3671
|
mode="mode",
|
|
3654
3672
|
trust_store_arn="trustStoreArn"
|
|
@@ -4835,7 +4853,7 @@ class CfnListener(
|
|
|
4835
4853
|
) -> None:
|
|
4836
4854
|
'''Information about a listener attribute.
|
|
4837
4855
|
|
|
4838
|
-
:param key: The name of the attribute. The following attribute is supported by Network Load Balancers, and Gateway Load Balancers. - ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.
|
|
4856
|
+
:param key: The name of the attribute. The following attribute is supported by Network Load Balancers, and Gateway Load Balancers. - ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds. The following attributes are only supported by Application Load Balancers. - ``routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Serial-Number* HTTP request header. - ``routing.http.request.x_amzn_mtls_clientcert_issuer.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Issuer* HTTP request header. - ``routing.http.request.x_amzn_mtls_clientcert_subject.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Subject* HTTP request header. - ``routing.http.request.x_amzn_mtls_clientcert_validity.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Validity* HTTP request header. - ``routing.http.request.x_amzn_mtls_clientcert_leaf.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Leaf* HTTP request header. - ``routing.http.request.x_amzn_mtls_clientcert.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert* HTTP request header. - ``routing.http.request.x_amzn_tls_version.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Version* HTTP request header. - ``routing.http.request.x_amzn_tls_cipher_suite.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Cipher-Suite* HTTP request header. - ``routing.http.response.server.enabled`` - Enables you to allow or remove the HTTP response server header. - ``routing.http.response.strict_transport_security.header_value`` - Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. - ``routing.http.response.access_control_allow_origin.header_value`` - Specifies which origins are allowed to access the server. - ``routing.http.response.access_control_allow_methods.header_value`` - Returns which HTTP methods are allowed when accessing the server from a different origin. - ``routing.http.response.access_control_allow_headers.header_value`` - Specifies which headers can be used during the request. - ``routing.http.response.access_control_allow_credentials.header_value`` - Indicates whether the browser should include credentials such as cookies or authentication when making requests. - ``routing.http.response.access_control_expose_headers.header_value`` - Returns which headers the browser can expose to the requesting client. - ``routing.http.response.access_control_max_age.header_value`` - Specifies how long the results of a preflight request can be cached, in seconds. - ``routing.http.response.content_security_policy.header_value`` - Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats. - ``routing.http.response.x_content_type_options.header_value`` - Indicates whether the MIME types advertised in the *Content-Type* headers should be followed and not be changed. - ``routing.http.response.x_frame_options.header_value`` - Indicates whether the browser is allowed to render a page in a *frame* , *iframe* , *embed* or *object* .
|
|
4839
4857
|
:param value: The value of the attribute.
|
|
4840
4858
|
|
|
4841
4859
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html
|
|
@@ -4870,6 +4888,28 @@ class CfnListener(
|
|
|
4870
4888
|
|
|
4871
4889
|
- ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.
|
|
4872
4890
|
|
|
4891
|
+
The following attributes are only supported by Application Load Balancers.
|
|
4892
|
+
|
|
4893
|
+
- ``routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Serial-Number* HTTP request header.
|
|
4894
|
+
- ``routing.http.request.x_amzn_mtls_clientcert_issuer.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Issuer* HTTP request header.
|
|
4895
|
+
- ``routing.http.request.x_amzn_mtls_clientcert_subject.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Subject* HTTP request header.
|
|
4896
|
+
- ``routing.http.request.x_amzn_mtls_clientcert_validity.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Validity* HTTP request header.
|
|
4897
|
+
- ``routing.http.request.x_amzn_mtls_clientcert_leaf.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert-Leaf* HTTP request header.
|
|
4898
|
+
- ``routing.http.request.x_amzn_mtls_clientcert.header_name`` - Enables you to modify the header name of the *X-Amzn-Mtls-Clientcert* HTTP request header.
|
|
4899
|
+
- ``routing.http.request.x_amzn_tls_version.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Version* HTTP request header.
|
|
4900
|
+
- ``routing.http.request.x_amzn_tls_cipher_suite.header_name`` - Enables you to modify the header name of the *X-Amzn-Tls-Cipher-Suite* HTTP request header.
|
|
4901
|
+
- ``routing.http.response.server.enabled`` - Enables you to allow or remove the HTTP response server header.
|
|
4902
|
+
- ``routing.http.response.strict_transport_security.header_value`` - Informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS.
|
|
4903
|
+
- ``routing.http.response.access_control_allow_origin.header_value`` - Specifies which origins are allowed to access the server.
|
|
4904
|
+
- ``routing.http.response.access_control_allow_methods.header_value`` - Returns which HTTP methods are allowed when accessing the server from a different origin.
|
|
4905
|
+
- ``routing.http.response.access_control_allow_headers.header_value`` - Specifies which headers can be used during the request.
|
|
4906
|
+
- ``routing.http.response.access_control_allow_credentials.header_value`` - Indicates whether the browser should include credentials such as cookies or authentication when making requests.
|
|
4907
|
+
- ``routing.http.response.access_control_expose_headers.header_value`` - Returns which headers the browser can expose to the requesting client.
|
|
4908
|
+
- ``routing.http.response.access_control_max_age.header_value`` - Specifies how long the results of a preflight request can be cached, in seconds.
|
|
4909
|
+
- ``routing.http.response.content_security_policy.header_value`` - Specifies restrictions enforced by the browser to help minimize the risk of certain types of security threats.
|
|
4910
|
+
- ``routing.http.response.x_content_type_options.header_value`` - Indicates whether the MIME types advertised in the *Content-Type* headers should be followed and not be changed.
|
|
4911
|
+
- ``routing.http.response.x_frame_options.header_value`` - Indicates whether the browser is allowed to render a page in a *frame* , *iframe* , *embed* or *object* .
|
|
4912
|
+
|
|
4873
4913
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html#cfn-elasticloadbalancingv2-listener-listenerattribute-key
|
|
4874
4914
|
'''
|
|
4875
4915
|
result = self._values.get("key")
|
|
@@ -4899,6 +4939,7 @@ class CfnListener(
|
|
|
4899
4939
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener.MutualAuthenticationProperty",
|
|
4900
4940
|
jsii_struct_bases=[],
|
|
4901
4941
|
name_mapping={
|
|
4942
|
+
"advertise_trust_store_ca_names": "advertiseTrustStoreCaNames",
|
|
4902
4943
|
"ignore_client_certificate_expiry": "ignoreClientCertificateExpiry",
|
|
4903
4944
|
"mode": "mode",
|
|
4904
4945
|
"trust_store_arn": "trustStoreArn",
|
|
@@ -4908,12 +4949,14 @@ class CfnListener(
|
|
|
4908
4949
|
def __init__(
|
|
4909
4950
|
self,
|
|
4910
4951
|
*,
|
|
4952
|
+
advertise_trust_store_ca_names: typing.Optional[builtins.str] = None,
|
|
4911
4953
|
ignore_client_certificate_expiry: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4912
4954
|
mode: typing.Optional[builtins.str] = None,
|
|
4913
4955
|
trust_store_arn: typing.Optional[builtins.str] = None,
|
|
4914
4956
|
) -> None:
|
|
4915
4957
|
'''Specifies the configuration information for mutual authentication.
|
|
4916
4958
|
|
|
4959
|
+
:param advertise_trust_store_ca_names:
|
|
4917
4960
|
:param ignore_client_certificate_expiry: Indicates whether expired client certificates are ignored.
|
|
4918
4961
|
:param mode: The client certificate handling method. Options are ``off`` , ``passthrough`` or ``verify`` . The default value is ``off`` .
|
|
4919
4962
|
:param trust_store_arn: The Amazon Resource Name (ARN) of the trust store.
|
|
@@ -4928,6 +4971,7 @@ class CfnListener(
|
|
|
4928
4971
|
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
4929
4972
|
|
|
4930
4973
|
mutual_authentication_property = elbv2.CfnListener.MutualAuthenticationProperty(
|
|
4974
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
4931
4975
|
ignore_client_certificate_expiry=False,
|
|
4932
4976
|
mode="mode",
|
|
4933
4977
|
trust_store_arn="trustStoreArn"
|
|
@@ -4935,10 +4979,13 @@ class CfnListener(
|
|
|
4935
4979
|
'''
|
|
4936
4980
|
if __debug__:
|
|
4937
4981
|
type_hints = typing.get_type_hints(_typecheckingstub__07605e87f763c352d3e6705d69aa07723ad3c005493c1fdef02b175f49d53ee0)
|
|
4982
|
+
check_type(argname="argument advertise_trust_store_ca_names", value=advertise_trust_store_ca_names, expected_type=type_hints["advertise_trust_store_ca_names"])
|
|
4938
4983
|
check_type(argname="argument ignore_client_certificate_expiry", value=ignore_client_certificate_expiry, expected_type=type_hints["ignore_client_certificate_expiry"])
|
|
4939
4984
|
check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
|
|
4940
4985
|
check_type(argname="argument trust_store_arn", value=trust_store_arn, expected_type=type_hints["trust_store_arn"])
|
|
4941
4986
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4987
|
+
if advertise_trust_store_ca_names is not None:
|
|
4988
|
+
self._values["advertise_trust_store_ca_names"] = advertise_trust_store_ca_names
|
|
4942
4989
|
if ignore_client_certificate_expiry is not None:
|
|
4943
4990
|
self._values["ignore_client_certificate_expiry"] = ignore_client_certificate_expiry
|
|
4944
4991
|
if mode is not None:
|
|
@@ -4946,6 +4993,14 @@ class CfnListener(
|
|
|
4946
4993
|
if trust_store_arn is not None:
|
|
4947
4994
|
self._values["trust_store_arn"] = trust_store_arn
|
|
4948
4995
|
|
|
4996
|
+
@builtins.property
|
|
4997
|
+
def advertise_trust_store_ca_names(self) -> typing.Optional[builtins.str]:
|
|
4998
|
+
'''
|
|
4999
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-advertisetruststorecanames
|
|
5000
|
+
'''
|
|
5001
|
+
result = self._values.get("advertise_trust_store_ca_names")
|
|
5002
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
5003
|
+
|
|
4949
5004
|
@builtins.property
|
|
4950
5005
|
def ignore_client_certificate_expiry(
|
|
4951
5006
|
self,
|
|
@@ -5686,6 +5741,7 @@ class CfnListenerProps:
|
|
|
5686
5741
|
value="value"
|
|
5687
5742
|
)],
|
|
5688
5743
|
mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
|
|
5744
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
5689
5745
|
ignore_client_certificate_expiry=False,
|
|
5690
5746
|
mode="mode",
|
|
5691
5747
|
trust_store_arn="trustStoreArn"
|
|
@@ -8280,7 +8336,7 @@ class CfnLoadBalancer(
|
|
|
8280
8336
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink .
|
|
8281
8337
|
:param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
|
|
8282
8338
|
:param load_balancer_attributes: The load balancer attributes.
|
|
8283
|
-
:param minimum_load_balancer_capacity:
|
|
8339
|
+
:param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
|
|
8284
8340
|
:param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
|
|
8285
8341
|
:param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
|
|
8286
8342
|
:param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
|
|
@@ -8486,6 +8542,7 @@ class CfnLoadBalancer(
|
|
|
8486
8542
|
def minimum_load_balancer_capacity(
|
|
8487
8543
|
self,
|
|
8488
8544
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]]:
|
|
8545
|
+
'''The minimum capacity for a load balancer.'''
|
|
8489
8546
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]], jsii.get(self, "minimumLoadBalancerCapacity"))
|
|
8490
8547
|
|
|
8491
8548
|
@minimum_load_balancer_capacity.setter
|
|
@@ -8611,7 +8668,7 @@ class CfnLoadBalancer(
|
|
|
8611
8668
|
) -> None:
|
|
8612
8669
|
'''Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
|
|
8613
8670
|
|
|
8614
|
-
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and can't be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
|
|
8671
|
+
:param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and can't be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. - ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
|
|
8615
8672
|
:param value: The value of the attribute.
|
|
8616
8673
|
|
|
8617
8674
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html
|
|
@@ -8653,6 +8710,7 @@ class CfnLoadBalancer(
|
|
|
8653
8710
|
- ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.
|
|
8654
8711
|
- ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.
|
|
8655
8712
|
- ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.
|
|
8713
|
+
- ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` .
|
|
8656
8714
|
|
|
8657
8715
|
The following attributes are supported by only Application Load Balancers:
|
|
8658
8716
|
|
|
@@ -8676,7 +8734,6 @@ class CfnLoadBalancer(
|
|
|
8676
8734
|
The following attributes are supported by only Network Load Balancers:
|
|
8677
8735
|
|
|
8678
8736
|
- ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
|
|
8679
|
-
- ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` .
|
|
8680
8737
|
|
|
8681
8738
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattribute-key
|
|
8682
8739
|
'''
|
|
@@ -8710,8 +8767,9 @@ class CfnLoadBalancer(
|
|
|
8710
8767
|
)
|
|
8711
8768
|
class MinimumLoadBalancerCapacityProperty:
|
|
8712
8769
|
def __init__(self, *, capacity_units: jsii.Number) -> None:
|
|
8713
|
-
'''
|
|
8714
|
-
|
|
8770
|
+
'''The minimum capacity for a load balancer.
|
|
8771
|
+
|
|
8772
|
+
:param capacity_units: The number of capacity units.
|
|
8715
8773
|
|
|
8716
8774
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html
|
|
8717
8775
|
:exampleMetadata: fixture=_generated
|
|
@@ -8735,7 +8793,8 @@ class CfnLoadBalancer(
|
|
|
8735
8793
|
|
|
8736
8794
|
@builtins.property
|
|
8737
8795
|
def capacity_units(self) -> jsii.Number:
|
|
8738
|
-
'''
|
|
8796
|
+
'''The number of capacity units.
|
|
8797
|
+
|
|
8739
8798
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity-capacityunits
|
|
8740
8799
|
'''
|
|
8741
8800
|
result = self._values.get("capacity_units")
|
|
@@ -8921,7 +8980,7 @@ class CfnLoadBalancerProps:
|
|
|
8921
8980
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink .
|
|
8922
8981
|
:param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
|
|
8923
8982
|
:param load_balancer_attributes: The load balancer attributes.
|
|
8924
|
-
:param minimum_load_balancer_capacity:
|
|
8983
|
+
:param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
|
|
8925
8984
|
:param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
|
|
8926
8985
|
:param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
|
|
8927
8986
|
:param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
|
|
@@ -9062,7 +9121,8 @@ class CfnLoadBalancerProps:
|
|
|
9062
9121
|
def minimum_load_balancer_capacity(
|
|
9063
9122
|
self,
|
|
9064
9123
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]]:
|
|
9065
|
-
'''
|
|
9124
|
+
'''The minimum capacity for a load balancer.
|
|
9125
|
+
|
|
9066
9126
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity
|
|
9067
9127
|
'''
|
|
9068
9128
|
result = self._values.get("minimum_load_balancer_capacity")
|
|
@@ -11441,7 +11501,7 @@ class HealthCheck:
|
|
|
11441
11501
|
:param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
|
|
11442
11502
|
:param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: - HTTP for ALBs, TCP for NLBs
|
|
11443
11503
|
:param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: - 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
|
|
11444
|
-
:param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers,
|
|
11504
|
+
:param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, the range is between 2-10 and can be set accordingly. Default: 2
|
|
11445
11505
|
|
|
11446
11506
|
:exampleMetadata: infused
|
|
11447
11507
|
|
|
@@ -11602,7 +11662,7 @@ class HealthCheck:
|
|
|
11602
11662
|
'''The number of consecutive health check failures required before considering a target unhealthy.
|
|
11603
11663
|
|
|
11604
11664
|
For Application Load Balancers, the default is 2. For Network Load
|
|
11605
|
-
Balancers,
|
|
11665
|
+
Balancers, the range is between 2-10 and can be set accordingly.
|
|
11606
11666
|
|
|
11607
11667
|
:default: 2
|
|
11608
11668
|
'''
|
|
@@ -15422,9 +15482,15 @@ class IpAddressType(enum.Enum):
|
|
|
15422
15482
|
# vpc: ec2.Vpc
|
|
15423
15483
|
|
|
15424
15484
|
|
|
15425
|
-
lb = elbv2.
|
|
15485
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
15426
15486
|
vpc=vpc,
|
|
15427
|
-
ip_address_type=elbv2.IpAddressType.DUAL_STACK
|
|
15487
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
15488
|
+
enable_prefix_for_ipv6_source_nat=True
|
|
15489
|
+
)
|
|
15490
|
+
|
|
15491
|
+
listener = lb.add_listener("Listener",
|
|
15492
|
+
port=1229,
|
|
15493
|
+
protocol=elbv2.Protocol.UDP
|
|
15428
15494
|
)
|
|
15429
15495
|
'''
|
|
15430
15496
|
|
|
@@ -16722,18 +16788,18 @@ class NetworkLoadBalancer(
|
|
|
16722
16788
|
|
|
16723
16789
|
Example::
|
|
16724
16790
|
|
|
16725
|
-
|
|
16791
|
+
# vpc: ec2.Vpc
|
|
16726
16792
|
|
|
16727
16793
|
|
|
16728
|
-
|
|
16729
|
-
|
|
16730
|
-
|
|
16731
|
-
|
|
16732
|
-
port=80
|
|
16794
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
16795
|
+
vpc=vpc,
|
|
16796
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
16797
|
+
enable_prefix_for_ipv6_source_nat=True
|
|
16733
16798
|
)
|
|
16734
16799
|
|
|
16735
|
-
|
|
16736
|
-
|
|
16800
|
+
listener = lb.add_listener("Listener",
|
|
16801
|
+
port=1229,
|
|
16802
|
+
protocol=elbv2.Protocol.UDP
|
|
16737
16803
|
)
|
|
16738
16804
|
'''
|
|
16739
16805
|
|
|
@@ -16743,6 +16809,7 @@ class NetworkLoadBalancer(
|
|
|
16743
16809
|
id: builtins.str,
|
|
16744
16810
|
*,
|
|
16745
16811
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
16812
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
16746
16813
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
16747
16814
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
16748
16815
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -16759,6 +16826,7 @@ class NetworkLoadBalancer(
|
|
|
16759
16826
|
:param scope: -
|
|
16760
16827
|
:param id: -
|
|
16761
16828
|
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
16829
|
+
:param enable_prefix_for_ipv6_source_nat: Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be IpAddressType.DUALSTACK. Default: undefined - NLB default behavior is false
|
|
16762
16830
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
16763
16831
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
16764
16832
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
@@ -16777,6 +16845,7 @@ class NetworkLoadBalancer(
|
|
|
16777
16845
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16778
16846
|
props = NetworkLoadBalancerProps(
|
|
16779
16847
|
client_routing_policy=client_routing_policy,
|
|
16848
|
+
enable_prefix_for_ipv6_source_nat=enable_prefix_for_ipv6_source_nat,
|
|
16780
16849
|
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
16781
16850
|
ip_address_type=ip_address_type,
|
|
16782
16851
|
security_groups=security_groups,
|
|
@@ -17529,6 +17598,7 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
17529
17598
|
"load_balancer_name": "loadBalancerName",
|
|
17530
17599
|
"vpc_subnets": "vpcSubnets",
|
|
17531
17600
|
"client_routing_policy": "clientRoutingPolicy",
|
|
17601
|
+
"enable_prefix_for_ipv6_source_nat": "enablePrefixForIpv6SourceNat",
|
|
17532
17602
|
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
17533
17603
|
"ip_address_type": "ipAddressType",
|
|
17534
17604
|
"security_groups": "securityGroups",
|
|
@@ -17547,6 +17617,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17547
17617
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
17548
17618
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17549
17619
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
17620
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
17550
17621
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
17551
17622
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
17552
17623
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -17562,6 +17633,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17562
17633
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
17563
17634
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
17564
17635
|
:param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
|
|
17636
|
+
:param enable_prefix_for_ipv6_source_nat: Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be IpAddressType.DUALSTACK. Default: undefined - NLB default behavior is false
|
|
17565
17637
|
:param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink. Default: true
|
|
17566
17638
|
:param ip_address_type: The type of IP addresses to use. If you want to add a UDP or TCP_UDP listener to the load balancer, you must choose IPv4. Default: IpAddressType.IPV4
|
|
17567
17639
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
@@ -17571,18 +17643,18 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17571
17643
|
|
|
17572
17644
|
Example::
|
|
17573
17645
|
|
|
17574
|
-
|
|
17646
|
+
# vpc: ec2.Vpc
|
|
17575
17647
|
|
|
17576
17648
|
|
|
17577
|
-
|
|
17578
|
-
|
|
17579
|
-
|
|
17580
|
-
|
|
17581
|
-
port=80
|
|
17649
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
17650
|
+
vpc=vpc,
|
|
17651
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
17652
|
+
enable_prefix_for_ipv6_source_nat=True
|
|
17582
17653
|
)
|
|
17583
17654
|
|
|
17584
|
-
|
|
17585
|
-
|
|
17655
|
+
listener = lb.add_listener("Listener",
|
|
17656
|
+
port=1229,
|
|
17657
|
+
protocol=elbv2.Protocol.UDP
|
|
17586
17658
|
)
|
|
17587
17659
|
'''
|
|
17588
17660
|
if isinstance(vpc_subnets, dict):
|
|
@@ -17597,6 +17669,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17597
17669
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
17598
17670
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
17599
17671
|
check_type(argname="argument client_routing_policy", value=client_routing_policy, expected_type=type_hints["client_routing_policy"])
|
|
17672
|
+
check_type(argname="argument enable_prefix_for_ipv6_source_nat", value=enable_prefix_for_ipv6_source_nat, expected_type=type_hints["enable_prefix_for_ipv6_source_nat"])
|
|
17600
17673
|
check_type(argname="argument enforce_security_group_inbound_rules_on_private_link_traffic", value=enforce_security_group_inbound_rules_on_private_link_traffic, expected_type=type_hints["enforce_security_group_inbound_rules_on_private_link_traffic"])
|
|
17601
17674
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
17602
17675
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
@@ -17618,6 +17691,8 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17618
17691
|
self._values["vpc_subnets"] = vpc_subnets
|
|
17619
17692
|
if client_routing_policy is not None:
|
|
17620
17693
|
self._values["client_routing_policy"] = client_routing_policy
|
|
17694
|
+
if enable_prefix_for_ipv6_source_nat is not None:
|
|
17695
|
+
self._values["enable_prefix_for_ipv6_source_nat"] = enable_prefix_for_ipv6_source_nat
|
|
17621
17696
|
if enforce_security_group_inbound_rules_on_private_link_traffic is not None:
|
|
17622
17697
|
self._values["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic
|
|
17623
17698
|
if ip_address_type is not None:
|
|
@@ -17704,6 +17779,17 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17704
17779
|
result = self._values.get("client_routing_policy")
|
|
17705
17780
|
return typing.cast(typing.Optional[ClientRoutingPolicy], result)
|
|
17706
17781
|
|
|
17782
|
+
@builtins.property
|
|
17783
|
+
def enable_prefix_for_ipv6_source_nat(self) -> typing.Optional[builtins.bool]:
|
|
17784
|
+
'''Indicates whether to use an IPv6 prefix from each subnet for source NAT.
|
|
17785
|
+
|
|
17786
|
+
The IP address type must be IpAddressType.DUALSTACK.
|
|
17787
|
+
|
|
17788
|
+
:default: undefined - NLB default behavior is false
|
|
17789
|
+
'''
|
|
17790
|
+
result = self._values.get("enable_prefix_for_ipv6_source_nat")
|
|
17791
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
17792
|
+
|
|
17707
17793
|
@builtins.property
|
|
17708
17794
|
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
17709
17795
|
self,
|
|
@@ -18124,85 +18210,18 @@ class Protocol(enum.Enum):
|
|
|
18124
18210
|
|
|
18125
18211
|
Example::
|
|
18126
18212
|
|
|
18127
|
-
|
|
18128
|
-
from aws_cdk.aws_ec2 import InstanceType
|
|
18129
|
-
from aws_cdk.aws_ecs import Cluster, ContainerImage
|
|
18130
|
-
from aws_cdk.aws_elasticloadbalancingv2 import ApplicationProtocol, Protocol, SslPolicy
|
|
18131
|
-
from aws_cdk.aws_route53 import PublicHostedZone
|
|
18213
|
+
# vpc: ec2.Vpc
|
|
18132
18214
|
|
|
18133
|
-
vpc = ec2.Vpc(self, "Vpc", max_azs=1)
|
|
18134
18215
|
|
|
18135
|
-
|
|
18136
|
-
|
|
18137
|
-
|
|
18138
|
-
|
|
18139
|
-
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
|
|
18140
|
-
),
|
|
18141
|
-
enable_execute_command=True,
|
|
18142
|
-
load_balancers=[ecsPatterns.ApplicationLoadBalancerProps(
|
|
18143
|
-
name="lb",
|
|
18144
|
-
idle_timeout=Duration.seconds(400),
|
|
18145
|
-
domain_name="api.example.com",
|
|
18146
|
-
domain_zone=PublicHostedZone(self, "HostedZone", zone_name="example.com"),
|
|
18147
|
-
listeners=[ecsPatterns.ApplicationListenerProps(
|
|
18148
|
-
name="listener",
|
|
18149
|
-
protocol=ApplicationProtocol.HTTPS,
|
|
18150
|
-
certificate=Certificate.from_certificate_arn(self, "Cert", "helloworld"),
|
|
18151
|
-
ssl_policy=SslPolicy.TLS12_EXT
|
|
18152
|
-
)
|
|
18153
|
-
]
|
|
18154
|
-
), ecsPatterns.ApplicationLoadBalancerProps(
|
|
18155
|
-
name="lb2",
|
|
18156
|
-
idle_timeout=Duration.seconds(120),
|
|
18157
|
-
domain_name="frontend.com",
|
|
18158
|
-
domain_zone=PublicHostedZone(self, "HostedZone", zone_name="frontend.com"),
|
|
18159
|
-
listeners=[ecsPatterns.ApplicationListenerProps(
|
|
18160
|
-
name="listener2",
|
|
18161
|
-
protocol=ApplicationProtocol.HTTPS,
|
|
18162
|
-
certificate=Certificate.from_certificate_arn(self, "Cert2", "helloworld"),
|
|
18163
|
-
ssl_policy=SslPolicy.TLS12_EXT
|
|
18164
|
-
)
|
|
18165
|
-
]
|
|
18166
|
-
)
|
|
18167
|
-
],
|
|
18168
|
-
target_groups=[ecsPatterns.ApplicationTargetProps(
|
|
18169
|
-
container_port=80,
|
|
18170
|
-
listener="listener"
|
|
18171
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18172
|
-
container_port=90,
|
|
18173
|
-
path_pattern="a/b/c",
|
|
18174
|
-
priority=10,
|
|
18175
|
-
listener="listener"
|
|
18176
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18177
|
-
container_port=443,
|
|
18178
|
-
listener="listener2"
|
|
18179
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18180
|
-
container_port=80,
|
|
18181
|
-
path_pattern="a/b/c",
|
|
18182
|
-
priority=10,
|
|
18183
|
-
listener="listener2"
|
|
18184
|
-
)
|
|
18185
|
-
]
|
|
18186
|
-
)
|
|
18187
|
-
|
|
18188
|
-
load_balanced_fargate_service.target_groups[0].configure_health_check(
|
|
18189
|
-
port="8050",
|
|
18190
|
-
protocol=Protocol.HTTP,
|
|
18191
|
-
healthy_threshold_count=2,
|
|
18192
|
-
unhealthy_threshold_count=2,
|
|
18193
|
-
timeout=Duration.seconds(10),
|
|
18194
|
-
interval=Duration.seconds(30),
|
|
18195
|
-
healthy_http_codes="200"
|
|
18216
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
18217
|
+
vpc=vpc,
|
|
18218
|
+
ip_address_type=elbv2.IpAddressType.DUAL_STACK,
|
|
18219
|
+
enable_prefix_for_ipv6_source_nat=True
|
|
18196
18220
|
)
|
|
18197
18221
|
|
|
18198
|
-
|
|
18199
|
-
port=
|
|
18200
|
-
protocol=Protocol.
|
|
18201
|
-
healthy_threshold_count=2,
|
|
18202
|
-
unhealthy_threshold_count=2,
|
|
18203
|
-
timeout=Duration.seconds(10),
|
|
18204
|
-
interval=Duration.seconds(30),
|
|
18205
|
-
healthy_http_codes="200"
|
|
18222
|
+
listener = lb.add_listener("Listener",
|
|
18223
|
+
port=1229,
|
|
18224
|
+
protocol=elbv2.Protocol.UDP
|
|
18206
18225
|
)
|
|
18207
18226
|
'''
|
|
18208
18227
|
|
|
@@ -18666,9 +18685,9 @@ class SslPolicy(enum.Enum):
|
|
|
18666
18685
|
'''
|
|
18667
18686
|
|
|
18668
18687
|
RECOMMENDED_TLS = "RECOMMENDED_TLS"
|
|
18669
|
-
'''The recommended security policy for TLS listeners.
|
|
18688
|
+
'''The recommended security policy for TLS listeners. This is the default policy for listeners created using the AWS Management Console.
|
|
18670
18689
|
|
|
18671
|
-
This
|
|
18690
|
+
This policy includes TLS 1.3, and is backwards compatible with TLS 1.2
|
|
18672
18691
|
'''
|
|
18673
18692
|
RECOMMENDED = "RECOMMENDED"
|
|
18674
18693
|
'''The recommended policy for http listeners.
|
|
@@ -18869,7 +18888,7 @@ class TargetGroupBase(
|
|
|
18869
18888
|
:param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
|
|
18870
18889
|
:param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: - HTTP for ALBs, TCP for NLBs
|
|
18871
18890
|
:param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: - 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
|
|
18872
|
-
:param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers,
|
|
18891
|
+
:param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, the range is between 2-10 and can be set accordingly. Default: 2
|
|
18873
18892
|
'''
|
|
18874
18893
|
health_check = HealthCheck(
|
|
18875
18894
|
enabled=enabled,
|
|
@@ -22202,30 +22221,18 @@ class NetworkListener(
|
|
|
22202
22221
|
|
|
22203
22222
|
Example::
|
|
22204
22223
|
|
|
22205
|
-
|
|
22206
|
-
# asg: autoscaling.AutoScalingGroup
|
|
22207
|
-
# sg1: ec2.ISecurityGroup
|
|
22208
|
-
# sg2: ec2.ISecurityGroup
|
|
22209
|
-
|
|
22224
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
22210
22225
|
|
|
22211
|
-
# Create the load balancer in a VPC. 'internetFacing' is 'false'
|
|
22212
|
-
# by default, which creates an internal load balancer.
|
|
22213
|
-
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
22214
|
-
vpc=vpc,
|
|
22215
|
-
internet_facing=True,
|
|
22216
|
-
security_groups=[sg1]
|
|
22217
|
-
)
|
|
22218
|
-
lb.add_security_group(sg2)
|
|
22219
22226
|
|
|
22220
|
-
|
|
22221
|
-
|
|
22222
|
-
|
|
22227
|
+
vpc = ec2.Vpc(self, "VPC")
|
|
22228
|
+
lb = elbv2.NetworkLoadBalancer(self, "lb", vpc=vpc)
|
|
22229
|
+
listener = lb.add_listener("listener", port=80)
|
|
22230
|
+
listener.add_targets("target",
|
|
22231
|
+
port=80
|
|
22223
22232
|
)
|
|
22224
22233
|
|
|
22225
|
-
|
|
22226
|
-
|
|
22227
|
-
port=443,
|
|
22228
|
-
targets=[asg]
|
|
22234
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
22235
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
22229
22236
|
)
|
|
22230
22237
|
'''
|
|
22231
22238
|
|
|
@@ -25585,6 +25592,7 @@ def _typecheckingstub__0e09ea6213c5fb2125f07b2f54d7fe6ee24307939dcc06580928b2ef0
|
|
|
25585
25592
|
|
|
25586
25593
|
def _typecheckingstub__07605e87f763c352d3e6705d69aa07723ad3c005493c1fdef02b175f49d53ee0(
|
|
25587
25594
|
*,
|
|
25595
|
+
advertise_trust_store_ca_names: typing.Optional[builtins.str] = None,
|
|
25588
25596
|
ignore_client_certificate_expiry: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
25589
25597
|
mode: typing.Optional[builtins.str] = None,
|
|
25590
25598
|
trust_store_arn: typing.Optional[builtins.str] = None,
|
|
@@ -26731,6 +26739,7 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
|
|
|
26731
26739
|
id: builtins.str,
|
|
26732
26740
|
*,
|
|
26733
26741
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
26742
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
26734
26743
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
26735
26744
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
26736
26745
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -26834,6 +26843,7 @@ def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc3
|
|
|
26834
26843
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
26835
26844
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
26836
26845
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
26846
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
26837
26847
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
26838
26848
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
26839
26849
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|