aws-cdk-lib 2.164.1__py3-none-any.whl → 2.165.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 (30) hide show
  1. aws_cdk/__init__.py +20 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.164.1.jsii.tgz → aws-cdk-lib@2.165.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appsync/__init__.py +24 -18
  5. aws_cdk/aws_autoscaling/__init__.py +145 -8
  6. aws_cdk/aws_backup/__init__.py +598 -0
  7. aws_cdk/aws_bedrock/__init__.py +8 -8
  8. aws_cdk/aws_codebuild/__init__.py +88 -33
  9. aws_cdk/aws_cognito/__init__.py +657 -95
  10. aws_cdk/aws_ec2/__init__.py +122 -32
  11. aws_cdk/aws_eks/__init__.py +10 -12
  12. aws_cdk/aws_elasticache/__init__.py +47 -6
  13. aws_cdk/aws_imagebuilder/__init__.py +183 -0
  14. aws_cdk/aws_iot/__init__.py +37 -43
  15. aws_cdk/aws_iotwireless/__init__.py +2 -2
  16. aws_cdk/aws_memorydb/__init__.py +41 -0
  17. aws_cdk/aws_qbusiness/__init__.py +21 -14
  18. aws_cdk/aws_rds/__init__.py +122 -32
  19. aws_cdk/aws_redshift/__init__.py +23 -23
  20. aws_cdk/aws_refactorspaces/__init__.py +56 -61
  21. aws_cdk/aws_resiliencehub/__init__.py +4 -4
  22. aws_cdk/aws_route53/__init__.py +3 -1
  23. aws_cdk/aws_sagemaker/__init__.py +69 -0
  24. aws_cdk/aws_sqs/__init__.py +9 -12
  25. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/METADATA +6 -6
  26. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/RECORD +30 -30
  27. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/LICENSE +0 -0
  28. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/NOTICE +0 -0
  29. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/WHEEL +0 -0
  30. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.165.0.dist-info}/top_level.txt +0 -0
