aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.0__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 +528 -161
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +40 -40
- aws_cdk/aws_apigateway/__init__.py +1357 -120
- aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
- aws_cdk/aws_appsync/__init__.py +163 -139
- aws_cdk/aws_autoscaling/__init__.py +96 -30
- aws_cdk/aws_bedrock/__init__.py +80 -44
- aws_cdk/aws_chatbot/__init__.py +803 -2
- aws_cdk/aws_cleanrooms/__init__.py +4 -6
- aws_cdk/aws_cloudformation/__init__.py +240 -159
- aws_cdk/aws_cloudfront/__init__.py +15 -7
- aws_cdk/aws_cloudtrail/__init__.py +802 -13
- 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 +1032 -43
- aws_cdk/aws_config/__init__.py +13 -10
- aws_cdk/aws_connect/__init__.py +454 -23
- aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
- aws_cdk/aws_customerprofiles/__init__.py +3148 -0
- aws_cdk/aws_docdb/__init__.py +128 -0
- aws_cdk/aws_dynamodb/__init__.py +256 -0
- aws_cdk/aws_ec2/__init__.py +976 -27
- aws_cdk/aws_ecs/__init__.py +37 -20
- aws_cdk/aws_eks/__init__.py +771 -0
- aws_cdk/aws_elasticache/__init__.py +22 -22
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
- aws_cdk/aws_events/__init__.py +550 -30
- 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 +70 -26
- aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
- aws_cdk/aws_iotsitewise/__init__.py +158 -0
- 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 +272 -164
- aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
- aws_cdk/aws_logs/__init__.py +532 -0
- aws_cdk/aws_m2/__init__.py +289 -0
- 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_mwaa/__init__.py +6 -6
- aws_cdk/aws_opensearchserverless/__init__.py +249 -1
- aws_cdk/aws_pipes/__init__.py +14 -30
- aws_cdk/aws_qbusiness/__init__.py +2021 -67
- aws_cdk/aws_quicksight/__init__.py +8270 -10
- aws_cdk/aws_rbin/__init__.py +53 -34
- aws_cdk/aws_rds/__init__.py +170 -8
- aws_cdk/aws_resourcegroups/__init__.py +362 -4
- aws_cdk/aws_route53/__init__.py +1177 -10
- aws_cdk/aws_route53_targets/__init__.py +297 -91
- aws_cdk/aws_route53resolver/__init__.py +19 -8
- aws_cdk/aws_s3/__init__.py +4 -4
- aws_cdk/aws_s3express/__init__.py +421 -9
- aws_cdk/aws_sagemaker/__init__.py +905 -119
- 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 +188 -41
- 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 +8509 -1502
- aws_cdk/aws_workspacesweb/__init__.py +1081 -0
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.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
|
|
|
@@ -598,6 +615,47 @@ target_group = elbv2.ApplicationTargetGroup(self, "TargetGroup",
|
|
|
598
615
|
)
|
|
599
616
|
```
|
|
600
617
|
|
|
618
|
+
### IP Address Type for Target Groups
|
|
619
|
+
|
|
620
|
+
You can set the IP address type for the target group by setting the `ipAddressType` property for both Application and Network target groups.
|
|
621
|
+
|
|
622
|
+
If you set the `ipAddressType` property to `IPV6`, the VPC for the target group must have an associated IPv6 CIDR block.
|
|
623
|
+
|
|
624
|
+
For more information, see IP address type for [Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-ip-address-type) and [Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-ip-address-type).
|
|
625
|
+
|
|
626
|
+
```python
|
|
627
|
+
# vpc: ec2.Vpc
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
|
|
631
|
+
vpc=vpc,
|
|
632
|
+
port=80,
|
|
633
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
634
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
635
|
+
)
|
|
636
|
+
|
|
637
|
+
ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
|
|
638
|
+
vpc=vpc,
|
|
639
|
+
port=80,
|
|
640
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
641
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
642
|
+
)
|
|
643
|
+
|
|
644
|
+
ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
|
|
645
|
+
vpc=vpc,
|
|
646
|
+
port=80,
|
|
647
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
648
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
649
|
+
)
|
|
650
|
+
|
|
651
|
+
ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
|
|
652
|
+
vpc=vpc,
|
|
653
|
+
port=80,
|
|
654
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
655
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
656
|
+
)
|
|
657
|
+
```
|
|
658
|
+
|
|
601
659
|
## Using Lambda Targets
|
|
602
660
|
|
|
603
661
|
To use a Lambda Function as a target, use the integration class in the
|
|
@@ -3332,6 +3390,7 @@ class BaseNetworkListenerProps:
|
|
|
3332
3390
|
"cross_zone_enabled": "crossZoneEnabled",
|
|
3333
3391
|
"deregistration_delay": "deregistrationDelay",
|
|
3334
3392
|
"health_check": "healthCheck",
|
|
3393
|
+
"ip_address_type": "ipAddressType",
|
|
3335
3394
|
"target_group_name": "targetGroupName",
|
|
3336
3395
|
"target_type": "targetType",
|
|
3337
3396
|
"vpc": "vpc",
|
|
@@ -3344,6 +3403,7 @@ class BaseTargetGroupProps:
|
|
|
3344
3403
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
3345
3404
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
3346
3405
|
health_check: typing.Optional[typing.Union["HealthCheck", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3406
|
+
ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
|
|
3347
3407
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
3348
3408
|
target_type: typing.Optional["TargetType"] = None,
|
|
3349
3409
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -3353,6 +3413,7 @@ class BaseTargetGroupProps:
|
|
|
3353
3413
|
:param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
|
|
3354
3414
|
:param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
|
|
3355
3415
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
3416
|
+
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
3356
3417
|
:param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
|
|
3357
3418
|
:param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
|
|
3358
3419
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -3384,6 +3445,7 @@ class BaseTargetGroupProps:
|
|
|
3384
3445
|
timeout=cdk.Duration.minutes(30),
|
|
3385
3446
|
unhealthy_threshold_count=123
|
|
3386
3447
|
),
|
|
3448
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4,
|
|
3387
3449
|
target_group_name="targetGroupName",
|
|
3388
3450
|
target_type=elbv2.TargetType.INSTANCE,
|
|
3389
3451
|
vpc=vpc
|
|
@@ -3396,6 +3458,7 @@ class BaseTargetGroupProps:
|
|
|
3396
3458
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
3397
3459
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
3398
3460
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
3461
|
+
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
3399
3462
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
3400
3463
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
3401
3464
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -3406,6 +3469,8 @@ class BaseTargetGroupProps:
|
|
|
3406
3469
|
self._values["deregistration_delay"] = deregistration_delay
|
|
3407
3470
|
if health_check is not None:
|
|
3408
3471
|
self._values["health_check"] = health_check
|
|
3472
|
+
if ip_address_type is not None:
|
|
3473
|
+
self._values["ip_address_type"] = ip_address_type
|
|
3409
3474
|
if target_group_name is not None:
|
|
3410
3475
|
self._values["target_group_name"] = target_group_name
|
|
3411
3476
|
if target_type is not None:
|
|
@@ -3446,6 +3511,15 @@ class BaseTargetGroupProps:
|
|
|
3446
3511
|
result = self._values.get("health_check")
|
|
3447
3512
|
return typing.cast(typing.Optional["HealthCheck"], result)
|
|
3448
3513
|
|
|
3514
|
+
@builtins.property
|
|
3515
|
+
def ip_address_type(self) -> typing.Optional["TargetGroupIpAddressType"]:
|
|
3516
|
+
'''The type of IP addresses of the targets registered with the target group.
|
|
3517
|
+
|
|
3518
|
+
:default: undefined - ELB defaults to IPv4
|
|
3519
|
+
'''
|
|
3520
|
+
result = self._values.get("ip_address_type")
|
|
3521
|
+
return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
|
|
3522
|
+
|
|
3449
3523
|
@builtins.property
|
|
3450
3524
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
3451
3525
|
'''The name of the target group.
|
|
@@ -3592,6 +3666,7 @@ class CfnListener(
|
|
|
3592
3666
|
value="value"
|
|
3593
3667
|
)],
|
|
3594
3668
|
mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
|
|
3669
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
3595
3670
|
ignore_client_certificate_expiry=False,
|
|
3596
3671
|
mode="mode",
|
|
3597
3672
|
trust_store_arn="trustStoreArn"
|
|
@@ -4778,7 +4853,7 @@ class CfnListener(
|
|
|
4778
4853
|
) -> None:
|
|
4779
4854
|
'''Information about a listener attribute.
|
|
4780
4855
|
|
|
4781
|
-
: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* .
|
|
4782
4857
|
:param value: The value of the attribute.
|
|
4783
4858
|
|
|
4784
4859
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html
|
|
@@ -4813,6 +4888,28 @@ class CfnListener(
|
|
|
4813
4888
|
|
|
4814
4889
|
- ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.
|
|
4815
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
|
+
|
|
4816
4913
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html#cfn-elasticloadbalancingv2-listener-listenerattribute-key
|
|
4817
4914
|
'''
|
|
4818
4915
|
result = self._values.get("key")
|
|
@@ -4842,6 +4939,7 @@ class CfnListener(
|
|
|
4842
4939
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener.MutualAuthenticationProperty",
|
|
4843
4940
|
jsii_struct_bases=[],
|
|
4844
4941
|
name_mapping={
|
|
4942
|
+
"advertise_trust_store_ca_names": "advertiseTrustStoreCaNames",
|
|
4845
4943
|
"ignore_client_certificate_expiry": "ignoreClientCertificateExpiry",
|
|
4846
4944
|
"mode": "mode",
|
|
4847
4945
|
"trust_store_arn": "trustStoreArn",
|
|
@@ -4851,12 +4949,14 @@ class CfnListener(
|
|
|
4851
4949
|
def __init__(
|
|
4852
4950
|
self,
|
|
4853
4951
|
*,
|
|
4952
|
+
advertise_trust_store_ca_names: typing.Optional[builtins.str] = None,
|
|
4854
4953
|
ignore_client_certificate_expiry: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
4855
4954
|
mode: typing.Optional[builtins.str] = None,
|
|
4856
4955
|
trust_store_arn: typing.Optional[builtins.str] = None,
|
|
4857
4956
|
) -> None:
|
|
4858
4957
|
'''Specifies the configuration information for mutual authentication.
|
|
4859
4958
|
|
|
4959
|
+
:param advertise_trust_store_ca_names:
|
|
4860
4960
|
:param ignore_client_certificate_expiry: Indicates whether expired client certificates are ignored.
|
|
4861
4961
|
:param mode: The client certificate handling method. Options are ``off`` , ``passthrough`` or ``verify`` . The default value is ``off`` .
|
|
4862
4962
|
:param trust_store_arn: The Amazon Resource Name (ARN) of the trust store.
|
|
@@ -4871,6 +4971,7 @@ class CfnListener(
|
|
|
4871
4971
|
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
4872
4972
|
|
|
4873
4973
|
mutual_authentication_property = elbv2.CfnListener.MutualAuthenticationProperty(
|
|
4974
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
4874
4975
|
ignore_client_certificate_expiry=False,
|
|
4875
4976
|
mode="mode",
|
|
4876
4977
|
trust_store_arn="trustStoreArn"
|
|
@@ -4878,10 +4979,13 @@ class CfnListener(
|
|
|
4878
4979
|
'''
|
|
4879
4980
|
if __debug__:
|
|
4880
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"])
|
|
4881
4983
|
check_type(argname="argument ignore_client_certificate_expiry", value=ignore_client_certificate_expiry, expected_type=type_hints["ignore_client_certificate_expiry"])
|
|
4882
4984
|
check_type(argname="argument mode", value=mode, expected_type=type_hints["mode"])
|
|
4883
4985
|
check_type(argname="argument trust_store_arn", value=trust_store_arn, expected_type=type_hints["trust_store_arn"])
|
|
4884
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
|
|
4885
4989
|
if ignore_client_certificate_expiry is not None:
|
|
4886
4990
|
self._values["ignore_client_certificate_expiry"] = ignore_client_certificate_expiry
|
|
4887
4991
|
if mode is not None:
|
|
@@ -4889,6 +4993,14 @@ class CfnListener(
|
|
|
4889
4993
|
if trust_store_arn is not None:
|
|
4890
4994
|
self._values["trust_store_arn"] = trust_store_arn
|
|
4891
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
|
+
|
|
4892
5004
|
@builtins.property
|
|
4893
5005
|
def ignore_client_certificate_expiry(
|
|
4894
5006
|
self,
|
|
@@ -5629,6 +5741,7 @@ class CfnListenerProps:
|
|
|
5629
5741
|
value="value"
|
|
5630
5742
|
)],
|
|
5631
5743
|
mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
|
|
5744
|
+
advertise_trust_store_ca_names="advertiseTrustStoreCaNames",
|
|
5632
5745
|
ignore_client_certificate_expiry=False,
|
|
5633
5746
|
mode="mode",
|
|
5634
5747
|
trust_store_arn="trustStoreArn"
|
|
@@ -8174,6 +8287,9 @@ class CfnLoadBalancer(
|
|
|
8174
8287
|
key="key",
|
|
8175
8288
|
value="value"
|
|
8176
8289
|
)],
|
|
8290
|
+
minimum_load_balancer_capacity=elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
|
|
8291
|
+
capacity_units=123
|
|
8292
|
+
),
|
|
8177
8293
|
name="name",
|
|
8178
8294
|
scheme="scheme",
|
|
8179
8295
|
security_groups=["securityGroups"],
|
|
@@ -8204,6 +8320,7 @@ class CfnLoadBalancer(
|
|
|
8204
8320
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
|
|
8205
8321
|
ip_address_type: typing.Optional[builtins.str] = None,
|
|
8206
8322
|
load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.LoadBalancerAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
8323
|
+
minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.MinimumLoadBalancerCapacityProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8207
8324
|
name: typing.Optional[builtins.str] = None,
|
|
8208
8325
|
scheme: typing.Optional[builtins.str] = None,
|
|
8209
8326
|
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8219,6 +8336,7 @@ class CfnLoadBalancer(
|
|
|
8219
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 .
|
|
8220
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).
|
|
8221
8338
|
:param load_balancer_attributes: The load balancer attributes.
|
|
8339
|
+
:param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
|
|
8222
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.
|
|
8223
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.
|
|
8224
8342
|
:param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
|
|
@@ -8236,6 +8354,7 @@ class CfnLoadBalancer(
|
|
|
8236
8354
|
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
8237
8355
|
ip_address_type=ip_address_type,
|
|
8238
8356
|
load_balancer_attributes=load_balancer_attributes,
|
|
8357
|
+
minimum_load_balancer_capacity=minimum_load_balancer_capacity,
|
|
8239
8358
|
name=name,
|
|
8240
8359
|
scheme=scheme,
|
|
8241
8360
|
security_groups=security_groups,
|
|
@@ -8418,6 +8537,24 @@ class CfnLoadBalancer(
|
|
|
8418
8537
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8419
8538
|
jsii.set(self, "loadBalancerAttributes", value) # pyright: ignore[reportArgumentType]
|
|
8420
8539
|
|
|
8540
|
+
@builtins.property
|
|
8541
|
+
@jsii.member(jsii_name="minimumLoadBalancerCapacity")
|
|
8542
|
+
def minimum_load_balancer_capacity(
|
|
8543
|
+
self,
|
|
8544
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]]:
|
|
8545
|
+
'''The minimum capacity for a load balancer.'''
|
|
8546
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]], jsii.get(self, "minimumLoadBalancerCapacity"))
|
|
8547
|
+
|
|
8548
|
+
@minimum_load_balancer_capacity.setter
|
|
8549
|
+
def minimum_load_balancer_capacity(
|
|
8550
|
+
self,
|
|
8551
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]],
|
|
8552
|
+
) -> None:
|
|
8553
|
+
if __debug__:
|
|
8554
|
+
type_hints = typing.get_type_hints(_typecheckingstub__102164e78a5cf61e67908e476a27971c19e5604c38d90ddca6b4b346581d0209)
|
|
8555
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
8556
|
+
jsii.set(self, "minimumLoadBalancerCapacity", value) # pyright: ignore[reportArgumentType]
|
|
8557
|
+
|
|
8421
8558
|
@builtins.property
|
|
8422
8559
|
@jsii.member(jsii_name="name")
|
|
8423
8560
|
def name(self) -> typing.Optional[builtins.str]:
|
|
@@ -8531,7 +8668,7 @@ class CfnLoadBalancer(
|
|
|
8531
8668
|
) -> None:
|
|
8532
8669
|
'''Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
|
|
8533
8670
|
|
|
8534
|
-
: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.
|
|
8535
8672
|
:param value: The value of the attribute.
|
|
8536
8673
|
|
|
8537
8674
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html
|
|
@@ -8573,6 +8710,7 @@ class CfnLoadBalancer(
|
|
|
8573
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.
|
|
8574
8711
|
- ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs.
|
|
8575
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`` .
|
|
8576
8714
|
|
|
8577
8715
|
The following attributes are supported by only Application Load Balancers:
|
|
8578
8716
|
|
|
@@ -8596,7 +8734,6 @@ class CfnLoadBalancer(
|
|
|
8596
8734
|
The following attributes are supported by only Network Load Balancers:
|
|
8597
8735
|
|
|
8598
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.
|
|
8599
|
-
- ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` .
|
|
8600
8737
|
|
|
8601
8738
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattribute-key
|
|
8602
8739
|
'''
|
|
@@ -8623,6 +8760,58 @@ class CfnLoadBalancer(
|
|
|
8623
8760
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
8624
8761
|
)
|
|
8625
8762
|
|
|
8763
|
+
@jsii.data_type(
|
|
8764
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty",
|
|
8765
|
+
jsii_struct_bases=[],
|
|
8766
|
+
name_mapping={"capacity_units": "capacityUnits"},
|
|
8767
|
+
)
|
|
8768
|
+
class MinimumLoadBalancerCapacityProperty:
|
|
8769
|
+
def __init__(self, *, capacity_units: jsii.Number) -> None:
|
|
8770
|
+
'''The minimum capacity for a load balancer.
|
|
8771
|
+
|
|
8772
|
+
:param capacity_units: The number of capacity units.
|
|
8773
|
+
|
|
8774
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html
|
|
8775
|
+
:exampleMetadata: fixture=_generated
|
|
8776
|
+
|
|
8777
|
+
Example::
|
|
8778
|
+
|
|
8779
|
+
# The code below shows an example of how to instantiate this type.
|
|
8780
|
+
# The values are placeholders you should change.
|
|
8781
|
+
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
8782
|
+
|
|
8783
|
+
minimum_load_balancer_capacity_property = elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
|
|
8784
|
+
capacity_units=123
|
|
8785
|
+
)
|
|
8786
|
+
'''
|
|
8787
|
+
if __debug__:
|
|
8788
|
+
type_hints = typing.get_type_hints(_typecheckingstub__bd0d2d4a891c02fabab09ae876b5f738a440bf3402f1db5dc28e3cdd47b733bc)
|
|
8789
|
+
check_type(argname="argument capacity_units", value=capacity_units, expected_type=type_hints["capacity_units"])
|
|
8790
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
8791
|
+
"capacity_units": capacity_units,
|
|
8792
|
+
}
|
|
8793
|
+
|
|
8794
|
+
@builtins.property
|
|
8795
|
+
def capacity_units(self) -> jsii.Number:
|
|
8796
|
+
'''The number of capacity units.
|
|
8797
|
+
|
|
8798
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity-capacityunits
|
|
8799
|
+
'''
|
|
8800
|
+
result = self._values.get("capacity_units")
|
|
8801
|
+
assert result is not None, "Required property 'capacity_units' is missing"
|
|
8802
|
+
return typing.cast(jsii.Number, result)
|
|
8803
|
+
|
|
8804
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
8805
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
8806
|
+
|
|
8807
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
8808
|
+
return not (rhs == self)
|
|
8809
|
+
|
|
8810
|
+
def __repr__(self) -> str:
|
|
8811
|
+
return "MinimumLoadBalancerCapacityProperty(%s)" % ", ".join(
|
|
8812
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
8813
|
+
)
|
|
8814
|
+
|
|
8626
8815
|
@jsii.data_type(
|
|
8627
8816
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer.SubnetMappingProperty",
|
|
8628
8817
|
jsii_struct_bases=[],
|
|
@@ -8758,6 +8947,7 @@ class CfnLoadBalancer(
|
|
|
8758
8947
|
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
8759
8948
|
"ip_address_type": "ipAddressType",
|
|
8760
8949
|
"load_balancer_attributes": "loadBalancerAttributes",
|
|
8950
|
+
"minimum_load_balancer_capacity": "minimumLoadBalancerCapacity",
|
|
8761
8951
|
"name": "name",
|
|
8762
8952
|
"scheme": "scheme",
|
|
8763
8953
|
"security_groups": "securityGroups",
|
|
@@ -8775,6 +8965,7 @@ class CfnLoadBalancerProps:
|
|
|
8775
8965
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
|
|
8776
8966
|
ip_address_type: typing.Optional[builtins.str] = None,
|
|
8777
8967
|
load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
8968
|
+
minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8778
8969
|
name: typing.Optional[builtins.str] = None,
|
|
8779
8970
|
scheme: typing.Optional[builtins.str] = None,
|
|
8780
8971
|
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -8789,6 +8980,7 @@ class CfnLoadBalancerProps:
|
|
|
8789
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 .
|
|
8790
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).
|
|
8791
8982
|
:param load_balancer_attributes: The load balancer attributes.
|
|
8983
|
+
:param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
|
|
8792
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.
|
|
8793
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.
|
|
8794
8986
|
:param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
|
|
@@ -8814,6 +9006,9 @@ class CfnLoadBalancerProps:
|
|
|
8814
9006
|
key="key",
|
|
8815
9007
|
value="value"
|
|
8816
9008
|
)],
|
|
9009
|
+
minimum_load_balancer_capacity=elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
|
|
9010
|
+
capacity_units=123
|
|
9011
|
+
),
|
|
8817
9012
|
name="name",
|
|
8818
9013
|
scheme="scheme",
|
|
8819
9014
|
security_groups=["securityGroups"],
|
|
@@ -8840,6 +9035,7 @@ class CfnLoadBalancerProps:
|
|
|
8840
9035
|
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"])
|
|
8841
9036
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
8842
9037
|
check_type(argname="argument load_balancer_attributes", value=load_balancer_attributes, expected_type=type_hints["load_balancer_attributes"])
|
|
9038
|
+
check_type(argname="argument minimum_load_balancer_capacity", value=minimum_load_balancer_capacity, expected_type=type_hints["minimum_load_balancer_capacity"])
|
|
8843
9039
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
8844
9040
|
check_type(argname="argument scheme", value=scheme, expected_type=type_hints["scheme"])
|
|
8845
9041
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
@@ -8856,6 +9052,8 @@ class CfnLoadBalancerProps:
|
|
|
8856
9052
|
self._values["ip_address_type"] = ip_address_type
|
|
8857
9053
|
if load_balancer_attributes is not None:
|
|
8858
9054
|
self._values["load_balancer_attributes"] = load_balancer_attributes
|
|
9055
|
+
if minimum_load_balancer_capacity is not None:
|
|
9056
|
+
self._values["minimum_load_balancer_capacity"] = minimum_load_balancer_capacity
|
|
8859
9057
|
if name is not None:
|
|
8860
9058
|
self._values["name"] = name
|
|
8861
9059
|
if scheme is not None:
|
|
@@ -8919,6 +9117,17 @@ class CfnLoadBalancerProps:
|
|
|
8919
9117
|
result = self._values.get("load_balancer_attributes")
|
|
8920
9118
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.LoadBalancerAttributeProperty]]]], result)
|
|
8921
9119
|
|
|
9120
|
+
@builtins.property
|
|
9121
|
+
def minimum_load_balancer_capacity(
|
|
9122
|
+
self,
|
|
9123
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]]:
|
|
9124
|
+
'''The minimum capacity for a load balancer.
|
|
9125
|
+
|
|
9126
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity
|
|
9127
|
+
'''
|
|
9128
|
+
result = self._values.get("minimum_load_balancer_capacity")
|
|
9129
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]], result)
|
|
9130
|
+
|
|
8922
9131
|
@builtins.property
|
|
8923
9132
|
def name(self) -> typing.Optional[builtins.str]:
|
|
8924
9133
|
'''The name of the load balancer.
|
|
@@ -11284,15 +11493,15 @@ class HealthCheck:
|
|
|
11284
11493
|
'''Properties for configuring a health check.
|
|
11285
11494
|
|
|
11286
11495
|
:param enabled: Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.
|
|
11287
|
-
:param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default:
|
|
11496
|
+
:param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: 12
|
|
11288
11497
|
:param healthy_http_codes: HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
|
|
11289
|
-
:param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs
|
|
11290
|
-
:param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
11498
|
+
:param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: - 5 for ALBs, 3 for NLBs
|
|
11499
|
+
:param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
11291
11500
|
:param path: The ping path destination where Elastic Load Balancing sends health check requests. Default: /
|
|
11292
11501
|
:param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
|
|
11293
|
-
: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
|
|
11294
|
-
: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
|
|
11295
|
-
: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,
|
|
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
|
|
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
|
|
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
|
|
11296
11505
|
|
|
11297
11506
|
:exampleMetadata: infused
|
|
11298
11507
|
|
|
@@ -11369,7 +11578,7 @@ class HealthCheck:
|
|
|
11369
11578
|
You can specify values between 0 and 99. You can specify multiple values
|
|
11370
11579
|
(for example, "0,1") or a range of values (for example, "0-5").
|
|
11371
11580
|
|
|
11372
|
-
:default:
|
|
11581
|
+
:default: 12
|
|
11373
11582
|
'''
|
|
11374
11583
|
result = self._values.get("healthy_grpc_codes")
|
|
11375
11584
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
@@ -11391,7 +11600,7 @@ class HealthCheck:
|
|
|
11391
11600
|
|
|
11392
11601
|
For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.
|
|
11393
11602
|
|
|
11394
|
-
:default: 5 for ALBs, 3 for NLBs
|
|
11603
|
+
:default: - 5 for ALBs, 3 for NLBs
|
|
11395
11604
|
'''
|
|
11396
11605
|
result = self._values.get("healthy_threshold_count")
|
|
11397
11606
|
return typing.cast(typing.Optional[jsii.Number], result)
|
|
@@ -11402,7 +11611,7 @@ class HealthCheck:
|
|
|
11402
11611
|
|
|
11403
11612
|
Must be 5 to 300 seconds
|
|
11404
11613
|
|
|
11405
|
-
:default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
11614
|
+
:default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
11406
11615
|
'''
|
|
11407
11616
|
result = self._values.get("interval")
|
|
11408
11617
|
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
@@ -11432,7 +11641,7 @@ class HealthCheck:
|
|
|
11432
11641
|
The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP.
|
|
11433
11642
|
The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
|
|
11434
11643
|
|
|
11435
|
-
:default: HTTP for ALBs, TCP for NLBs
|
|
11644
|
+
:default: - HTTP for ALBs, TCP for NLBs
|
|
11436
11645
|
'''
|
|
11437
11646
|
result = self._values.get("protocol")
|
|
11438
11647
|
return typing.cast(typing.Optional["Protocol"], result)
|
|
@@ -11443,7 +11652,7 @@ class HealthCheck:
|
|
|
11443
11652
|
|
|
11444
11653
|
Must be 2 to 120 seconds.
|
|
11445
11654
|
|
|
11446
|
-
: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
|
|
11655
|
+
: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
|
|
11447
11656
|
'''
|
|
11448
11657
|
result = self._values.get("timeout")
|
|
11449
11658
|
return typing.cast(typing.Optional[_Duration_4839e8c3], result)
|
|
@@ -11453,7 +11662,7 @@ class HealthCheck:
|
|
|
11453
11662
|
'''The number of consecutive health check failures required before considering a target unhealthy.
|
|
11454
11663
|
|
|
11455
11664
|
For Application Load Balancers, the default is 2. For Network Load
|
|
11456
|
-
Balancers,
|
|
11665
|
+
Balancers, the range is between 2-10 and can be set accordingly.
|
|
11457
11666
|
|
|
11458
11667
|
:default: 2
|
|
11459
11668
|
'''
|
|
@@ -15273,9 +15482,15 @@ class IpAddressType(enum.Enum):
|
|
|
15273
15482
|
# vpc: ec2.Vpc
|
|
15274
15483
|
|
|
15275
15484
|
|
|
15276
|
-
lb = elbv2.
|
|
15485
|
+
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
15277
15486
|
vpc=vpc,
|
|
15278
|
-
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
|
|
15279
15494
|
)
|
|
15280
15495
|
'''
|
|
15281
15496
|
|
|
@@ -16573,18 +16788,18 @@ class NetworkLoadBalancer(
|
|
|
16573
16788
|
|
|
16574
16789
|
Example::
|
|
16575
16790
|
|
|
16576
|
-
|
|
16791
|
+
# vpc: ec2.Vpc
|
|
16577
16792
|
|
|
16578
16793
|
|
|
16579
|
-
|
|
16580
|
-
|
|
16581
|
-
|
|
16582
|
-
|
|
16583
|
-
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
|
|
16584
16798
|
)
|
|
16585
16799
|
|
|
16586
|
-
|
|
16587
|
-
|
|
16800
|
+
listener = lb.add_listener("Listener",
|
|
16801
|
+
port=1229,
|
|
16802
|
+
protocol=elbv2.Protocol.UDP
|
|
16588
16803
|
)
|
|
16589
16804
|
'''
|
|
16590
16805
|
|
|
@@ -16594,6 +16809,7 @@ class NetworkLoadBalancer(
|
|
|
16594
16809
|
id: builtins.str,
|
|
16595
16810
|
*,
|
|
16596
16811
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
16812
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
16597
16813
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
16598
16814
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
16599
16815
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -16610,6 +16826,7 @@ class NetworkLoadBalancer(
|
|
|
16610
16826
|
:param scope: -
|
|
16611
16827
|
:param id: -
|
|
16612
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
|
|
16613
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
|
|
16614
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
|
|
16615
16832
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
@@ -16628,6 +16845,7 @@ class NetworkLoadBalancer(
|
|
|
16628
16845
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16629
16846
|
props = NetworkLoadBalancerProps(
|
|
16630
16847
|
client_routing_policy=client_routing_policy,
|
|
16848
|
+
enable_prefix_for_ipv6_source_nat=enable_prefix_for_ipv6_source_nat,
|
|
16631
16849
|
enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
|
|
16632
16850
|
ip_address_type=ip_address_type,
|
|
16633
16851
|
security_groups=security_groups,
|
|
@@ -17380,6 +17598,7 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
|
|
|
17380
17598
|
"load_balancer_name": "loadBalancerName",
|
|
17381
17599
|
"vpc_subnets": "vpcSubnets",
|
|
17382
17600
|
"client_routing_policy": "clientRoutingPolicy",
|
|
17601
|
+
"enable_prefix_for_ipv6_source_nat": "enablePrefixForIpv6SourceNat",
|
|
17383
17602
|
"enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
|
|
17384
17603
|
"ip_address_type": "ipAddressType",
|
|
17385
17604
|
"security_groups": "securityGroups",
|
|
@@ -17398,6 +17617,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17398
17617
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
17399
17618
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17400
17619
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
17620
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
17401
17621
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
17402
17622
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
17403
17623
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -17413,6 +17633,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17413
17633
|
:param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
|
|
17414
17634
|
:param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
|
|
17415
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
|
|
17416
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
|
|
17417
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
|
|
17418
17639
|
:param security_groups: Security groups to associate with this load balancer. Default: - No security groups associated with the load balancer.
|
|
@@ -17422,18 +17643,18 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17422
17643
|
|
|
17423
17644
|
Example::
|
|
17424
17645
|
|
|
17425
|
-
|
|
17646
|
+
# vpc: ec2.Vpc
|
|
17426
17647
|
|
|
17427
17648
|
|
|
17428
|
-
|
|
17429
|
-
|
|
17430
|
-
|
|
17431
|
-
|
|
17432
|
-
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
|
|
17433
17653
|
)
|
|
17434
17654
|
|
|
17435
|
-
|
|
17436
|
-
|
|
17655
|
+
listener = lb.add_listener("Listener",
|
|
17656
|
+
port=1229,
|
|
17657
|
+
protocol=elbv2.Protocol.UDP
|
|
17437
17658
|
)
|
|
17438
17659
|
'''
|
|
17439
17660
|
if isinstance(vpc_subnets, dict):
|
|
@@ -17448,6 +17669,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17448
17669
|
check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
|
|
17449
17670
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
17450
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"])
|
|
17451
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"])
|
|
17452
17674
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
17453
17675
|
check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
|
|
@@ -17469,6 +17691,8 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17469
17691
|
self._values["vpc_subnets"] = vpc_subnets
|
|
17470
17692
|
if client_routing_policy is not None:
|
|
17471
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
|
|
17472
17696
|
if enforce_security_group_inbound_rules_on_private_link_traffic is not None:
|
|
17473
17697
|
self._values["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic
|
|
17474
17698
|
if ip_address_type is not None:
|
|
@@ -17555,6 +17779,17 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17555
17779
|
result = self._values.get("client_routing_policy")
|
|
17556
17780
|
return typing.cast(typing.Optional[ClientRoutingPolicy], result)
|
|
17557
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
|
+
|
|
17558
17793
|
@builtins.property
|
|
17559
17794
|
def enforce_security_group_inbound_rules_on_private_link_traffic(
|
|
17560
17795
|
self,
|
|
@@ -17617,6 +17852,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17617
17852
|
"cross_zone_enabled": "crossZoneEnabled",
|
|
17618
17853
|
"deregistration_delay": "deregistrationDelay",
|
|
17619
17854
|
"health_check": "healthCheck",
|
|
17855
|
+
"ip_address_type": "ipAddressType",
|
|
17620
17856
|
"target_group_name": "targetGroupName",
|
|
17621
17857
|
"target_type": "targetType",
|
|
17622
17858
|
"vpc": "vpc",
|
|
@@ -17635,6 +17871,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17635
17871
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
17636
17872
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
17637
17873
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17874
|
+
ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
|
|
17638
17875
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
17639
17876
|
target_type: typing.Optional["TargetType"] = None,
|
|
17640
17877
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -17650,6 +17887,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17650
17887
|
:param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
|
|
17651
17888
|
:param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
|
|
17652
17889
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
17890
|
+
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
17653
17891
|
:param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
|
|
17654
17892
|
:param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
|
|
17655
17893
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -17660,45 +17898,39 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17660
17898
|
:param proxy_protocol_v2: Indicates whether Proxy Protocol version 2 is enabled. Default: false
|
|
17661
17899
|
:param targets: The targets to add to this target group. Can be ``Instance``, ``IPAddress``, or any self-registering load balancing target. If you use either ``Instance`` or ``IPAddress`` as targets, all target must be of the same type. Default: - No targets.
|
|
17662
17900
|
|
|
17663
|
-
:exampleMetadata:
|
|
17901
|
+
:exampleMetadata: infused
|
|
17664
17902
|
|
|
17665
17903
|
Example::
|
|
17666
17904
|
|
|
17667
|
-
# The code below shows an example of how to instantiate this type.
|
|
17668
|
-
# The values are placeholders you should change.
|
|
17669
|
-
import aws_cdk as cdk
|
|
17670
|
-
from aws_cdk import aws_ec2 as ec2
|
|
17671
|
-
from aws_cdk import aws_elasticloadbalancingv2 as elbv2
|
|
17672
|
-
|
|
17673
|
-
# network_load_balancer_target: elbv2.INetworkLoadBalancerTarget
|
|
17674
17905
|
# vpc: ec2.Vpc
|
|
17675
17906
|
|
|
17676
|
-
network_target_group_props = elbv2.NetworkTargetGroupProps(
|
|
17677
|
-
port=123,
|
|
17678
17907
|
|
|
17679
|
-
|
|
17680
|
-
|
|
17681
|
-
|
|
17682
|
-
deregistration_delay=cdk.Duration.minutes(30),
|
|
17683
|
-
health_check=elbv2.HealthCheck(
|
|
17684
|
-
enabled=False,
|
|
17685
|
-
healthy_grpc_codes="healthyGrpcCodes",
|
|
17686
|
-
healthy_http_codes="healthyHttpCodes",
|
|
17687
|
-
healthy_threshold_count=123,
|
|
17688
|
-
interval=cdk.Duration.minutes(30),
|
|
17689
|
-
path="path",
|
|
17690
|
-
port="port",
|
|
17691
|
-
protocol=elbv2.Protocol.HTTP,
|
|
17692
|
-
timeout=cdk.Duration.minutes(30),
|
|
17693
|
-
unhealthy_threshold_count=123
|
|
17694
|
-
),
|
|
17695
|
-
preserve_client_ip=False,
|
|
17696
|
-
protocol=elbv2.Protocol.HTTP,
|
|
17697
|
-
proxy_protocol_v2=False,
|
|
17698
|
-
target_group_name="targetGroupName",
|
|
17699
|
-
targets=[network_load_balancer_target],
|
|
17908
|
+
ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
|
|
17909
|
+
vpc=vpc,
|
|
17910
|
+
port=80,
|
|
17700
17911
|
target_type=elbv2.TargetType.INSTANCE,
|
|
17701
|
-
|
|
17912
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
17913
|
+
)
|
|
17914
|
+
|
|
17915
|
+
ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
|
|
17916
|
+
vpc=vpc,
|
|
17917
|
+
port=80,
|
|
17918
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
17919
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
17920
|
+
)
|
|
17921
|
+
|
|
17922
|
+
ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
|
|
17923
|
+
vpc=vpc,
|
|
17924
|
+
port=80,
|
|
17925
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
17926
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
17927
|
+
)
|
|
17928
|
+
|
|
17929
|
+
ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
|
|
17930
|
+
vpc=vpc,
|
|
17931
|
+
port=80,
|
|
17932
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
17933
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
17702
17934
|
)
|
|
17703
17935
|
'''
|
|
17704
17936
|
if isinstance(health_check, dict):
|
|
@@ -17708,6 +17940,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17708
17940
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
17709
17941
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
17710
17942
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
17943
|
+
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
17711
17944
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
17712
17945
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
17713
17946
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -17726,6 +17959,8 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17726
17959
|
self._values["deregistration_delay"] = deregistration_delay
|
|
17727
17960
|
if health_check is not None:
|
|
17728
17961
|
self._values["health_check"] = health_check
|
|
17962
|
+
if ip_address_type is not None:
|
|
17963
|
+
self._values["ip_address_type"] = ip_address_type
|
|
17729
17964
|
if target_group_name is not None:
|
|
17730
17965
|
self._values["target_group_name"] = target_group_name
|
|
17731
17966
|
if target_type is not None:
|
|
@@ -17776,6 +18011,15 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
17776
18011
|
result = self._values.get("health_check")
|
|
17777
18012
|
return typing.cast(typing.Optional[HealthCheck], result)
|
|
17778
18013
|
|
|
18014
|
+
@builtins.property
|
|
18015
|
+
def ip_address_type(self) -> typing.Optional["TargetGroupIpAddressType"]:
|
|
18016
|
+
'''The type of IP addresses of the targets registered with the target group.
|
|
18017
|
+
|
|
18018
|
+
:default: undefined - ELB defaults to IPv4
|
|
18019
|
+
'''
|
|
18020
|
+
result = self._values.get("ip_address_type")
|
|
18021
|
+
return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
|
|
18022
|
+
|
|
17779
18023
|
@builtins.property
|
|
17780
18024
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
17781
18025
|
'''The name of the target group.
|
|
@@ -17966,85 +18210,18 @@ class Protocol(enum.Enum):
|
|
|
17966
18210
|
|
|
17967
18211
|
Example::
|
|
17968
18212
|
|
|
17969
|
-
|
|
17970
|
-
from aws_cdk.aws_ec2 import InstanceType
|
|
17971
|
-
from aws_cdk.aws_ecs import Cluster, ContainerImage
|
|
17972
|
-
from aws_cdk.aws_elasticloadbalancingv2 import ApplicationProtocol, Protocol, SslPolicy
|
|
17973
|
-
from aws_cdk.aws_route53 import PublicHostedZone
|
|
18213
|
+
# vpc: ec2.Vpc
|
|
17974
18214
|
|
|
17975
|
-
vpc = ec2.Vpc(self, "Vpc", max_azs=1)
|
|
17976
18215
|
|
|
17977
|
-
|
|
17978
|
-
|
|
17979
|
-
|
|
17980
|
-
|
|
17981
|
-
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
|
|
17982
|
-
),
|
|
17983
|
-
enable_execute_command=True,
|
|
17984
|
-
load_balancers=[ecsPatterns.ApplicationLoadBalancerProps(
|
|
17985
|
-
name="lb",
|
|
17986
|
-
idle_timeout=Duration.seconds(400),
|
|
17987
|
-
domain_name="api.example.com",
|
|
17988
|
-
domain_zone=PublicHostedZone(self, "HostedZone", zone_name="example.com"),
|
|
17989
|
-
listeners=[ecsPatterns.ApplicationListenerProps(
|
|
17990
|
-
name="listener",
|
|
17991
|
-
protocol=ApplicationProtocol.HTTPS,
|
|
17992
|
-
certificate=Certificate.from_certificate_arn(self, "Cert", "helloworld"),
|
|
17993
|
-
ssl_policy=SslPolicy.TLS12_EXT
|
|
17994
|
-
)
|
|
17995
|
-
]
|
|
17996
|
-
), ecsPatterns.ApplicationLoadBalancerProps(
|
|
17997
|
-
name="lb2",
|
|
17998
|
-
idle_timeout=Duration.seconds(120),
|
|
17999
|
-
domain_name="frontend.com",
|
|
18000
|
-
domain_zone=PublicHostedZone(self, "HostedZone", zone_name="frontend.com"),
|
|
18001
|
-
listeners=[ecsPatterns.ApplicationListenerProps(
|
|
18002
|
-
name="listener2",
|
|
18003
|
-
protocol=ApplicationProtocol.HTTPS,
|
|
18004
|
-
certificate=Certificate.from_certificate_arn(self, "Cert2", "helloworld"),
|
|
18005
|
-
ssl_policy=SslPolicy.TLS12_EXT
|
|
18006
|
-
)
|
|
18007
|
-
]
|
|
18008
|
-
)
|
|
18009
|
-
],
|
|
18010
|
-
target_groups=[ecsPatterns.ApplicationTargetProps(
|
|
18011
|
-
container_port=80,
|
|
18012
|
-
listener="listener"
|
|
18013
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18014
|
-
container_port=90,
|
|
18015
|
-
path_pattern="a/b/c",
|
|
18016
|
-
priority=10,
|
|
18017
|
-
listener="listener"
|
|
18018
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18019
|
-
container_port=443,
|
|
18020
|
-
listener="listener2"
|
|
18021
|
-
), ecsPatterns.ApplicationTargetProps(
|
|
18022
|
-
container_port=80,
|
|
18023
|
-
path_pattern="a/b/c",
|
|
18024
|
-
priority=10,
|
|
18025
|
-
listener="listener2"
|
|
18026
|
-
)
|
|
18027
|
-
]
|
|
18028
|
-
)
|
|
18029
|
-
|
|
18030
|
-
load_balanced_fargate_service.target_groups[0].configure_health_check(
|
|
18031
|
-
port="8050",
|
|
18032
|
-
protocol=Protocol.HTTP,
|
|
18033
|
-
healthy_threshold_count=2,
|
|
18034
|
-
unhealthy_threshold_count=2,
|
|
18035
|
-
timeout=Duration.seconds(10),
|
|
18036
|
-
interval=Duration.seconds(30),
|
|
18037
|
-
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
|
|
18038
18220
|
)
|
|
18039
18221
|
|
|
18040
|
-
|
|
18041
|
-
port=
|
|
18042
|
-
protocol=Protocol.
|
|
18043
|
-
healthy_threshold_count=2,
|
|
18044
|
-
unhealthy_threshold_count=2,
|
|
18045
|
-
timeout=Duration.seconds(10),
|
|
18046
|
-
interval=Duration.seconds(30),
|
|
18047
|
-
healthy_http_codes="200"
|
|
18222
|
+
listener = lb.add_listener("Listener",
|
|
18223
|
+
port=1229,
|
|
18224
|
+
protocol=elbv2.Protocol.UDP
|
|
18048
18225
|
)
|
|
18049
18226
|
'''
|
|
18050
18227
|
|
|
@@ -18508,9 +18685,9 @@ class SslPolicy(enum.Enum):
|
|
|
18508
18685
|
'''
|
|
18509
18686
|
|
|
18510
18687
|
RECOMMENDED_TLS = "RECOMMENDED_TLS"
|
|
18511
|
-
'''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.
|
|
18512
18689
|
|
|
18513
|
-
This
|
|
18690
|
+
This policy includes TLS 1.3, and is backwards compatible with TLS 1.2
|
|
18514
18691
|
'''
|
|
18515
18692
|
RECOMMENDED = "RECOMMENDED"
|
|
18516
18693
|
'''The recommended policy for http listeners.
|
|
@@ -18703,15 +18880,15 @@ class TargetGroupBase(
|
|
|
18703
18880
|
'''Set/replace the target group's health check.
|
|
18704
18881
|
|
|
18705
18882
|
:param enabled: Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.
|
|
18706
|
-
:param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default:
|
|
18883
|
+
:param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: 12
|
|
18707
18884
|
:param healthy_http_codes: HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
|
|
18708
|
-
:param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs
|
|
18709
|
-
:param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
18885
|
+
:param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: - 5 for ALBs, 3 for NLBs
|
|
18886
|
+
:param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
|
|
18710
18887
|
:param path: The ping path destination where Elastic Load Balancing sends health check requests. Default: /
|
|
18711
18888
|
:param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
|
|
18712
|
-
: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
|
|
18713
|
-
: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
|
|
18714
|
-
: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,
|
|
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
|
|
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
|
|
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
|
|
18715
18892
|
'''
|
|
18716
18893
|
health_check = HealthCheck(
|
|
18717
18894
|
enabled=enabled,
|
|
@@ -18862,6 +19039,52 @@ class _TargetGroupBaseProxy(TargetGroupBase):
|
|
|
18862
19039
|
typing.cast(typing.Any, TargetGroupBase).__jsii_proxy_class__ = lambda : _TargetGroupBaseProxy
|
|
18863
19040
|
|
|
18864
19041
|
|
|
19042
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupIpAddressType")
|
|
19043
|
+
class TargetGroupIpAddressType(enum.Enum):
|
|
19044
|
+
'''The IP address type of targets registered with a target group.
|
|
19045
|
+
|
|
19046
|
+
:exampleMetadata: infused
|
|
19047
|
+
|
|
19048
|
+
Example::
|
|
19049
|
+
|
|
19050
|
+
# vpc: ec2.Vpc
|
|
19051
|
+
|
|
19052
|
+
|
|
19053
|
+
ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
|
|
19054
|
+
vpc=vpc,
|
|
19055
|
+
port=80,
|
|
19056
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
19057
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
19058
|
+
)
|
|
19059
|
+
|
|
19060
|
+
ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
|
|
19061
|
+
vpc=vpc,
|
|
19062
|
+
port=80,
|
|
19063
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
19064
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
19065
|
+
)
|
|
19066
|
+
|
|
19067
|
+
ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
|
|
19068
|
+
vpc=vpc,
|
|
19069
|
+
port=80,
|
|
19070
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
19071
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
|
|
19072
|
+
)
|
|
19073
|
+
|
|
19074
|
+
ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
|
|
19075
|
+
vpc=vpc,
|
|
19076
|
+
port=80,
|
|
19077
|
+
target_type=elbv2.TargetType.INSTANCE,
|
|
19078
|
+
ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
|
|
19079
|
+
)
|
|
19080
|
+
'''
|
|
19081
|
+
|
|
19082
|
+
IPV4 = "IPV4"
|
|
19083
|
+
'''IPv4 addresses.'''
|
|
19084
|
+
IPV6 = "IPV6"
|
|
19085
|
+
'''IPv6 addresses.'''
|
|
19086
|
+
|
|
19087
|
+
|
|
18865
19088
|
@jsii.enum(
|
|
18866
19089
|
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupLoadBalancingAlgorithmType"
|
|
18867
19090
|
)
|
|
@@ -18901,11 +19124,15 @@ class TargetType(enum.Enum):
|
|
|
18901
19124
|
# vpc: ec2.Vpc
|
|
18902
19125
|
|
|
18903
19126
|
|
|
18904
|
-
# Target group with slow start mode enabled
|
|
18905
19127
|
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
18906
|
-
target_type=elbv2.TargetType.
|
|
18907
|
-
|
|
18908
|
-
|
|
19128
|
+
target_type=elbv2.TargetType.IP,
|
|
19129
|
+
port=50051,
|
|
19130
|
+
protocol=elbv2.ApplicationProtocol.HTTP,
|
|
19131
|
+
protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
|
|
19132
|
+
health_check=elbv2.HealthCheck(
|
|
19133
|
+
enabled=True,
|
|
19134
|
+
healthy_grpc_codes="0-99"
|
|
19135
|
+
),
|
|
18909
19136
|
vpc=vpc
|
|
18910
19137
|
)
|
|
18911
19138
|
'''
|
|
@@ -20889,6 +21116,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
20889
21116
|
"cross_zone_enabled": "crossZoneEnabled",
|
|
20890
21117
|
"deregistration_delay": "deregistrationDelay",
|
|
20891
21118
|
"health_check": "healthCheck",
|
|
21119
|
+
"ip_address_type": "ipAddressType",
|
|
20892
21120
|
"target_group_name": "targetGroupName",
|
|
20893
21121
|
"target_type": "targetType",
|
|
20894
21122
|
"vpc": "vpc",
|
|
@@ -20910,6 +21138,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
20910
21138
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
20911
21139
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
20912
21140
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21141
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
20913
21142
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
20914
21143
|
target_type: typing.Optional[TargetType] = None,
|
|
20915
21144
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -20928,6 +21157,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
20928
21157
|
:param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
|
|
20929
21158
|
:param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
|
|
20930
21159
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
21160
|
+
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
20931
21161
|
:param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
|
|
20932
21162
|
:param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
|
|
20933
21163
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -20948,11 +21178,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
20948
21178
|
# vpc: ec2.Vpc
|
|
20949
21179
|
|
|
20950
21180
|
|
|
20951
|
-
# Target group with slow start mode enabled
|
|
20952
21181
|
tg = elbv2.ApplicationTargetGroup(self, "TG",
|
|
20953
|
-
target_type=elbv2.TargetType.
|
|
20954
|
-
|
|
20955
|
-
|
|
21182
|
+
target_type=elbv2.TargetType.IP,
|
|
21183
|
+
port=50051,
|
|
21184
|
+
protocol=elbv2.ApplicationProtocol.HTTP,
|
|
21185
|
+
protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
|
|
21186
|
+
health_check=elbv2.HealthCheck(
|
|
21187
|
+
enabled=True,
|
|
21188
|
+
healthy_grpc_codes="0-99"
|
|
21189
|
+
),
|
|
20956
21190
|
vpc=vpc
|
|
20957
21191
|
)
|
|
20958
21192
|
'''
|
|
@@ -20963,6 +21197,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
20963
21197
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
20964
21198
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
20965
21199
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
21200
|
+
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
20966
21201
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
20967
21202
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
20968
21203
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -20982,6 +21217,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
20982
21217
|
self._values["deregistration_delay"] = deregistration_delay
|
|
20983
21218
|
if health_check is not None:
|
|
20984
21219
|
self._values["health_check"] = health_check
|
|
21220
|
+
if ip_address_type is not None:
|
|
21221
|
+
self._values["ip_address_type"] = ip_address_type
|
|
20985
21222
|
if target_group_name is not None:
|
|
20986
21223
|
self._values["target_group_name"] = target_group_name
|
|
20987
21224
|
if target_type is not None:
|
|
@@ -21040,6 +21277,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
21040
21277
|
result = self._values.get("health_check")
|
|
21041
21278
|
return typing.cast(typing.Optional[HealthCheck], result)
|
|
21042
21279
|
|
|
21280
|
+
@builtins.property
|
|
21281
|
+
def ip_address_type(self) -> typing.Optional[TargetGroupIpAddressType]:
|
|
21282
|
+
'''The type of IP addresses of the targets registered with the target group.
|
|
21283
|
+
|
|
21284
|
+
:default: undefined - ELB defaults to IPv4
|
|
21285
|
+
'''
|
|
21286
|
+
result = self._values.get("ip_address_type")
|
|
21287
|
+
return typing.cast(typing.Optional[TargetGroupIpAddressType], result)
|
|
21288
|
+
|
|
21043
21289
|
@builtins.property
|
|
21044
21290
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
21045
21291
|
'''The name of the target group.
|
|
@@ -21975,30 +22221,18 @@ class NetworkListener(
|
|
|
21975
22221
|
|
|
21976
22222
|
Example::
|
|
21977
22223
|
|
|
21978
|
-
|
|
21979
|
-
# asg: autoscaling.AutoScalingGroup
|
|
21980
|
-
# sg1: ec2.ISecurityGroup
|
|
21981
|
-
# sg2: ec2.ISecurityGroup
|
|
21982
|
-
|
|
22224
|
+
from aws_cdk.aws_apigatewayv2_integrations import HttpNlbIntegration
|
|
21983
22225
|
|
|
21984
|
-
# Create the load balancer in a VPC. 'internetFacing' is 'false'
|
|
21985
|
-
# by default, which creates an internal load balancer.
|
|
21986
|
-
lb = elbv2.NetworkLoadBalancer(self, "LB",
|
|
21987
|
-
vpc=vpc,
|
|
21988
|
-
internet_facing=True,
|
|
21989
|
-
security_groups=[sg1]
|
|
21990
|
-
)
|
|
21991
|
-
lb.add_security_group(sg2)
|
|
21992
22226
|
|
|
21993
|
-
|
|
21994
|
-
|
|
21995
|
-
|
|
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
|
|
21996
22232
|
)
|
|
21997
22233
|
|
|
21998
|
-
|
|
21999
|
-
|
|
22000
|
-
port=443,
|
|
22001
|
-
targets=[asg]
|
|
22234
|
+
http_endpoint = apigwv2.HttpApi(self, "HttpProxyPrivateApi",
|
|
22235
|
+
default_integration=HttpNlbIntegration("DefaultIntegration", listener)
|
|
22002
22236
|
)
|
|
22003
22237
|
'''
|
|
22004
22238
|
|
|
@@ -22271,6 +22505,7 @@ class NetworkTargetGroup(
|
|
|
22271
22505
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
22272
22506
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
22273
22507
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
22508
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
22274
22509
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
22275
22510
|
target_type: typing.Optional[TargetType] = None,
|
|
22276
22511
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -22287,6 +22522,7 @@ class NetworkTargetGroup(
|
|
|
22287
22522
|
:param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
|
|
22288
22523
|
:param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
|
|
22289
22524
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
22525
|
+
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
22290
22526
|
:param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
|
|
22291
22527
|
:param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
|
|
22292
22528
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -22305,6 +22541,7 @@ class NetworkTargetGroup(
|
|
|
22305
22541
|
cross_zone_enabled=cross_zone_enabled,
|
|
22306
22542
|
deregistration_delay=deregistration_delay,
|
|
22307
22543
|
health_check=health_check,
|
|
22544
|
+
ip_address_type=ip_address_type,
|
|
22308
22545
|
target_group_name=target_group_name,
|
|
22309
22546
|
target_type=target_type,
|
|
22310
22547
|
vpc=vpc,
|
|
@@ -24230,6 +24467,7 @@ class ApplicationTargetGroup(
|
|
|
24230
24467
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
24231
24468
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
24232
24469
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24470
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
24233
24471
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
24234
24472
|
target_type: typing.Optional[TargetType] = None,
|
|
24235
24473
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -24249,6 +24487,7 @@ class ApplicationTargetGroup(
|
|
|
24249
24487
|
:param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
|
|
24250
24488
|
:param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
|
|
24251
24489
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
24490
|
+
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
24252
24491
|
:param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
|
|
24253
24492
|
:param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
|
|
24254
24493
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -24270,6 +24509,7 @@ class ApplicationTargetGroup(
|
|
|
24270
24509
|
cross_zone_enabled=cross_zone_enabled,
|
|
24271
24510
|
deregistration_delay=deregistration_delay,
|
|
24272
24511
|
health_check=health_check,
|
|
24512
|
+
ip_address_type=ip_address_type,
|
|
24273
24513
|
target_group_name=target_group_name,
|
|
24274
24514
|
target_type=target_type,
|
|
24275
24515
|
vpc=vpc,
|
|
@@ -24942,6 +25182,7 @@ __all__ = [
|
|
|
24942
25182
|
"SslPolicy",
|
|
24943
25183
|
"TargetGroupAttributes",
|
|
24944
25184
|
"TargetGroupBase",
|
|
25185
|
+
"TargetGroupIpAddressType",
|
|
24945
25186
|
"TargetGroupLoadBalancingAlgorithmType",
|
|
24946
25187
|
"TargetType",
|
|
24947
25188
|
"TrustStore",
|
|
@@ -25180,6 +25421,7 @@ def _typecheckingstub__b5e7f5d87f70cb030d7ac44f4637a5d73814a6c8b1c1bff9adf19ede8
|
|
|
25180
25421
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
25181
25422
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
25182
25423
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
25424
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
25183
25425
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
25184
25426
|
target_type: typing.Optional[TargetType] = None,
|
|
25185
25427
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -25350,6 +25592,7 @@ def _typecheckingstub__0e09ea6213c5fb2125f07b2f54d7fe6ee24307939dcc06580928b2ef0
|
|
|
25350
25592
|
|
|
25351
25593
|
def _typecheckingstub__07605e87f763c352d3e6705d69aa07723ad3c005493c1fdef02b175f49d53ee0(
|
|
25352
25594
|
*,
|
|
25595
|
+
advertise_trust_store_ca_names: typing.Optional[builtins.str] = None,
|
|
25353
25596
|
ignore_client_certificate_expiry: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
25354
25597
|
mode: typing.Optional[builtins.str] = None,
|
|
25355
25598
|
trust_store_arn: typing.Optional[builtins.str] = None,
|
|
@@ -25671,6 +25914,7 @@ def _typecheckingstub__907e1e3e88136a6a7bdcdac293563447ed893c77b9f7b1e7154fb1749
|
|
|
25671
25914
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
|
|
25672
25915
|
ip_address_type: typing.Optional[builtins.str] = None,
|
|
25673
25916
|
load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
25917
|
+
minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
25674
25918
|
name: typing.Optional[builtins.str] = None,
|
|
25675
25919
|
scheme: typing.Optional[builtins.str] = None,
|
|
25676
25920
|
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -25718,6 +25962,12 @@ def _typecheckingstub__8b18943454864026c64dd9c2bc7fdaf60ac5114bf771f7304a82e9bdf
|
|
|
25718
25962
|
"""Type checking stubs"""
|
|
25719
25963
|
pass
|
|
25720
25964
|
|
|
25965
|
+
def _typecheckingstub__102164e78a5cf61e67908e476a27971c19e5604c38d90ddca6b4b346581d0209(
|
|
25966
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]],
|
|
25967
|
+
) -> None:
|
|
25968
|
+
"""Type checking stubs"""
|
|
25969
|
+
pass
|
|
25970
|
+
|
|
25721
25971
|
def _typecheckingstub__153ca4a32dcbf43c1076bdc45b59a5463ab49120f83591bcbf13f84ce3fffa0e(
|
|
25722
25972
|
value: typing.Optional[builtins.str],
|
|
25723
25973
|
) -> None:
|
|
@@ -25768,6 +26018,13 @@ def _typecheckingstub__981f45ac63ed8e62237b89c4cadf7d8f1c042e4534c384c148e58bad2
|
|
|
25768
26018
|
"""Type checking stubs"""
|
|
25769
26019
|
pass
|
|
25770
26020
|
|
|
26021
|
+
def _typecheckingstub__bd0d2d4a891c02fabab09ae876b5f738a440bf3402f1db5dc28e3cdd47b733bc(
|
|
26022
|
+
*,
|
|
26023
|
+
capacity_units: jsii.Number,
|
|
26024
|
+
) -> None:
|
|
26025
|
+
"""Type checking stubs"""
|
|
26026
|
+
pass
|
|
26027
|
+
|
|
25771
26028
|
def _typecheckingstub__5362b7e1b57cc75205d80d2c4a4798301f16a110c6add8b836265fc95f89ec11(
|
|
25772
26029
|
*,
|
|
25773
26030
|
subnet_id: builtins.str,
|
|
@@ -25785,6 +26042,7 @@ def _typecheckingstub__6b1eb30cea756dc45f625ec82ab8cba6ea31d24595a925a4aabceb7e6
|
|
|
25785
26042
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
|
|
25786
26043
|
ip_address_type: typing.Optional[builtins.str] = None,
|
|
25787
26044
|
load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
26045
|
+
minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
25788
26046
|
name: typing.Optional[builtins.str] = None,
|
|
25789
26047
|
scheme: typing.Optional[builtins.str] = None,
|
|
25790
26048
|
security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -26481,6 +26739,7 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
|
|
|
26481
26739
|
id: builtins.str,
|
|
26482
26740
|
*,
|
|
26483
26741
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
26742
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
26484
26743
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
26485
26744
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
26486
26745
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -26584,6 +26843,7 @@ def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc3
|
|
|
26584
26843
|
load_balancer_name: typing.Optional[builtins.str] = None,
|
|
26585
26844
|
vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
26586
26845
|
client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
|
|
26846
|
+
enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
|
|
26587
26847
|
enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.bool] = None,
|
|
26588
26848
|
ip_address_type: typing.Optional[IpAddressType] = None,
|
|
26589
26849
|
security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
|
|
@@ -26597,6 +26857,7 @@ def _typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92
|
|
|
26597
26857
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
26598
26858
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
26599
26859
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
26860
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
26600
26861
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
26601
26862
|
target_type: typing.Optional[TargetType] = None,
|
|
26602
26863
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -26854,6 +27115,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
|
|
|
26854
27115
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
26855
27116
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
26856
27117
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
27118
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
26857
27119
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
26858
27120
|
target_type: typing.Optional[TargetType] = None,
|
|
26859
27121
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -27081,6 +27343,7 @@ def _typecheckingstub__eebfbf2a20edd0baf4d455f02dd34d748c5eccfa9a5268e5e2ebec245
|
|
|
27081
27343
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
27082
27344
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
27083
27345
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
27346
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
27084
27347
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
27085
27348
|
target_type: typing.Optional[TargetType] = None,
|
|
27086
27349
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -27354,6 +27617,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
|
|
|
27354
27617
|
cross_zone_enabled: typing.Optional[builtins.bool] = None,
|
|
27355
27618
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
27356
27619
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
27620
|
+
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
27357
27621
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
27358
27622
|
target_type: typing.Optional[TargetType] = None,
|
|
27359
27623
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|