aws-cdk-lib 2.215.0__py3-none-any.whl → 2.217.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.

Files changed (64) hide show
  1. aws_cdk/__init__.py +90 -58
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.215.0.jsii.tgz → aws-cdk-lib@2.217.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amplify/__init__.py +8 -8
  6. aws_cdk/aws_apigateway/__init__.py +26 -6
  7. aws_cdk/aws_apigatewayv2/__init__.py +32 -21
  8. aws_cdk/aws_appmesh/__init__.py +12 -12
  9. aws_cdk/aws_appstream/__init__.py +14 -4
  10. aws_cdk/aws_appsync/__init__.py +3 -3
  11. aws_cdk/aws_aps/__init__.py +459 -0
  12. aws_cdk/aws_batch/__init__.py +6 -2
  13. aws_cdk/aws_bedrock/__init__.py +162 -0
  14. aws_cdk/aws_bedrockagentcore/__init__.py +3178 -0
  15. aws_cdk/aws_certificatemanager/__init__.py +9 -10
  16. aws_cdk/aws_cleanrooms/__init__.py +163 -0
  17. aws_cdk/aws_cloudformation/__init__.py +14 -14
  18. aws_cdk/aws_cloudfront/__init__.py +91 -10
  19. aws_cdk/aws_cloudfront_origins/__init__.py +422 -47
  20. aws_cdk/aws_cognito/__init__.py +2 -2
  21. aws_cdk/aws_connect/__init__.py +138 -10
  22. aws_cdk/aws_cur/__init__.py +57 -3
  23. aws_cdk/aws_datasync/__init__.py +351 -0
  24. aws_cdk/aws_datazone/__init__.py +675 -2
  25. aws_cdk/aws_dynamodb/__init__.py +123 -0
  26. aws_cdk/aws_ec2/__init__.py +55 -10
  27. aws_cdk/aws_ecr/__init__.py +4 -0
  28. aws_cdk/aws_ecs/__init__.py +55 -12
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +275 -0
  30. aws_cdk/aws_elasticsearch/__init__.py +2 -2
  31. aws_cdk/aws_events/__init__.py +187 -0
  32. aws_cdk/aws_evs/__init__.py +58 -4
  33. aws_cdk/aws_gamelift/__init__.py +72 -56
  34. aws_cdk/aws_iam/__init__.py +1 -1
  35. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +35 -38
  36. aws_cdk/aws_iotsitewise/__init__.py +75 -111
  37. aws_cdk/aws_kinesisanalytics/__init__.py +315 -125
  38. aws_cdk/aws_kms/__init__.py +10 -2
  39. aws_cdk/aws_lambda/__init__.py +62 -8
  40. aws_cdk/aws_medialive/__init__.py +127 -0
  41. aws_cdk/aws_mediapackage/__init__.py +2 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +10 -10
  43. aws_cdk/aws_networkmanager/__init__.py +63 -0
  44. aws_cdk/aws_odb/__init__.py +2082 -195
  45. aws_cdk/aws_omics/__init__.py +1414 -171
  46. aws_cdk/aws_opensearchserverless/__init__.py +164 -21
  47. aws_cdk/aws_opensearchservice/__init__.py +5 -4
  48. aws_cdk/aws_pcs/__init__.py +9 -9
  49. aws_cdk/aws_quicksight/__init__.py +295 -3
  50. aws_cdk/aws_rds/__init__.py +338 -58
  51. aws_cdk/aws_route53/__init__.py +5926 -4376
  52. aws_cdk/aws_sagemaker/__init__.py +251 -1
  53. aws_cdk/aws_servicecatalog/__init__.py +162 -154
  54. aws_cdk/aws_smsvoice/__init__.py +5218 -0
  55. aws_cdk/aws_stepfunctions_tasks/__init__.py +669 -81
  56. aws_cdk/aws_transfer/__init__.py +13 -12
  57. aws_cdk/aws_verifiedpermissions/__init__.py +1 -1
  58. aws_cdk/aws_workspacesinstances/__init__.py +641 -2
  59. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/METADATA +1 -1
  60. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/RECORD +64 -62
  61. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/LICENSE +0 -0
  62. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/NOTICE +0 -0
  63. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/WHEEL +0 -0
  64. {aws_cdk_lib-2.215.0.dist-info → aws_cdk_lib-2.217.0.dist-info}/top_level.txt +0 -0