@@ -5668,7 +5668,7 @@ class CfnCapacityReservation(
5668
5668
  :param placement_group_arn: The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
5669
5669
  :param tag_specifications: The tags to apply to the Capacity Reservation during launch.
5670
5670
  :param tenancy: Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. - ``default`` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - ``dedicated`` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .
5671
- :param unused_reservation_billing_owner_id:
5671
+ :param unused_reservation_billing_owner_id: The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned.
5672
5672
  '''
5673
5673
  if __debug__:
5674
5674
  type_hints = typing.get_type_hints(_typecheckingstub__96fb3bc559aaa9df971e86ea7cdd3cdc3de550019a2d3bf247d3fb169b5e9f7e)
@@ -5985,6 +5985,7 @@ class CfnCapacityReservation(
5985
5985
  @builtins.property
5986
5986
  @jsii.member(jsii_name="unusedReservationBillingOwnerId")
5987
5987
  def unused_reservation_billing_owner_id(self) -> typing.Optional[builtins.str]:
5988
+ '''The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned.'''
5988
5989
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "unusedReservationBillingOwnerId"))
5989
5990
 
5990
5991
  @unused_reservation_billing_owner_id.setter
@@ -6886,7 +6887,7 @@ class CfnCapacityReservationProps:
6886
6887
  :param placement_group_arn: The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
6887
6888
  :param tag_specifications: The tags to apply to the Capacity Reservation during launch.
6888
6889
  :param tenancy: Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. - ``default`` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - ``dedicated`` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .
6889
- :param unused_reservation_billing_owner_id:
6890
+ :param unused_reservation_billing_owner_id: The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned.
6890
6891
 
6891
6892
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html
6892
6893
  :exampleMetadata: fixture=_generated
@@ -7121,7 +7122,8 @@ class CfnCapacityReservationProps:
7121
7122
 
7122
7123
  @builtins.property
7123
7124
  def unused_reservation_billing_owner_id(self) -> typing.Optional[builtins.str]:
7124
- '''
7125
+ '''The ID of the AWS account to which billing of the unused capacity of the Capacity Reservation is assigned.
7126
+
7125
7127
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-unusedreservationbillingownerid
7126
7128
  '''
7127
7129
  result = self._values.get("unused_reservation_billing_owner_id")
@@ -14107,8 +14109,10 @@ class CfnEIP(
14107
14109
  scope: _constructs_77d1e7e8.Construct,
14108
14110
  id: builtins.str,
14109
14111
  *,
14112
+ address: typing.Optional[builtins.str] = None,
14110
14113
  domain: typing.Optional[builtins.str] = None,
14111
14114
  instance_id: typing.Optional[builtins.str] = None,
14115
+ ipam_pool_id: typing.Optional[builtins.str] = None,
14112
14116
  network_border_group: typing.Optional[builtins.str] = None,
14113
14117
  public_ipv4_pool: typing.Optional[builtins.str] = None,
14114
14118
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14117,8 +14121,10 @@ class CfnEIP(
14117
14121
  '''
14118
14122
  :param scope: Scope in which this resource is defined.
14119
14123
  :param id: Construct identifier for this resource (unique in its scope).
14124
+ :param address:
14120
14125
  :param domain: The network ( ``vpc`` ). If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ on this resource.
14121
14126
  :param instance_id: The ID of the instance. .. epigraph:: Updates to the ``InstanceId`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
14127
+ :param ipam_pool_id:
14122
14128
  :param network_border_group: A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. Use `DescribeAvailabilityZones <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html>`_ to view the network border groups.
14123
14129
  :param public_ipv4_pool: The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. .. epigraph:: Updates to the ``PublicIpv4Pool`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
14124
14130
  :param tags: Any tags assigned to the Elastic IP address. .. epigraph:: Updates to the ``Tags`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
@@ -14129,8 +14135,10 @@ class CfnEIP(
14129
14135
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
14130
14136
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
14131
14137
  props = CfnEIPProps(
14138
+ address=address,
14132
14139
  domain=domain,
14133
14140
  instance_id=instance_id,
14141
+ ipam_pool_id=ipam_pool_id,
14134
14142
  network_border_group=network_border_group,
14135
14143
  public_ipv4_pool=public_ipv4_pool,
14136
14144
  tags=tags,
@@ -14200,6 +14208,18 @@ class CfnEIP(
14200
14208
  '''Tag Manager which manages the tags for this resource.'''
14201
14209
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
14202
14210
 
14211
+ @builtins.property
14212
+ @jsii.member(jsii_name="address")
14213
+ def address(self) -> typing.Optional[builtins.str]:
14214
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "address"))
14215
+
14216
+ @address.setter
14217
+ def address(self, value: typing.Optional[builtins.str]) -> None:
14218
+ if __debug__:
14219
+ type_hints = typing.get_type_hints(_typecheckingstub__3181fa5c4d75016f17f69f9df76a3499499668e87d593e6609b7dfb341b5b54a)
14220
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14221
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
14222
+
14203
14223
  @builtins.property
14204
14224
  @jsii.member(jsii_name="domain")
14205
14225
  def domain(self) -> typing.Optional[builtins.str]:
@@ -14226,6 +14246,18 @@ class CfnEIP(
14226
14246
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14227
14247
  jsii.set(self, "instanceId", value) # pyright: ignore[reportArgumentType]
14228
14248
 
14249
+ @builtins.property
14250
+ @jsii.member(jsii_name="ipamPoolId")
14251
+ def ipam_pool_id(self) -> typing.Optional[builtins.str]:
14252
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipamPoolId"))
14253
+
14254
+ @ipam_pool_id.setter
14255
+ def ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
14256
+ if __debug__:
14257
+ type_hints = typing.get_type_hints(_typecheckingstub__01687921711d1f3c67e4646d6c469f48798d6ad165b0b5a020b27f122f7abf9e)
14258
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14259
+ jsii.set(self, "ipamPoolId", value) # pyright: ignore[reportArgumentType]
14260
+
14229
14261
  @builtins.property
14230
14262
  @jsii.member(jsii_name="networkBorderGroup")
14231
14263
  def network_border_group(self) -> typing.Optional[builtins.str]:
@@ -14596,8 +14628,10 @@ class CfnEIPAssociationProps:
14596
14628
  jsii_type="aws-cdk-lib.aws_ec2.CfnEIPProps",
14597
14629
  jsii_struct_bases=[],
14598
14630
  name_mapping={
14631
+ "address": "address",
14599
14632
  "domain": "domain",
14600
14633
  "instance_id": "instanceId",
14634
+ "ipam_pool_id": "ipamPoolId",
14601
14635
  "network_border_group": "networkBorderGroup",
14602
14636
  "public_ipv4_pool": "publicIpv4Pool",
14603
14637
  "tags": "tags",
@@ -14608,8 +14642,10 @@ class CfnEIPProps:
14608
14642
  def __init__(
14609
14643
  self,
14610
14644
  *,
14645
+ address: typing.Optional[builtins.str] = None,
14611
14646
  domain: typing.Optional[builtins.str] = None,
14612
14647
  instance_id: typing.Optional[builtins.str] = None,
14648
+ ipam_pool_id: typing.Optional[builtins.str] = None,
14613
14649
  network_border_group: typing.Optional[builtins.str] = None,
14614
14650
  public_ipv4_pool: typing.Optional[builtins.str] = None,
14615
14651
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14617,8 +14653,10 @@ class CfnEIPProps:
14617
14653
  ) -> None:
14618
14654
  '''Properties for defining a ``CfnEIP``.
14619
14655
 
14656
+ :param address:
14620
14657
  :param domain: The network ( ``vpc`` ). If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ on this resource.
14621
14658
  :param instance_id: The ID of the instance. .. epigraph:: Updates to the ``InstanceId`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
14659
+ :param ipam_pool_id:
14622
14660
  :param network_border_group: A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. Use `DescribeAvailabilityZones <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html>`_ to view the network border groups.
14623
14661
  :param public_ipv4_pool: The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. .. epigraph:: Updates to the ``PublicIpv4Pool`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
14624
14662
  :param tags: Any tags assigned to the Elastic IP address. .. epigraph:: Updates to the ``Tags`` property may require *some interruptions* . Updates on an EIP reassociates the address on its associated resource.
@@ -14645,17 +14683,23 @@ class CfnEIPProps:
14645
14683
  '''
14646
14684
  if __debug__:
14647
14685
  type_hints = typing.get_type_hints(_typecheckingstub__ff96bcb9544d5ebc6273ac8c518468df0cc1fd7720428f6e4ec85ecddb06fa60)
14686
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
14648
14687
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
14649
14688
  check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
14689
+ check_type(argname="argument ipam_pool_id", value=ipam_pool_id, expected_type=type_hints["ipam_pool_id"])
14650
14690
  check_type(argname="argument network_border_group", value=network_border_group, expected_type=type_hints["network_border_group"])
14651
14691
  check_type(argname="argument public_ipv4_pool", value=public_ipv4_pool, expected_type=type_hints["public_ipv4_pool"])
14652
14692
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
14653
14693
  check_type(argname="argument transfer_address", value=transfer_address, expected_type=type_hints["transfer_address"])
14654
14694
  self._values: typing.Dict[builtins.str, typing.Any] = {}
14695
+ if address is not None:
14696
+ self._values["address"] = address
14655
14697
  if domain is not None:
14656
14698
  self._values["domain"] = domain
14657
14699
  if instance_id is not None:
14658
14700
  self._values["instance_id"] = instance_id
14701
+ if ipam_pool_id is not None:
14702
+ self._values["ipam_pool_id"] = ipam_pool_id
14659
14703
  if network_border_group is not None:
14660
14704
  self._values["network_border_group"] = network_border_group
14661
14705
  if public_ipv4_pool is not None:
@@ -14665,6 +14709,14 @@ class CfnEIPProps:
14665
14709
  if transfer_address is not None:
14666
14710
  self._values["transfer_address"] = transfer_address
14667
14711
 
14712
+ @builtins.property
14713
+ def address(self) -> typing.Optional[builtins.str]:
14714
+ '''
14715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-address
14716
+ '''
14717
+ result = self._values.get("address")
14718
+ return typing.cast(typing.Optional[builtins.str], result)
14719
+
14668
14720
  @builtins.property
14669
14721
  def domain(self) -> typing.Optional[builtins.str]:
14670
14722
  '''The network ( ``vpc`` ).
@@ -14689,6 +14741,14 @@ class CfnEIPProps:
14689
14741
  result = self._values.get("instance_id")
14690
14742
  return typing.cast(typing.Optional[builtins.str], result)
14691
14743
 
14744
+ @builtins.property
14745
+ def ipam_pool_id(self) -> typing.Optional[builtins.str]:
14746
+ '''
14747
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-ipampoolid
14748
+ '''
14749
+ result = self._values.get("ipam_pool_id")
14750
+ return typing.cast(typing.Optional[builtins.str], result)
14751
+
14692
14752
  @builtins.property
14693
14753
  def network_border_group(self) -> typing.Optional[builtins.str]:
14694
14754
  '''A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
@@ -75731,34 +75791,35 @@ class InterfaceVpcEndpointAwsService(
75731
75791
  ):
75732
75792
  '''An AWS service for an interface VPC endpoint.
75733
75793
 
75734
- :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
75794
+ :exampleMetadata: infused
75735
75795
 
75736
75796
  Example::
75737
75797
 
75738
- # Add gateway endpoints when creating the VPC
75739
- vpc = ec2.Vpc(self, "MyVpc",
75740
- gateway_endpoints={
75741
- "S3": cdk.aws_ec2.GatewayVpcEndpointOptions(
75742
- service=ec2.GatewayVpcEndpointAwsService.S3
75743
- )
75744
- }
75745
- )
75798
+ import aws_cdk.aws_ec2 as ec2
75746
75799
 
75747
- # Alternatively gateway endpoints can be added on the VPC
75748
- dynamo_db_endpoint = vpc.add_gateway_endpoint("DynamoDbEndpoint",
75749
- service=ec2.GatewayVpcEndpointAwsService.DYNAMODB
75800
+ # vpc: ec2.Vpc
75801
+
75802
+
75803
+ interface_vpc_endpoint = ec2.InterfaceVpcEndpoint(self, "MyVpcEndpoint",
75804
+ vpc=vpc,
75805
+ service=ec2.InterfaceVpcEndpointAwsService.APP_RUNNER_REQUESTS,
75806
+ private_dns_enabled=False
75750
75807
  )
75751
75808
 
75752
- # This allows to customize the endpoint policy
75753
- dynamo_db_endpoint.add_to_policy(
75754
- iam.PolicyStatement( # Restrict to listing and describing tables
75755
- principals=[iam.AnyPrincipal()],
75756
- actions=["dynamodb:DescribeTable", "dynamodb:ListTables"],
75757
- resources=["*"]))
75809
+ service = apprunner.Service(self, "Service",
75810
+ source=apprunner.Source.from_ecr_public(
75811
+ image_configuration=apprunner.ImageConfiguration(
75812
+ port=8000
75813
+ ),
75814
+ image_identifier="public.ecr.aws/aws-containers/hello-app-runner:latest"
75815
+ ),
75816
+ is_publicly_accessible=False
75817
+ )
75758
75818
 
75759
- # Add an interface endpoint
75760
- vpc.add_interface_endpoint("EcrDockerEndpoint",
75761
- service=ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER
75819
+ apprunner.VpcIngressConnection(self, "VpcIngressConnection",
75820
+ vpc=vpc,
75821
+ interface_vpc_endpoint=interface_vpc_endpoint,
75822
+ service=service
75762
75823
  )
75763
75824
  '''
75764
75825
 
@@ -76445,6 +76506,11 @@ class InterfaceVpcEndpointAwsService(
76445
76506
  def EMR_WAL(cls) -> "InterfaceVpcEndpointAwsService":
76446
76507
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EMR_WAL"))
76447
76508
 
76509
+ @jsii.python.classproperty
76510
+ @jsii.member(jsii_name="END_USER_MESSAGING_SOCIAL")
76511
+ def END_USER_MESSAGING_SOCIAL(cls) -> "InterfaceVpcEndpointAwsService":
76512
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "END_USER_MESSAGING_SOCIAL"))
76513
+
76448
76514
  @jsii.python.classproperty
76449
76515
  @jsii.member(jsii_name="ENTITY_RESOLUTION")
76450
76516
  def ENTITY_RESOLUTION(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77002,6 +77068,11 @@ class InterfaceVpcEndpointAwsService(
77002
77068
  def POLLY(cls) -> "InterfaceVpcEndpointAwsService":
77003
77069
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "POLLY"))
77004
77070
 
77071
+ @jsii.python.classproperty
77072
+ @jsii.member(jsii_name="PRICE_LIST")
77073
+ def PRICE_LIST(cls) -> "InterfaceVpcEndpointAwsService":
77074
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICE_LIST"))
77075
+
77005
77076
  @jsii.python.classproperty
77006
77077
  @jsii.member(jsii_name="PRIVATE_5G")
77007
77078
  def PRIVATE_5_G(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77431,6 +77502,11 @@ class InterfaceVpcEndpointAwsService(
77431
77502
  def WELL_ARCHITECTED_TOOL(cls) -> "InterfaceVpcEndpointAwsService":
77432
77503
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WELL_ARCHITECTED_TOOL"))
77433
77504
 
77505
+ @jsii.python.classproperty
77506
+ @jsii.member(jsii_name="WORKMAIL")
77507
+ def WORKMAIL(cls) -> "InterfaceVpcEndpointAwsService":
77508
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKMAIL"))
77509
+
77434
77510
  @jsii.python.classproperty
77435
77511
  @jsii.member(jsii_name="WORKSPACES")
77436
77512
  def WORKSPACES(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77738,9 +77814,8 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
77738
77814
  ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
77739
77815
  vpc=vpc,
77740
77816
  service=ec2.InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc", 443),
77741
- # Choose which availability zones to place the VPC endpoint in, based on
77742
- # available AZs
77743
77817
  subnets=ec2.SubnetSelection(
77818
+ subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
77744
77819
  availability_zones=["us-east-1a", "us-east-1c"]
77745
77820
  )
77746
77821
  )
@@ -86397,18 +86472,18 @@ class SubnetType(enum.Enum):
86397
86472
 
86398
86473
  # vpc: ec2.Vpc
86399
86474
 
86400
-
86401
86475
  cluster = docdb.DatabaseCluster(self, "Database",
86402
86476
  master_user=docdb.Login(
86403
- username="myuser"
86477
+ username="myuser", # NOTE: 'admin' is reserved by DocumentDB
86478
+ exclude_characters="\"@/:", # optional, defaults to the set "\"@/" and is also used for eventually created rotations
86479
+ secret_name="/myapp/mydocdb/masteruser"
86404
86480
  ),
86405
86481
  instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
86406
86482
  vpc_subnets=ec2.SubnetSelection(
86407
86483
  subnet_type=ec2.SubnetType.PUBLIC
86408
86484
  ),
86409
86485
  vpc=vpc,
86410
- removal_policy=RemovalPolicy.SNAPSHOT,
86411
- instance_removal_policy=RemovalPolicy.RETAIN
86486
+ copy_tags_to_snapshot=True
86412
86487
  )
86413
86488
  '''
86414
86489
 
@@ -93828,9 +93903,8 @@ class InterfaceVpcEndpoint(
93828
93903
  ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
93829
93904
  vpc=vpc,
93830
93905
  service=ec2.InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc", 443),
93831
- # Choose which availability zones to place the VPC endpoint in, based on
93832
- # available AZs
93833
93906
  subnets=ec2.SubnetSelection(
93907
+ subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
93834
93908
  availability_zones=["us-east-1a", "us-east-1c"]
93835
93909
  )
93836
93910
  )
@@ -98170,8 +98244,10 @@ def _typecheckingstub__bccc7dacde749a3ad3c41d116d1f509ffb5b6881668bfa61c205201b1
98170
98244
  scope: _constructs_77d1e7e8.Construct,
98171
98245
  id: builtins.str,
98172
98246
  *,
98247
+ address: typing.Optional[builtins.str] = None,
98173
98248
  domain: typing.Optional[builtins.str] = None,
98174
98249
  instance_id: typing.Optional[builtins.str] = None,
98250
+ ipam_pool_id: typing.Optional[builtins.str] = None,
98175
98251
  network_border_group: typing.Optional[builtins.str] = None,
98176
98252
  public_ipv4_pool: typing.Optional[builtins.str] = None,
98177
98253
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -98192,6 +98268,12 @@ def _typecheckingstub__11eb36186f31c4bea4b03f2dbdc66bc726d4347d12b0636ac6aafbdaf
98192
98268
  """Type checking stubs"""
98193
98269
  pass
98194
98270
 
98271
+ def _typecheckingstub__3181fa5c4d75016f17f69f9df76a3499499668e87d593e6609b7dfb341b5b54a(
98272
+ value: typing.Optional[builtins.str],
98273
+ ) -> None:
98274
+ """Type checking stubs"""
98275
+ pass
98276
+
98195
98277
  def _typecheckingstub__c49330fba74ade775140567a6ae48812faa62fb21c67fbdd7930ff5cb2189524(
98196
98278
  value: typing.Optional[builtins.str],
98197
98279
  ) -> None:
@@ -98204,6 +98286,12 @@ def _typecheckingstub__ca5d5ea7abaea702ac65d5f9e8401058e42e908ac87dfdbb8722dcb03
98204
98286
  """Type checking stubs"""
98205
98287
  pass
98206
98288
 
98289
+ def _typecheckingstub__01687921711d1f3c67e4646d6c469f48798d6ad165b0b5a020b27f122f7abf9e(
98290
+ value: typing.Optional[builtins.str],
98291
+ ) -> None:
98292
+ """Type checking stubs"""
98293
+ pass
98294
+
98207
98295
  def _typecheckingstub__ad1782664068283c33182db79bb89a1f93f451785b0dfd4fedeaf0a308110149(
98208
98296
  value: typing.Optional[builtins.str],
98209
98297
  ) -> None:
@@ -98296,8 +98384,10 @@ def _typecheckingstub__d7e6118721d9f331f2cfafeff3be65471b4d44c1abf5e5083229fa0bb
98296
98384
 
98297
98385
  def _typecheckingstub__ff96bcb9544d5ebc6273ac8c518468df0cc1fd7720428f6e4ec85ecddb06fa60(
98298
98386
  *,
98387
+ address: typing.Optional[builtins.str] = None,
98299
98388
  domain: typing.Optional[builtins.str] = None,
98300
98389
  instance_id: typing.Optional[builtins.str] = None,
98390
+ ipam_pool_id: typing.Optional[builtins.str] = None,
98301
98391
  network_border_group: typing.Optional[builtins.str] = None,
98302
98392
  public_ipv4_pool: typing.Optional[builtins.str] = None,
98303
98393
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -5858,12 +5858,12 @@ class CfnCluster(
5858
5858
  :param encryption_config: The encryption configuration for the cluster.
5859
5859
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
5860
5860
  :param logging: The logging configuration for your cluster.
5861
- :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive), hyphens, and underscores. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in.
5861
+ :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
5862
5862
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
5863
5863
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
5864
5864
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the EKS User Guide. <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
5865
5865
  :param version: The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. .. epigraph:: The default version might not be the latest version available.
5866
- :param zonal_shift_config: The current zonal shift configuration to use for the cluster.
5866
+ :param zonal_shift_config: The configuration for zonal shift for the cluster.
5867
5867
  '''
5868
5868
  if __debug__:
5869
5869
  type_hints = typing.get_type_hints(_typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938756eb35)
@@ -6209,7 +6209,7 @@ class CfnCluster(
6209
6209
  def zonal_shift_config(
6210
6210
  self,
6211
6211
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ZonalShiftConfigProperty"]]:
6212
- '''The current zonal shift configuration to use for the cluster.'''
6212
+ '''The configuration for zonal shift for the cluster.'''
6213
6213
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ZonalShiftConfigProperty"]], jsii.get(self, "zonalShiftConfig"))
6214
6214
 
6215
6215
  @zonal_shift_config.setter
@@ -7092,9 +7092,9 @@ class CfnCluster(
7092
7092
  *,
7093
7093
  enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7094
7094
  ) -> None:
7095
- '''The current zonal shift configuration to use for the cluster.
7095
+ '''The configuration for zonal shift for the cluster.
7096
7096
 
7097
- :param enabled: Set this value to true to enable zonal shift for the cluster.
7097
+ :param enabled: If zonal shift is enabled, AWS configures zonal autoshift for the cluster.
7098
7098
 
7099
7099
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-zonalshiftconfig.html
7100
7100
  :exampleMetadata: fixture=_generated
@@ -7120,7 +7120,7 @@ class CfnCluster(
7120
7120
  def enabled(
7121
7121
  self,
7122
7122
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7123
- '''Set this value to true to enable zonal shift for the cluster.
7123
+ '''If zonal shift is enabled, AWS configures zonal autoshift for the cluster.
7124
7124
 
7125
7125
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-zonalshiftconfig.html#cfn-eks-cluster-zonalshiftconfig-enabled
7126
7126
  '''
@@ -7185,12 +7185,12 @@ class CfnClusterProps:
7185
7185
  :param encryption_config: The encryption configuration for the cluster.
7186
7186
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
7187
7187
  :param logging: The logging configuration for your cluster.
7188
- :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive), hyphens, and underscores. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in.
7188
+ :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
7189
7189
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
7190
7190
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
7191
7191
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the EKS User Guide. <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
7192
7192
  :param version: The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. .. epigraph:: The default version might not be the latest version available.
7193
- :param zonal_shift_config: The current zonal shift configuration to use for the cluster.
7193
+ :param zonal_shift_config: The configuration for zonal shift for the cluster.
7194
7194
 
7195
7195
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html
7196
7196
  :exampleMetadata: fixture=_generated
@@ -7391,9 +7391,7 @@ class CfnClusterProps:
7391
7391
  def name(self) -> typing.Optional[builtins.str]:
7392
7392
  '''The unique name to give to your cluster.
7393
7393
 
7394
- The name can contain only alphanumeric characters (case-sensitive),
7395
- hyphens, and underscores. It must start with an alphanumeric character and can't be longer than
7396
- 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in.
7394
+ The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
7397
7395
 
7398
7396
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name
7399
7397
  '''
@@ -7458,7 +7456,7 @@ class CfnClusterProps:
7458
7456
  def zonal_shift_config(
7459
7457
  self,
7460
7458
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.ZonalShiftConfigProperty]]:
7461
- '''The current zonal shift configuration to use for the cluster.
7459
+ '''The configuration for zonal shift for the cluster.
7462
7460
 
7463
7461
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-zonalshiftconfig
7464
7462
  '''