aws-cdk-lib 2.215.0__py3-none-any.whl → 2.216.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 +30 -30
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.215.0.jsii.tgz → aws-cdk-lib@2.216.0.jsii.tgz} +0 -0
- aws_cdk/aws_apigatewayv2/__init__.py +30 -19
- aws_cdk/aws_bedrock/__init__.py +30 -0
- aws_cdk/aws_cloudfront/__init__.py +79 -2
- aws_cdk/aws_cloudfront_origins/__init__.py +422 -47
- aws_cdk/aws_ecr/__init__.py +4 -0
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +227 -0
- aws_cdk/aws_events/__init__.py +187 -0
- aws_cdk/aws_kinesisanalytics/__init__.py +315 -125
- aws_cdk/aws_lambda/__init__.py +16 -8
- aws_cdk/aws_route53/__init__.py +5926 -4376
- aws_cdk/aws_stepfunctions_tasks/__init__.py +669 -81
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/RECORD +20 -20
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.216.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ecr/__init__.py
CHANGED
|
@@ -3856,6 +3856,10 @@ class TagMutability(enum.Enum):
|
|
|
3856
3856
|
'''allow image tags to be overwritten.'''
|
|
3857
3857
|
IMMUTABLE = "IMMUTABLE"
|
|
3858
3858
|
'''all image tags within the repository will be immutable which will prevent them from being overwritten.'''
|
|
3859
|
+
IMMUTABLE_WITH_EXCLUSION = "IMMUTABLE_WITH_EXCLUSION"
|
|
3860
|
+
'''all image tags within the repository will be immutable, while allowing you to define some filters for tags that can be changed.'''
|
|
3861
|
+
MUTABLE_WITH_EXCLUSION = "MUTABLE_WITH_EXCLUSION"
|
|
3862
|
+
'''allow image tags to be overwritten while allowing you to define some filters for tags that should remain unchanged.'''
|
|
3859
3863
|
|
|
3860
3864
|
|
|
3861
3865
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ecr.TagStatus")
|
|
@@ -771,6 +771,28 @@ ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGro
|
|
|
771
771
|
)
|
|
772
772
|
```
|
|
773
773
|
|
|
774
|
+
### Target Group level health setting for Application Load Balancers and Network Load Balancers
|
|
775
|
+
|
|
776
|
+
You can set target group health setting at target group level by setting `targetGroupHealth` property.
|
|
777
|
+
|
|
778
|
+
For more information, see [How Elastic Load Balancing works](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes).
|
|
779
|
+
|
|
780
|
+
```python
|
|
781
|
+
# vpc: ec2.Vpc
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
target_group = elbv2.ApplicationTargetGroup(self, "TargetGroup",
|
|
785
|
+
vpc=vpc,
|
|
786
|
+
port=80,
|
|
787
|
+
target_group_health=elbv2.TargetGroupHealth(
|
|
788
|
+
dns_minimum_healthy_target_count=3,
|
|
789
|
+
dns_minimum_healthy_target_percentage=70,
|
|
790
|
+
routing_minimum_healthy_target_count=2,
|
|
791
|
+
routing_minimum_healthy_target_percentage=50
|
|
792
|
+
)
|
|
793
|
+
)
|
|
794
|
+
```
|
|
795
|
+
|
|
774
796
|
## Using Lambda Targets
|
|
775
797
|
|
|
776
798
|
To use a Lambda Function as a target, use the integration class in the
|
|
@@ -3564,6 +3586,7 @@ class BaseNetworkListenerProps:
|
|
|
3564
3586
|
"deregistration_delay": "deregistrationDelay",
|
|
3565
3587
|
"health_check": "healthCheck",
|
|
3566
3588
|
"ip_address_type": "ipAddressType",
|
|
3589
|
+
"target_group_health": "targetGroupHealth",
|
|
3567
3590
|
"target_group_name": "targetGroupName",
|
|
3568
3591
|
"target_type": "targetType",
|
|
3569
3592
|
"vpc": "vpc",
|
|
@@ -3577,6 +3600,7 @@ class BaseTargetGroupProps:
|
|
|
3577
3600
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
3578
3601
|
health_check: typing.Optional[typing.Union["HealthCheck", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3579
3602
|
ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
|
|
3603
|
+
target_group_health: typing.Optional[typing.Union["TargetGroupHealth", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3580
3604
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
3581
3605
|
target_type: typing.Optional["TargetType"] = None,
|
|
3582
3606
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -3587,6 +3611,7 @@ class BaseTargetGroupProps:
|
|
|
3587
3611
|
: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
|
|
3588
3612
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
3589
3613
|
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
3614
|
+
:param target_group_health: Configuring target group health. Default: - use default configuration
|
|
3590
3615
|
: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.
|
|
3591
3616
|
: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.
|
|
3592
3617
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -3619,6 +3644,12 @@ class BaseTargetGroupProps:
|
|
|
3619
3644
|
unhealthy_threshold_count=123
|
|
3620
3645
|
),
|
|
3621
3646
|
ip_address_type=elbv2.TargetGroupIpAddressType.IPV4,
|
|
3647
|
+
target_group_health=elbv2.TargetGroupHealth(
|
|
3648
|
+
dns_minimum_healthy_target_count=123,
|
|
3649
|
+
dns_minimum_healthy_target_percentage=123,
|
|
3650
|
+
routing_minimum_healthy_target_count=123,
|
|
3651
|
+
routing_minimum_healthy_target_percentage=123
|
|
3652
|
+
),
|
|
3622
3653
|
target_group_name="targetGroupName",
|
|
3623
3654
|
target_type=elbv2.TargetType.INSTANCE,
|
|
3624
3655
|
vpc=vpc
|
|
@@ -3626,12 +3657,15 @@ class BaseTargetGroupProps:
|
|
|
3626
3657
|
'''
|
|
3627
3658
|
if isinstance(health_check, dict):
|
|
3628
3659
|
health_check = HealthCheck(**health_check)
|
|
3660
|
+
if isinstance(target_group_health, dict):
|
|
3661
|
+
target_group_health = TargetGroupHealth(**target_group_health)
|
|
3629
3662
|
if __debug__:
|
|
3630
3663
|
type_hints = typing.get_type_hints(_typecheckingstub__b5e7f5d87f70cb030d7ac44f4637a5d73814a6c8b1c1bff9adf19ede879e36bb)
|
|
3631
3664
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
3632
3665
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
3633
3666
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
3634
3667
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
3668
|
+
check_type(argname="argument target_group_health", value=target_group_health, expected_type=type_hints["target_group_health"])
|
|
3635
3669
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
3636
3670
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
3637
3671
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -3644,6 +3678,8 @@ class BaseTargetGroupProps:
|
|
|
3644
3678
|
self._values["health_check"] = health_check
|
|
3645
3679
|
if ip_address_type is not None:
|
|
3646
3680
|
self._values["ip_address_type"] = ip_address_type
|
|
3681
|
+
if target_group_health is not None:
|
|
3682
|
+
self._values["target_group_health"] = target_group_health
|
|
3647
3683
|
if target_group_name is not None:
|
|
3648
3684
|
self._values["target_group_name"] = target_group_name
|
|
3649
3685
|
if target_type is not None:
|
|
@@ -3693,6 +3729,17 @@ class BaseTargetGroupProps:
|
|
|
3693
3729
|
result = self._values.get("ip_address_type")
|
|
3694
3730
|
return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
|
|
3695
3731
|
|
|
3732
|
+
@builtins.property
|
|
3733
|
+
def target_group_health(self) -> typing.Optional["TargetGroupHealth"]:
|
|
3734
|
+
'''Configuring target group health.
|
|
3735
|
+
|
|
3736
|
+
:default: - use default configuration
|
|
3737
|
+
|
|
3738
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
|
|
3739
|
+
'''
|
|
3740
|
+
result = self._values.get("target_group_health")
|
|
3741
|
+
return typing.cast(typing.Optional["TargetGroupHealth"], result)
|
|
3742
|
+
|
|
3696
3743
|
@builtins.property
|
|
3697
3744
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
3698
3745
|
'''The name of the target group.
|
|
@@ -13435,6 +13482,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
13435
13482
|
"deregistration_delay": "deregistrationDelay",
|
|
13436
13483
|
"health_check": "healthCheck",
|
|
13437
13484
|
"ip_address_type": "ipAddressType",
|
|
13485
|
+
"target_group_health": "targetGroupHealth",
|
|
13438
13486
|
"target_group_name": "targetGroupName",
|
|
13439
13487
|
"target_type": "targetType",
|
|
13440
13488
|
"vpc": "vpc",
|
|
@@ -13454,6 +13502,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
13454
13502
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
13455
13503
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13456
13504
|
ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
|
|
13505
|
+
target_group_health: typing.Optional[typing.Union["TargetGroupHealth", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
13457
13506
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
13458
13507
|
target_type: typing.Optional["TargetType"] = None,
|
|
13459
13508
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -13470,6 +13519,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
13470
13519
|
: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
|
|
13471
13520
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
13472
13521
|
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
13522
|
+
:param target_group_health: Configuring target group health. Default: - use default configuration
|
|
13473
13523
|
: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.
|
|
13474
13524
|
: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.
|
|
13475
13525
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -13517,12 +13567,15 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
13517
13567
|
'''
|
|
13518
13568
|
if isinstance(health_check, dict):
|
|
13519
13569
|
health_check = HealthCheck(**health_check)
|
|
13570
|
+
if isinstance(target_group_health, dict):
|
|
13571
|
+
target_group_health = TargetGroupHealth(**target_group_health)
|
|
13520
13572
|
if __debug__:
|
|
13521
13573
|
type_hints = typing.get_type_hints(_typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92f7c65b2)
|
|
13522
13574
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
13523
13575
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
13524
13576
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
13525
13577
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
13578
|
+
check_type(argname="argument target_group_health", value=target_group_health, expected_type=type_hints["target_group_health"])
|
|
13526
13579
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
13527
13580
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
13528
13581
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -13543,6 +13596,8 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
13543
13596
|
self._values["health_check"] = health_check
|
|
13544
13597
|
if ip_address_type is not None:
|
|
13545
13598
|
self._values["ip_address_type"] = ip_address_type
|
|
13599
|
+
if target_group_health is not None:
|
|
13600
|
+
self._values["target_group_health"] = target_group_health
|
|
13546
13601
|
if target_group_name is not None:
|
|
13547
13602
|
self._values["target_group_name"] = target_group_name
|
|
13548
13603
|
if target_type is not None:
|
|
@@ -13602,6 +13657,17 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
|
|
|
13602
13657
|
result = self._values.get("ip_address_type")
|
|
13603
13658
|
return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
|
|
13604
13659
|
|
|
13660
|
+
@builtins.property
|
|
13661
|
+
def target_group_health(self) -> typing.Optional["TargetGroupHealth"]:
|
|
13662
|
+
'''Configuring target group health.
|
|
13663
|
+
|
|
13664
|
+
:default: - use default configuration
|
|
13665
|
+
|
|
13666
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
|
|
13667
|
+
'''
|
|
13668
|
+
result = self._values.get("target_group_health")
|
|
13669
|
+
return typing.cast(typing.Optional["TargetGroupHealth"], result)
|
|
13670
|
+
|
|
13605
13671
|
@builtins.property
|
|
13606
13672
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
13607
13673
|
'''The name of the target group.
|
|
@@ -14845,6 +14911,126 @@ class _TargetGroupBaseProxy(TargetGroupBase):
|
|
|
14845
14911
|
typing.cast(typing.Any, TargetGroupBase).__jsii_proxy_class__ = lambda : _TargetGroupBaseProxy
|
|
14846
14912
|
|
|
14847
14913
|
|
|
14914
|
+
@jsii.data_type(
|
|
14915
|
+
jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupHealth",
|
|
14916
|
+
jsii_struct_bases=[],
|
|
14917
|
+
name_mapping={
|
|
14918
|
+
"dns_minimum_healthy_target_count": "dnsMinimumHealthyTargetCount",
|
|
14919
|
+
"dns_minimum_healthy_target_percentage": "dnsMinimumHealthyTargetPercentage",
|
|
14920
|
+
"routing_minimum_healthy_target_count": "routingMinimumHealthyTargetCount",
|
|
14921
|
+
"routing_minimum_healthy_target_percentage": "routingMinimumHealthyTargetPercentage",
|
|
14922
|
+
},
|
|
14923
|
+
)
|
|
14924
|
+
class TargetGroupHealth:
|
|
14925
|
+
def __init__(
|
|
14926
|
+
self,
|
|
14927
|
+
*,
|
|
14928
|
+
dns_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
|
|
14929
|
+
dns_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
|
|
14930
|
+
routing_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
|
|
14931
|
+
routing_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
|
|
14932
|
+
) -> None:
|
|
14933
|
+
'''Properties for configuring a target group health.
|
|
14934
|
+
|
|
14935
|
+
:param dns_minimum_healthy_target_count: The minimum number of targets that must be healthy for DNS failover. If below this value, mark the zone as unhealthy in DNS. Use 0 for "off". Default: 1
|
|
14936
|
+
:param dns_minimum_healthy_target_percentage: The minimum percentage of targets that must be healthy for DNS failover. If below this value, mark the zone as unhealthy in DNS. Use 0 for "off". Default: 0
|
|
14937
|
+
:param routing_minimum_healthy_target_count: The minimum number of targets that must be healthy for unhealthy state routing. If below this value, send traffic to all targets including unhealthy ones. Default: 1
|
|
14938
|
+
:param routing_minimum_healthy_target_percentage: The minimum percentage of targets that must be healthy for unhealthy state routing. If below this value, send traffic to all targets including unhealthy ones. Use 0 for "off". Default: 0
|
|
14939
|
+
|
|
14940
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
|
|
14941
|
+
:exampleMetadata: infused
|
|
14942
|
+
|
|
14943
|
+
Example::
|
|
14944
|
+
|
|
14945
|
+
# vpc: ec2.Vpc
|
|
14946
|
+
|
|
14947
|
+
|
|
14948
|
+
target_group = elbv2.ApplicationTargetGroup(self, "TargetGroup",
|
|
14949
|
+
vpc=vpc,
|
|
14950
|
+
port=80,
|
|
14951
|
+
target_group_health=elbv2.TargetGroupHealth(
|
|
14952
|
+
dns_minimum_healthy_target_count=3,
|
|
14953
|
+
dns_minimum_healthy_target_percentage=70,
|
|
14954
|
+
routing_minimum_healthy_target_count=2,
|
|
14955
|
+
routing_minimum_healthy_target_percentage=50
|
|
14956
|
+
)
|
|
14957
|
+
)
|
|
14958
|
+
'''
|
|
14959
|
+
if __debug__:
|
|
14960
|
+
type_hints = typing.get_type_hints(_typecheckingstub__50b92a6e3fb50861786c29f006a421debbe4bf2e446caaef18d21a99c0e35f73)
|
|
14961
|
+
check_type(argname="argument dns_minimum_healthy_target_count", value=dns_minimum_healthy_target_count, expected_type=type_hints["dns_minimum_healthy_target_count"])
|
|
14962
|
+
check_type(argname="argument dns_minimum_healthy_target_percentage", value=dns_minimum_healthy_target_percentage, expected_type=type_hints["dns_minimum_healthy_target_percentage"])
|
|
14963
|
+
check_type(argname="argument routing_minimum_healthy_target_count", value=routing_minimum_healthy_target_count, expected_type=type_hints["routing_minimum_healthy_target_count"])
|
|
14964
|
+
check_type(argname="argument routing_minimum_healthy_target_percentage", value=routing_minimum_healthy_target_percentage, expected_type=type_hints["routing_minimum_healthy_target_percentage"])
|
|
14965
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
14966
|
+
if dns_minimum_healthy_target_count is not None:
|
|
14967
|
+
self._values["dns_minimum_healthy_target_count"] = dns_minimum_healthy_target_count
|
|
14968
|
+
if dns_minimum_healthy_target_percentage is not None:
|
|
14969
|
+
self._values["dns_minimum_healthy_target_percentage"] = dns_minimum_healthy_target_percentage
|
|
14970
|
+
if routing_minimum_healthy_target_count is not None:
|
|
14971
|
+
self._values["routing_minimum_healthy_target_count"] = routing_minimum_healthy_target_count
|
|
14972
|
+
if routing_minimum_healthy_target_percentage is not None:
|
|
14973
|
+
self._values["routing_minimum_healthy_target_percentage"] = routing_minimum_healthy_target_percentage
|
|
14974
|
+
|
|
14975
|
+
@builtins.property
|
|
14976
|
+
def dns_minimum_healthy_target_count(self) -> typing.Optional[jsii.Number]:
|
|
14977
|
+
'''The minimum number of targets that must be healthy for DNS failover.
|
|
14978
|
+
|
|
14979
|
+
If below this value, mark the zone as unhealthy in DNS.
|
|
14980
|
+
Use 0 for "off".
|
|
14981
|
+
|
|
14982
|
+
:default: 1
|
|
14983
|
+
'''
|
|
14984
|
+
result = self._values.get("dns_minimum_healthy_target_count")
|
|
14985
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
14986
|
+
|
|
14987
|
+
@builtins.property
|
|
14988
|
+
def dns_minimum_healthy_target_percentage(self) -> typing.Optional[jsii.Number]:
|
|
14989
|
+
'''The minimum percentage of targets that must be healthy for DNS failover.
|
|
14990
|
+
|
|
14991
|
+
If below this value, mark the zone as unhealthy in DNS.
|
|
14992
|
+
Use 0 for "off".
|
|
14993
|
+
|
|
14994
|
+
:default: 0
|
|
14995
|
+
'''
|
|
14996
|
+
result = self._values.get("dns_minimum_healthy_target_percentage")
|
|
14997
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
14998
|
+
|
|
14999
|
+
@builtins.property
|
|
15000
|
+
def routing_minimum_healthy_target_count(self) -> typing.Optional[jsii.Number]:
|
|
15001
|
+
'''The minimum number of targets that must be healthy for unhealthy state routing.
|
|
15002
|
+
|
|
15003
|
+
If below this value, send traffic to all targets including unhealthy ones.
|
|
15004
|
+
|
|
15005
|
+
:default: 1
|
|
15006
|
+
'''
|
|
15007
|
+
result = self._values.get("routing_minimum_healthy_target_count")
|
|
15008
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
15009
|
+
|
|
15010
|
+
@builtins.property
|
|
15011
|
+
def routing_minimum_healthy_target_percentage(self) -> typing.Optional[jsii.Number]:
|
|
15012
|
+
'''The minimum percentage of targets that must be healthy for unhealthy state routing.
|
|
15013
|
+
|
|
15014
|
+
If below this value, send traffic to all targets including unhealthy ones.
|
|
15015
|
+
Use 0 for "off".
|
|
15016
|
+
|
|
15017
|
+
:default: 0
|
|
15018
|
+
'''
|
|
15019
|
+
result = self._values.get("routing_minimum_healthy_target_percentage")
|
|
15020
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
15021
|
+
|
|
15022
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
15023
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
15024
|
+
|
|
15025
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
15026
|
+
return not (rhs == self)
|
|
15027
|
+
|
|
15028
|
+
def __repr__(self) -> str:
|
|
15029
|
+
return "TargetGroupHealth(%s)" % ", ".join(
|
|
15030
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
15031
|
+
)
|
|
15032
|
+
|
|
15033
|
+
|
|
14848
15034
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupIpAddressType")
|
|
14849
15035
|
class TargetGroupIpAddressType(enum.Enum):
|
|
14850
15036
|
'''The IP address type of targets registered with a target group.
|
|
@@ -17118,6 +17304,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
|
|
|
17118
17304
|
"deregistration_delay": "deregistrationDelay",
|
|
17119
17305
|
"health_check": "healthCheck",
|
|
17120
17306
|
"ip_address_type": "ipAddressType",
|
|
17307
|
+
"target_group_health": "targetGroupHealth",
|
|
17121
17308
|
"target_group_name": "targetGroupName",
|
|
17122
17309
|
"target_type": "targetType",
|
|
17123
17310
|
"vpc": "vpc",
|
|
@@ -17141,6 +17328,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
17141
17328
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
17142
17329
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17143
17330
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
17331
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17144
17332
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
17145
17333
|
target_type: typing.Optional[TargetType] = None,
|
|
17146
17334
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -17161,6 +17349,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
17161
17349
|
: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
|
|
17162
17350
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
17163
17351
|
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
17352
|
+
:param target_group_health: Configuring target group health. Default: - use default configuration
|
|
17164
17353
|
: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.
|
|
17165
17354
|
: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.
|
|
17166
17355
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -17196,12 +17385,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
17196
17385
|
'''
|
|
17197
17386
|
if isinstance(health_check, dict):
|
|
17198
17387
|
health_check = HealthCheck(**health_check)
|
|
17388
|
+
if isinstance(target_group_health, dict):
|
|
17389
|
+
target_group_health = TargetGroupHealth(**target_group_health)
|
|
17199
17390
|
if __debug__:
|
|
17200
17391
|
type_hints = typing.get_type_hints(_typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c780e881)
|
|
17201
17392
|
check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
|
|
17202
17393
|
check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
|
|
17203
17394
|
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
17204
17395
|
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
17396
|
+
check_type(argname="argument target_group_health", value=target_group_health, expected_type=type_hints["target_group_health"])
|
|
17205
17397
|
check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
|
|
17206
17398
|
check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
|
|
17207
17399
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
@@ -17224,6 +17416,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
17224
17416
|
self._values["health_check"] = health_check
|
|
17225
17417
|
if ip_address_type is not None:
|
|
17226
17418
|
self._values["ip_address_type"] = ip_address_type
|
|
17419
|
+
if target_group_health is not None:
|
|
17420
|
+
self._values["target_group_health"] = target_group_health
|
|
17227
17421
|
if target_group_name is not None:
|
|
17228
17422
|
self._values["target_group_name"] = target_group_name
|
|
17229
17423
|
if target_type is not None:
|
|
@@ -17293,6 +17487,17 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
|
|
|
17293
17487
|
result = self._values.get("ip_address_type")
|
|
17294
17488
|
return typing.cast(typing.Optional[TargetGroupIpAddressType], result)
|
|
17295
17489
|
|
|
17490
|
+
@builtins.property
|
|
17491
|
+
def target_group_health(self) -> typing.Optional[TargetGroupHealth]:
|
|
17492
|
+
'''Configuring target group health.
|
|
17493
|
+
|
|
17494
|
+
:default: - use default configuration
|
|
17495
|
+
|
|
17496
|
+
:see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
|
|
17497
|
+
'''
|
|
17498
|
+
result = self._values.get("target_group_health")
|
|
17499
|
+
return typing.cast(typing.Optional[TargetGroupHealth], result)
|
|
17500
|
+
|
|
17296
17501
|
@builtins.property
|
|
17297
17502
|
def target_group_name(self) -> typing.Optional[builtins.str]:
|
|
17298
17503
|
'''The name of the target group.
|
|
@@ -24765,6 +24970,7 @@ class NetworkTargetGroup(
|
|
|
24765
24970
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
24766
24971
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24767
24972
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
24973
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
24768
24974
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
24769
24975
|
target_type: typing.Optional[TargetType] = None,
|
|
24770
24976
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -24782,6 +24988,7 @@ class NetworkTargetGroup(
|
|
|
24782
24988
|
: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
|
|
24783
24989
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
24784
24990
|
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
24991
|
+
:param target_group_health: Configuring target group health. Default: - use default configuration
|
|
24785
24992
|
: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.
|
|
24786
24993
|
: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.
|
|
24787
24994
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -24801,6 +25008,7 @@ class NetworkTargetGroup(
|
|
|
24801
25008
|
deregistration_delay=deregistration_delay,
|
|
24802
25009
|
health_check=health_check,
|
|
24803
25010
|
ip_address_type=ip_address_type,
|
|
25011
|
+
target_group_health=target_group_health,
|
|
24804
25012
|
target_group_name=target_group_name,
|
|
24805
25013
|
target_type=target_type,
|
|
24806
25014
|
vpc=vpc,
|
|
@@ -27042,6 +27250,7 @@ class ApplicationTargetGroup(
|
|
|
27042
27250
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
27043
27251
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
27044
27252
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
27253
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
27045
27254
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
27046
27255
|
target_type: typing.Optional[TargetType] = None,
|
|
27047
27256
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -27063,6 +27272,7 @@ class ApplicationTargetGroup(
|
|
|
27063
27272
|
: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
|
|
27064
27273
|
:param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
|
|
27065
27274
|
:param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
|
|
27275
|
+
:param target_group_health: Configuring target group health. Default: - use default configuration
|
|
27066
27276
|
: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.
|
|
27067
27277
|
: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.
|
|
27068
27278
|
:param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
|
|
@@ -27086,6 +27296,7 @@ class ApplicationTargetGroup(
|
|
|
27086
27296
|
deregistration_delay=deregistration_delay,
|
|
27087
27297
|
health_check=health_check,
|
|
27088
27298
|
ip_address_type=ip_address_type,
|
|
27299
|
+
target_group_health=target_group_health,
|
|
27089
27300
|
target_group_name=target_group_name,
|
|
27090
27301
|
target_type=target_type,
|
|
27091
27302
|
vpc=vpc,
|
|
@@ -27897,6 +28108,7 @@ __all__ = [
|
|
|
27897
28108
|
"SubnetMapping",
|
|
27898
28109
|
"TargetGroupAttributes",
|
|
27899
28110
|
"TargetGroupBase",
|
|
28111
|
+
"TargetGroupHealth",
|
|
27900
28112
|
"TargetGroupIpAddressType",
|
|
27901
28113
|
"TargetGroupLoadBalancingAlgorithmType",
|
|
27902
28114
|
"TargetGroupReference",
|
|
@@ -28141,6 +28353,7 @@ def _typecheckingstub__b5e7f5d87f70cb030d7ac44f4637a5d73814a6c8b1c1bff9adf19ede8
|
|
|
28141
28353
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
28142
28354
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
28143
28355
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
28356
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
28144
28357
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
28145
28358
|
target_type: typing.Optional[TargetType] = None,
|
|
28146
28359
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -28782,6 +28995,7 @@ def _typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92
|
|
|
28782
28995
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
28783
28996
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
28784
28997
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
28998
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
28785
28999
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
28786
29000
|
target_type: typing.Optional[TargetType] = None,
|
|
28787
29001
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -28892,6 +29106,16 @@ def _typecheckingstub__7c19dd8de36c1c86ebd89e7c24379bf1b20a6e5f343db95042864bf02
|
|
|
28892
29106
|
"""Type checking stubs"""
|
|
28893
29107
|
pass
|
|
28894
29108
|
|
|
29109
|
+
def _typecheckingstub__50b92a6e3fb50861786c29f006a421debbe4bf2e446caaef18d21a99c0e35f73(
|
|
29110
|
+
*,
|
|
29111
|
+
dns_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
|
|
29112
|
+
dns_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
|
|
29113
|
+
routing_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
|
|
29114
|
+
routing_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
|
|
29115
|
+
) -> None:
|
|
29116
|
+
"""Type checking stubs"""
|
|
29117
|
+
pass
|
|
29118
|
+
|
|
28895
29119
|
def _typecheckingstub__7b22d0445cb034b55d9115fd027b3d892bce86e7f1261aa808a4125edf21d635(
|
|
28896
29120
|
*,
|
|
28897
29121
|
target_group_arn: builtins.str,
|
|
@@ -29086,6 +29310,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
|
|
|
29086
29310
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
29087
29311
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
29088
29312
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
29313
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
29089
29314
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
29090
29315
|
target_type: typing.Optional[TargetType] = None,
|
|
29091
29316
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -30183,6 +30408,7 @@ def _typecheckingstub__eebfbf2a20edd0baf4d455f02dd34d748c5eccfa9a5268e5e2ebec245
|
|
|
30183
30408
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
30184
30409
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
30185
30410
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
30411
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
30186
30412
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
30187
30413
|
target_type: typing.Optional[TargetType] = None,
|
|
30188
30414
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
@@ -30471,6 +30697,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
|
|
|
30471
30697
|
deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
|
|
30472
30698
|
health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
30473
30699
|
ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
|
|
30700
|
+
target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
30474
30701
|
target_group_name: typing.Optional[builtins.str] = None,
|
|
30475
30702
|
target_type: typing.Optional[TargetType] = None,
|
|
30476
30703
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|