@@ -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.
@@ -4323,6 +4370,7 @@ class CfnListenerRuleProps:
4323
4370
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancerProps",
4324
4371
  jsii_struct_bases=[],
4325
4372
  name_mapping={
4373
+ "enable_capacity_reservation_provision_stabilize": "enableCapacityReservationProvisionStabilize",
4326
4374
  "enable_prefix_for_ipv6_source_nat": "enablePrefixForIpv6SourceNat",
4327
4375
  "enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
4328
4376
  "ip_address_type": "ipAddressType",
@@ -4342,6 +4390,7 @@ class CfnLoadBalancerProps:
4342
4390
  def __init__(
4343
4391
  self,
4344
4392
  *,
4393
+ enable_capacity_reservation_provision_stabilize: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4345
4394
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
4346
4395
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
4347
4396
  ip_address_type: typing.Optional[builtins.str] = None,
@@ -4358,6 +4407,7 @@ class CfnLoadBalancerProps:
4358
4407
  ) -> None:
4359
4408
  '''Properties for defining a ``CfnLoadBalancer``.
4360
4409
 
4410
+ :param enable_capacity_reservation_provision_stabilize: Default: - false
4361
4411
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
4362
4412
  :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 . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
4363
4413
  :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).
@@ -4382,6 +4432,7 @@ class CfnLoadBalancerProps:
4382
4432
  from aws_cdk import aws_elasticloadbalancingv2 as elbv2
4383
4433
 
4384
4434
  cfn_load_balancer_props = elbv2.CfnLoadBalancerProps(
4435
+ enable_capacity_reservation_provision_stabilize=False,
4385
4436
  enable_prefix_for_ipv6_source_nat="enablePrefixForIpv6SourceNat",
4386
4437
  enforce_security_group_inbound_rules_on_private_link_traffic="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
4387
4438
  ip_address_type="ipAddressType",
@@ -4415,6 +4466,7 @@ class CfnLoadBalancerProps:
4415
4466
  '''
4416
4467
  if __debug__:
4417
4468
  type_hints = typing.get_type_hints(_typecheckingstub__6b1eb30cea756dc45f625ec82ab8cba6ea31d24595a925a4aabceb7e6605bcde)
4469
+ check_type(argname="argument enable_capacity_reservation_provision_stabilize", value=enable_capacity_reservation_provision_stabilize, expected_type=type_hints["enable_capacity_reservation_provision_stabilize"])
4418
4470
  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"])
4419
4471
  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"])
4420
4472
  check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
@@ -4429,6 +4481,8 @@ class CfnLoadBalancerProps:
4429
4481
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4430
4482
  check_type(argname="argument type", value=type, expected_type=type_hints["type"])
4431
4483
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4484
+ if enable_capacity_reservation_provision_stabilize is not None:
4485
+ self._values["enable_capacity_reservation_provision_stabilize"] = enable_capacity_reservation_provision_stabilize
4432
4486
  if enable_prefix_for_ipv6_source_nat is not None:
4433
4487
  self._values["enable_prefix_for_ipv6_source_nat"] = enable_prefix_for_ipv6_source_nat
4434
4488
  if enforce_security_group_inbound_rules_on_private_link_traffic is not None:
@@ -4456,6 +4510,18 @@ class CfnLoadBalancerProps:
4456
4510
  if type is not None:
4457
4511
  self._values["type"] = type
4458
4512
 
4513
+ @builtins.property
4514
+ def enable_capacity_reservation_provision_stabilize(
4515
+ self,
4516
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4517
+ '''
4518
+ :default: - false
4519
+
4520
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-enablecapacityreservationprovisionstabilize
4521
+ '''
4522
+ result = self._values.get("enable_capacity_reservation_provision_stabilize")
4523
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4524
+
4459
4525
  @builtins.property
4460
4526
  def enable_prefix_for_ipv6_source_nat(self) -> typing.Optional[builtins.str]:
4461
4527
  '''[Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT.
@@ -13435,6 +13501,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
13435
13501
  "deregistration_delay": "deregistrationDelay",
13436
13502
  "health_check": "healthCheck",
13437
13503
  "ip_address_type": "ipAddressType",
13504
+ "target_group_health": "targetGroupHealth",
13438
13505
  "target_group_name": "targetGroupName",
13439
13506
  "target_type": "targetType",
13440
13507
  "vpc": "vpc",
@@ -13454,6 +13521,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
13454
13521
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
13455
13522
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
13456
13523
  ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
13524
+ target_group_health: typing.Optional[typing.Union["TargetGroupHealth", typing.Dict[builtins.str, typing.Any]]] = None,
13457
13525
  target_group_name: typing.Optional[builtins.str] = None,
13458
13526
  target_type: typing.Optional["TargetType"] = None,
13459
13527
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -13470,6 +13538,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
13470
13538
  :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
13539
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
13472
13540
  :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
13541
+ :param target_group_health: Configuring target group health. Default: - use default configuration
13473
13542
  :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
13543
  :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
13544
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -13517,12 +13586,15 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
13517
13586
  '''
13518
13587
  if isinstance(health_check, dict):
13519
13588
  health_check = HealthCheck(**health_check)
13589
+ if isinstance(target_group_health, dict):
13590
+ target_group_health = TargetGroupHealth(**target_group_health)
13520
13591
  if __debug__:
13521
13592
  type_hints = typing.get_type_hints(_typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92f7c65b2)
13522
13593
  check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
13523
13594
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
13524
13595
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
13525
13596
  check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
13597
+ check_type(argname="argument target_group_health", value=target_group_health, expected_type=type_hints["target_group_health"])
13526
13598
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
13527
13599
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
13528
13600
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -13543,6 +13615,8 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
13543
13615
  self._values["health_check"] = health_check
13544
13616
  if ip_address_type is not None:
13545
13617
  self._values["ip_address_type"] = ip_address_type
13618
+ if target_group_health is not None:
13619
+ self._values["target_group_health"] = target_group_health
13546
13620
  if target_group_name is not None:
13547
13621
  self._values["target_group_name"] = target_group_name
13548
13622
  if target_type is not None:
@@ -13602,6 +13676,17 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
13602
13676
  result = self._values.get("ip_address_type")
13603
13677
  return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
13604
13678
 
13679
+ @builtins.property
13680
+ def target_group_health(self) -> typing.Optional["TargetGroupHealth"]:
13681
+ '''Configuring target group health.
13682
+
13683
+ :default: - use default configuration
13684
+
13685
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
13686
+ '''
13687
+ result = self._values.get("target_group_health")
13688
+ return typing.cast(typing.Optional["TargetGroupHealth"], result)
13689
+
13605
13690
  @builtins.property
13606
13691
  def target_group_name(self) -> typing.Optional[builtins.str]:
13607
13692
  '''The name of the target group.
@@ -14845,6 +14930,126 @@ class _TargetGroupBaseProxy(TargetGroupBase):
14845
14930
  typing.cast(typing.Any, TargetGroupBase).__jsii_proxy_class__ = lambda : _TargetGroupBaseProxy
14846
14931
 
14847
14932
 
14933
+ @jsii.data_type(
14934
+ jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupHealth",
14935
+ jsii_struct_bases=[],
14936
+ name_mapping={
14937
+ "dns_minimum_healthy_target_count": "dnsMinimumHealthyTargetCount",
14938
+ "dns_minimum_healthy_target_percentage": "dnsMinimumHealthyTargetPercentage",
14939
+ "routing_minimum_healthy_target_count": "routingMinimumHealthyTargetCount",
14940
+ "routing_minimum_healthy_target_percentage": "routingMinimumHealthyTargetPercentage",
14941
+ },
14942
+ )
14943
+ class TargetGroupHealth:
14944
+ def __init__(
14945
+ self,
14946
+ *,
14947
+ dns_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
14948
+ dns_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
14949
+ routing_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
14950
+ routing_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
14951
+ ) -> None:
14952
+ '''Properties for configuring a target group health.
14953
+
14954
+ :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
14955
+ :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
14956
+ :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
14957
+ :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
14958
+
14959
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
14960
+ :exampleMetadata: infused
14961
+
14962
+ Example::
14963
+
14964
+ # vpc: ec2.Vpc
14965
+
14966
+
14967
+ target_group = elbv2.ApplicationTargetGroup(self, "TargetGroup",
14968
+ vpc=vpc,
14969
+ port=80,
14970
+ target_group_health=elbv2.TargetGroupHealth(
14971
+ dns_minimum_healthy_target_count=3,
14972
+ dns_minimum_healthy_target_percentage=70,
14973
+ routing_minimum_healthy_target_count=2,
14974
+ routing_minimum_healthy_target_percentage=50
14975
+ )
14976
+ )
14977
+ '''
14978
+ if __debug__:
14979
+ type_hints = typing.get_type_hints(_typecheckingstub__50b92a6e3fb50861786c29f006a421debbe4bf2e446caaef18d21a99c0e35f73)
14980
+ check_type(argname="argument dns_minimum_healthy_target_count", value=dns_minimum_healthy_target_count, expected_type=type_hints["dns_minimum_healthy_target_count"])
14981
+ check_type(argname="argument dns_minimum_healthy_target_percentage", value=dns_minimum_healthy_target_percentage, expected_type=type_hints["dns_minimum_healthy_target_percentage"])
14982
+ check_type(argname="argument routing_minimum_healthy_target_count", value=routing_minimum_healthy_target_count, expected_type=type_hints["routing_minimum_healthy_target_count"])
14983
+ check_type(argname="argument routing_minimum_healthy_target_percentage", value=routing_minimum_healthy_target_percentage, expected_type=type_hints["routing_minimum_healthy_target_percentage"])
14984
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
14985
+ if dns_minimum_healthy_target_count is not None:
14986
+ self._values["dns_minimum_healthy_target_count"] = dns_minimum_healthy_target_count
14987
+ if dns_minimum_healthy_target_percentage is not None:
14988
+ self._values["dns_minimum_healthy_target_percentage"] = dns_minimum_healthy_target_percentage
14989
+ if routing_minimum_healthy_target_count is not None:
14990
+ self._values["routing_minimum_healthy_target_count"] = routing_minimum_healthy_target_count
14991
+ if routing_minimum_healthy_target_percentage is not None:
14992
+ self._values["routing_minimum_healthy_target_percentage"] = routing_minimum_healthy_target_percentage
14993
+
14994
+ @builtins.property
14995
+ def dns_minimum_healthy_target_count(self) -> typing.Optional[jsii.Number]:
14996
+ '''The minimum number of targets that must be healthy for DNS failover.
14997
+
14998
+ If below this value, mark the zone as unhealthy in DNS.
14999
+ Use 0 for "off".
15000
+
15001
+ :default: 1
15002
+ '''
15003
+ result = self._values.get("dns_minimum_healthy_target_count")
15004
+ return typing.cast(typing.Optional[jsii.Number], result)
15005
+
15006
+ @builtins.property
15007
+ def dns_minimum_healthy_target_percentage(self) -> typing.Optional[jsii.Number]:
15008
+ '''The minimum percentage of targets that must be healthy for DNS failover.
15009
+
15010
+ If below this value, mark the zone as unhealthy in DNS.
15011
+ Use 0 for "off".
15012
+
15013
+ :default: 0
15014
+ '''
15015
+ result = self._values.get("dns_minimum_healthy_target_percentage")
15016
+ return typing.cast(typing.Optional[jsii.Number], result)
15017
+
15018
+ @builtins.property
15019
+ def routing_minimum_healthy_target_count(self) -> typing.Optional[jsii.Number]:
15020
+ '''The minimum number of targets that must be healthy for unhealthy state routing.
15021
+
15022
+ If below this value, send traffic to all targets including unhealthy ones.
15023
+
15024
+ :default: 1
15025
+ '''
15026
+ result = self._values.get("routing_minimum_healthy_target_count")
15027
+ return typing.cast(typing.Optional[jsii.Number], result)
15028
+
15029
+ @builtins.property
15030
+ def routing_minimum_healthy_target_percentage(self) -> typing.Optional[jsii.Number]:
15031
+ '''The minimum percentage of targets that must be healthy for unhealthy state routing.
15032
+
15033
+ If below this value, send traffic to all targets including unhealthy ones.
15034
+ Use 0 for "off".
15035
+
15036
+ :default: 0
15037
+ '''
15038
+ result = self._values.get("routing_minimum_healthy_target_percentage")
15039
+ return typing.cast(typing.Optional[jsii.Number], result)
15040
+
15041
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
15042
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
15043
+
15044
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
15045
+ return not (rhs == self)
15046
+
15047
+ def __repr__(self) -> str:
15048
+ return "TargetGroupHealth(%s)" % ", ".join(
15049
+ k + "=" + repr(v) for k, v in self._values.items()
15050
+ )
15051
+
15052
+
14848
15053
  @jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupIpAddressType")
14849
15054
  class TargetGroupIpAddressType(enum.Enum):
14850
15055
  '''The IP address type of targets registered with a target group.
@@ -17118,6 +17323,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
17118
17323
  "deregistration_delay": "deregistrationDelay",
17119
17324
  "health_check": "healthCheck",
17120
17325
  "ip_address_type": "ipAddressType",
17326
+ "target_group_health": "targetGroupHealth",
17121
17327
  "target_group_name": "targetGroupName",
17122
17328
  "target_type": "targetType",
17123
17329
  "vpc": "vpc",
@@ -17141,6 +17347,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
17141
17347
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
17142
17348
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
17143
17349
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
17350
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
17144
17351
  target_group_name: typing.Optional[builtins.str] = None,
17145
17352
  target_type: typing.Optional[TargetType] = None,
17146
17353
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -17161,6 +17368,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
17161
17368
  :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
17369
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
17163
17370
  :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
17371
+ :param target_group_health: Configuring target group health. Default: - use default configuration
17164
17372
  :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
17373
  :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
17374
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -17196,12 +17404,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
17196
17404
  '''
17197
17405
  if isinstance(health_check, dict):
17198
17406
  health_check = HealthCheck(**health_check)
17407
+ if isinstance(target_group_health, dict):
17408
+ target_group_health = TargetGroupHealth(**target_group_health)
17199
17409
  if __debug__:
17200
17410
  type_hints = typing.get_type_hints(_typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c780e881)
17201
17411
  check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
17202
17412
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
17203
17413
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
17204
17414
  check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
17415
+ check_type(argname="argument target_group_health", value=target_group_health, expected_type=type_hints["target_group_health"])
17205
17416
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
17206
17417
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
17207
17418
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -17224,6 +17435,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
17224
17435
  self._values["health_check"] = health_check
17225
17436
  if ip_address_type is not None:
17226
17437
  self._values["ip_address_type"] = ip_address_type
17438
+ if target_group_health is not None:
17439
+ self._values["target_group_health"] = target_group_health
17227
17440
  if target_group_name is not None:
17228
17441
  self._values["target_group_name"] = target_group_name
17229
17442
  if target_type is not None:
@@ -17293,6 +17506,17 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
17293
17506
  result = self._values.get("ip_address_type")
17294
17507
  return typing.cast(typing.Optional[TargetGroupIpAddressType], result)
17295
17508
 
17509
+ @builtins.property
17510
+ def target_group_health(self) -> typing.Optional[TargetGroupHealth]:
17511
+ '''Configuring target group health.
17512
+
17513
+ :default: - use default configuration
17514
+
17515
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
17516
+ '''
17517
+ result = self._values.get("target_group_health")
17518
+ return typing.cast(typing.Optional[TargetGroupHealth], result)
17519
+
17296
17520
  @builtins.property
17297
17521
  def target_group_name(self) -> typing.Optional[builtins.str]:
17298
17522
  '''The name of the target group.
@@ -21706,6 +21930,7 @@ class CfnLoadBalancer(
21706
21930
  from aws_cdk import aws_elasticloadbalancingv2 as elbv2
21707
21931
 
21708
21932
  cfn_load_balancer = elbv2.CfnLoadBalancer(self, "MyCfnLoadBalancer",
21933
+ enable_capacity_reservation_provision_stabilize=False,
21709
21934
  enable_prefix_for_ipv6_source_nat="enablePrefixForIpv6SourceNat",
21710
21935
  enforce_security_group_inbound_rules_on_private_link_traffic="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
21711
21936
  ip_address_type="ipAddressType",
@@ -21743,6 +21968,7 @@ class CfnLoadBalancer(
21743
21968
  scope: _constructs_77d1e7e8.Construct,
21744
21969
  id: builtins.str,
21745
21970
  *,
21971
+ enable_capacity_reservation_provision_stabilize: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21746
21972
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
21747
21973
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
21748
21974
  ip_address_type: typing.Optional[builtins.str] = None,
@@ -21760,6 +21986,7 @@ class CfnLoadBalancer(
21760
21986
  '''
21761
21987
  :param scope: Scope in which this resource is defined.
21762
21988
  :param id: Construct identifier for this resource (unique in its scope).
21989
+ :param enable_capacity_reservation_provision_stabilize: Default: - false
21763
21990
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
21764
21991
  :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 . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
21765
21992
  :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).
@@ -21779,6 +22006,7 @@ class CfnLoadBalancer(
21779
22006
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
21780
22007
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
21781
22008
  props = CfnLoadBalancerProps(
22009
+ enable_capacity_reservation_provision_stabilize=enable_capacity_reservation_provision_stabilize,
21782
22010
  enable_prefix_for_ipv6_source_nat=enable_prefix_for_ipv6_source_nat,
21783
22011
  enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
21784
22012
  ip_address_type=ip_address_type,
@@ -21905,6 +22133,23 @@ class CfnLoadBalancer(
21905
22133
  '''Tag Manager which manages the tags for this resource.'''
21906
22134
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
21907
22135
 
22136
+ @builtins.property
22137
+ @jsii.member(jsii_name="enableCapacityReservationProvisionStabilize")
22138
+ def enable_capacity_reservation_provision_stabilize(
22139
+ self,
22140
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
22141
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enableCapacityReservationProvisionStabilize"))
22142
+
22143
+ @enable_capacity_reservation_provision_stabilize.setter
22144
+ def enable_capacity_reservation_provision_stabilize(
22145
+ self,
22146
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
22147
+ ) -> None:
22148
+ if __debug__:
22149
+ type_hints = typing.get_type_hints(_typecheckingstub__db326b5431980db555d148f9ae3420eff076c5f4436bcac08ce2f9c7154eefce)
22150
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
22151
+ jsii.set(self, "enableCapacityReservationProvisionStabilize", value) # pyright: ignore[reportArgumentType]
22152
+
21908
22153
  @builtins.property
21909
22154
  @jsii.member(jsii_name="enablePrefixForIpv6SourceNat")
21910
22155
  def enable_prefix_for_ipv6_source_nat(self) -> typing.Optional[builtins.str]:
@@ -24765,6 +25010,7 @@ class NetworkTargetGroup(
24765
25010
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
24766
25011
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
24767
25012
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
25013
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
24768
25014
  target_group_name: typing.Optional[builtins.str] = None,
24769
25015
  target_type: typing.Optional[TargetType] = None,
24770
25016
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -24782,6 +25028,7 @@ class NetworkTargetGroup(
24782
25028
  :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
25029
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
24784
25030
  :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
25031
+ :param target_group_health: Configuring target group health. Default: - use default configuration
24785
25032
  :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
25033
  :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
25034
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -24801,6 +25048,7 @@ class NetworkTargetGroup(
24801
25048
  deregistration_delay=deregistration_delay,
24802
25049
  health_check=health_check,
24803
25050
  ip_address_type=ip_address_type,
25051
+ target_group_health=target_group_health,
24804
25052
  target_group_name=target_group_name,
24805
25053
  target_type=target_type,
24806
25054
  vpc=vpc,
@@ -27042,6 +27290,7 @@ class ApplicationTargetGroup(
27042
27290
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
27043
27291
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
27044
27292
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
27293
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
27045
27294
  target_group_name: typing.Optional[builtins.str] = None,
27046
27295
  target_type: typing.Optional[TargetType] = None,
27047
27296
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -27063,6 +27312,7 @@ class ApplicationTargetGroup(
27063
27312
  :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
27313
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
27065
27314
  :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
27315
+ :param target_group_health: Configuring target group health. Default: - use default configuration
27066
27316
  :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
27317
  :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
27318
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -27086,6 +27336,7 @@ class ApplicationTargetGroup(
27086
27336
  deregistration_delay=deregistration_delay,
27087
27337
  health_check=health_check,
27088
27338
  ip_address_type=ip_address_type,
27339
+ target_group_health=target_group_health,
27089
27340
  target_group_name=target_group_name,
27090
27341
  target_type=target_type,
27091
27342
  vpc=vpc,
@@ -27897,6 +28148,7 @@ __all__ = [
27897
28148
  "SubnetMapping",
27898
28149
  "TargetGroupAttributes",
27899
28150
  "TargetGroupBase",
28151
+ "TargetGroupHealth",
27900
28152
  "TargetGroupIpAddressType",
27901
28153
  "TargetGroupLoadBalancingAlgorithmType",
27902
28154
  "TargetGroupReference",
@@ -28141,6 +28393,7 @@ def _typecheckingstub__b5e7f5d87f70cb030d7ac44f4637a5d73814a6c8b1c1bff9adf19ede8
28141
28393
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
28142
28394
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
28143
28395
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
28396
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
28144
28397
  target_group_name: typing.Optional[builtins.str] = None,
28145
28398
  target_type: typing.Optional[TargetType] = None,
28146
28399
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -28183,6 +28436,7 @@ def _typecheckingstub__ca75076613edf0bf6ade8ee145bc71de34aa66567d90d5721bd40f862
28183
28436
 
28184
28437
  def _typecheckingstub__6b1eb30cea756dc45f625ec82ab8cba6ea31d24595a925a4aabceb7e6605bcde(
28185
28438
  *,
28439
+ enable_capacity_reservation_provision_stabilize: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
28186
28440
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
28187
28441
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
28188
28442
  ip_address_type: typing.Optional[builtins.str] = None,
@@ -28782,6 +29036,7 @@ def _typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92
28782
29036
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
28783
29037
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
28784
29038
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
29039
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
28785
29040
  target_group_name: typing.Optional[builtins.str] = None,
28786
29041
  target_type: typing.Optional[TargetType] = None,
28787
29042
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -28892,6 +29147,16 @@ def _typecheckingstub__7c19dd8de36c1c86ebd89e7c24379bf1b20a6e5f343db95042864bf02
28892
29147
  """Type checking stubs"""
28893
29148
  pass
28894
29149
 
29150
+ def _typecheckingstub__50b92a6e3fb50861786c29f006a421debbe4bf2e446caaef18d21a99c0e35f73(
29151
+ *,
29152
+ dns_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
29153
+ dns_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
29154
+ routing_minimum_healthy_target_count: typing.Optional[jsii.Number] = None,
29155
+ routing_minimum_healthy_target_percentage: typing.Optional[jsii.Number] = None,
29156
+ ) -> None:
29157
+ """Type checking stubs"""
29158
+ pass
29159
+
28895
29160
  def _typecheckingstub__7b22d0445cb034b55d9115fd027b3d892bce86e7f1261aa808a4125edf21d635(
28896
29161
  *,
28897
29162
  target_group_arn: builtins.str,
@@ -29086,6 +29351,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
29086
29351
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
29087
29352
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
29088
29353
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
29354
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
29089
29355
  target_group_name: typing.Optional[builtins.str] = None,
29090
29356
  target_type: typing.Optional[TargetType] = None,
29091
29357
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -29572,6 +29838,7 @@ def _typecheckingstub__907e1e3e88136a6a7bdcdac293563447ed893c77b9f7b1e7154fb1749
29572
29838
  scope: _constructs_77d1e7e8.Construct,
29573
29839
  id: builtins.str,
29574
29840
  *,
29841
+ enable_capacity_reservation_provision_stabilize: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
29575
29842
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
29576
29843
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
29577
29844
  ip_address_type: typing.Optional[builtins.str] = None,
@@ -29601,6 +29868,12 @@ def _typecheckingstub__1a178a2aa61d40ebc079a81b6caeba1ff6649a54d784e4ce75ed79b7e
29601
29868
  """Type checking stubs"""
29602
29869
  pass
29603
29870
 
29871
+ def _typecheckingstub__db326b5431980db555d148f9ae3420eff076c5f4436bcac08ce2f9c7154eefce(
29872
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
29873
+ ) -> None:
29874
+ """Type checking stubs"""
29875
+ pass
29876
+
29604
29877
  def _typecheckingstub__38b5ad2c151ce05a51bb2ba1eaa4eb8a906d379df6a66c99f7a4f368bf663f77(
29605
29878
  value: typing.Optional[builtins.str],
29606
29879
  ) -> None:
@@ -30183,6 +30456,7 @@ def _typecheckingstub__eebfbf2a20edd0baf4d455f02dd34d748c5eccfa9a5268e5e2ebec245
30183
30456
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
30184
30457
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
30185
30458
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
30459
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
30186
30460
  target_group_name: typing.Optional[builtins.str] = None,
30187
30461
  target_type: typing.Optional[TargetType] = None,
30188
30462
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -30471,6 +30745,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
30471
30745
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
30472
30746
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
30473
30747
  ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
30748
+ target_group_health: typing.Optional[typing.Union[TargetGroupHealth, typing.Dict[builtins.str, typing.Any]]] = None,
30474
30749
  target_group_name: typing.Optional[builtins.str] = None,
30475
30750
  target_type: typing.Optional[TargetType] = None,
30476
30751
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -5593,7 +5593,7 @@ class CfnDomain(
5593
5593
  The ``AWS::Elasticsearch::Domain`` resource is being replaced by the `AWS::OpenSearchService::Domain <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearchservice-domain.html>`_ resource. While the legacy Elasticsearch resource and options are still supported, we recommend modifying your existing Cloudformation templates to use the new OpenSearch Service resource, which supports both OpenSearch and Elasticsearch. For more information about the service rename, see `New resource types <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/rename.html#rename-resource>`_ in the *Amazon OpenSearch Service Developer Guide* .
5594
5594
 
5595
5595
  :param custom_endpoint: The fully qualified URL for your custom endpoint. Required if you enabled a custom endpoint for the domain.
5596
- :param custom_endpoint_certificate_arn: The AWS Certificate Manager ARN for your domain's SSL/TLS certificate. Required if you enabled a custom endpoint for the domain.
5596
+ :param custom_endpoint_certificate_arn: The Certificate Manager ARN for your domain's SSL/TLS certificate. Required if you enabled a custom endpoint for the domain.
5597
5597
  :param custom_endpoint_enabled: True to enable a custom endpoint for the domain. If enabled, you must also provide values for ``CustomEndpoint`` and ``CustomEndpointCertificateArn`` .
5598
5598
  :param enforce_https: True to require that all traffic to the domain arrive over HTTPS.
5599
5599
  :param tls_security_policy: The minimum TLS version required for traffic to the domain. Valid values are TLS 1.3 (recommended) or 1.2:. - ``Policy-Min-TLS-1-0-2019-07`` - ``Policy-Min-TLS-1-2-2019-07``
@@ -5647,7 +5647,7 @@ class CfnDomain(
5647
5647
 
5648
5648
  @builtins.property
5649
5649
  def custom_endpoint_certificate_arn(self) -> typing.Optional[builtins.str]:
5650
- '''The AWS Certificate Manager ARN for your domain's SSL/TLS certificate.
5650
+ '''The Certificate Manager ARN for your domain's SSL/TLS certificate.
5651
5651
 
5652
5652
  Required if you enabled a custom endpoint for the domain.
5653
5653