aws-cdk-lib 2.164.1__py3-none-any.whl → 2.166.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 (52) 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.166.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appsync/__init__.py +2163 -375
  5. aws_cdk/aws_autoscaling/__init__.py +145 -8
  6. aws_cdk/aws_backup/__init__.py +627 -3
  7. aws_cdk/aws_bedrock/__init__.py +982 -191
  8. aws_cdk/aws_codebuild/__init__.py +88 -33
  9. aws_cdk/aws_codepipeline/__init__.py +98 -5
  10. aws_cdk/aws_codestar/__init__.py +1 -1
  11. aws_cdk/aws_cognito/__init__.py +656 -102
  12. aws_cdk/aws_connect/__init__.py +1 -1
  13. aws_cdk/aws_datasync/__init__.py +9 -7
  14. aws_cdk/aws_devopsguru/__init__.py +2 -2
  15. aws_cdk/aws_dms/__init__.py +762 -0
  16. aws_cdk/aws_dynamodb/__init__.py +13 -8
  17. aws_cdk/aws_ec2/__init__.py +134 -35
  18. aws_cdk/aws_ecs/__init__.py +41 -31
  19. aws_cdk/aws_eks/__init__.py +10 -12
  20. aws_cdk/aws_elasticache/__init__.py +52 -6
  21. aws_cdk/aws_emrserverless/__init__.py +35 -33
  22. aws_cdk/aws_events/__init__.py +25 -30
  23. aws_cdk/aws_imagebuilder/__init__.py +183 -0
  24. aws_cdk/aws_iot/__init__.py +37 -43
  25. aws_cdk/aws_iotwireless/__init__.py +2 -2
  26. aws_cdk/aws_kinesis/__init__.py +297 -1
  27. aws_cdk/aws_lambda/__init__.py +3 -3
  28. aws_cdk/aws_m2/__init__.py +58 -58
  29. aws_cdk/aws_mediapackagev2/__init__.py +191 -0
  30. aws_cdk/aws_memorydb/__init__.py +41 -0
  31. aws_cdk/aws_networkfirewall/__init__.py +14 -5
  32. aws_cdk/aws_opensearchservice/__init__.py +969 -0
  33. aws_cdk/aws_pipes/__init__.py +1 -1
  34. aws_cdk/aws_qbusiness/__init__.py +23 -14
  35. aws_cdk/aws_rds/__init__.py +187 -48
  36. aws_cdk/aws_redshift/__init__.py +23 -23
  37. aws_cdk/aws_refactorspaces/__init__.py +56 -61
  38. aws_cdk/aws_resiliencehub/__init__.py +4 -4
  39. aws_cdk/aws_route53/__init__.py +37 -9
  40. aws_cdk/aws_s3_deployment/__init__.py +13 -7
  41. aws_cdk/aws_sagemaker/__init__.py +128 -23
  42. aws_cdk/aws_secretsmanager/__init__.py +2 -1
  43. aws_cdk/aws_ses/__init__.py +19 -0
  44. aws_cdk/aws_synthetics/__init__.py +121 -0
  45. aws_cdk/aws_timestream/__init__.py +41 -0
  46. aws_cdk/aws_wisdom/__init__.py +2035 -61
  47. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/METADATA +6 -6
  48. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/RECORD +52 -52
  49. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/LICENSE +0 -0
  50. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/NOTICE +0 -0
  51. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/WHEEL +0 -0
  52. {aws_cdk_lib-2.164.1.dist-info → aws_cdk_lib-2.166.0.dist-info}/top_level.txt +0 -0
@@ -12029,7 +12029,7 @@ class TableOptionsV2:
12029
12029
  :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
12030
12030
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
12031
12031
  :param table_class: The table class. Default: TableClass.STANDARD
12032
- :param tags: Tags to be applied to the table or replica table. Default: - no tags
12032
+ :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
12033
12033
 
12034
12034
  :exampleMetadata: fixture=_generated
12035
12035
 
@@ -12140,7 +12140,7 @@ class TableOptionsV2:
12140
12140
 
12141
12141
  @builtins.property
12142
12142
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
12143
- '''Tags to be applied to the table or replica table.
12143
+ '''Tags to be applied to the primary table (default replica table).
12144
12144
 
12145
12145
  :default: - no tags
12146
12146
  '''
@@ -12676,7 +12676,7 @@ class TablePropsV2(TableOptionsV2):
12676
12676
  :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
12677
12677
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
12678
12678
  :param table_class: The table class. Default: TableClass.STANDARD
12679
- :param tags: Tags to be applied to the table or replica table. Default: - no tags
12679
+ :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
12680
12680
  :param partition_key: Partition key attribute definition.
12681
12681
  :param billing: The billing mode and capacity settings to apply to the table. Default: Billing.onDemand()
12682
12682
  :param dynamo_stream: When an item in the table is modified, StreamViewType determines what information is written to the stream. Default: - streams are disabled if replicas are not configured and this property is not specified. If this property is not specified when replicas are configured, then NEW_AND_OLD_IMAGES will be the StreamViewType for all replicas
@@ -12827,7 +12827,7 @@ class TablePropsV2(TableOptionsV2):
12827
12827
 
12828
12828
  @builtins.property
12829
12829
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
12830
- '''Tags to be applied to the table or replica table.
12830
+ '''Tags to be applied to the primary table (default replica table).
12831
12831
 
12832
12832
  :default: - no tags
12833
12833
  '''
@@ -13029,7 +13029,7 @@ class TableV2(
13029
13029
  :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
13030
13030
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
13031
13031
  :param table_class: The table class. Default: TableClass.STANDARD
13032
- :param tags: Tags to be applied to the table or replica table. Default: - no tags
13032
+ :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
13033
13033
  '''
13034
13034
  if __debug__:
13035
13035
  type_hints = typing.get_type_hints(_typecheckingstub__9ea47b003cdb497ff620f1410260696f97dbb2b00fa8558235f23771f8edcb29)
@@ -13245,7 +13245,7 @@ class TableV2(
13245
13245
  :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
13246
13246
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
13247
13247
  :param table_class: The table class. Default: TableClass.STANDARD
13248
- :param tags: Tags to be applied to the table or replica table. Default: - no tags
13248
+ :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
13249
13249
  '''
13250
13250
  props = ReplicaTableProps(
13251
13251
  region=region,
@@ -13304,6 +13304,11 @@ class TableV2(
13304
13304
  '''
13305
13305
  return typing.cast(builtins.str, jsii.get(self, "tableName"))
13306
13306
 
13307
+ @builtins.property
13308
+ @jsii.member(jsii_name="tags")
13309
+ def _tags(self) -> _TagManager_0a598cb3:
13310
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
13311
+
13307
13312
  @builtins.property
13308
13313
  @jsii.member(jsii_name="encryptionKey")
13309
13314
  def encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
@@ -14320,7 +14325,7 @@ class ReplicaTableProps(TableOptionsV2):
14320
14325
  :param point_in_time_recovery: Whether point-in-time recovery is enabled. Default: false
14321
14326
  :param resource_policy: Resource policy to assign to DynamoDB Table. Default: - No resource policy statements are added to the created table.
14322
14327
  :param table_class: The table class. Default: TableClass.STANDARD
14323
- :param tags: Tags to be applied to the table or replica table. Default: - no tags
14328
+ :param tags: Tags to be applied to the primary table (default replica table). Default: - no tags
14324
14329
  :param region: The region that the replica table will be created in.
14325
14330
  :param global_secondary_index_options: Options used to configure global secondary index properties. Default: - inherited from the primary table
14326
14331
  :param max_read_request_units: The maxium read request units. Note: This can only be configured if the primary table billing is PAY_PER_REQUEST. Default: - inherited from the primary table
@@ -14438,7 +14443,7 @@ class ReplicaTableProps(TableOptionsV2):
14438
14443
 
14439
14444
  @builtins.property
14440
14445
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
14441
- '''Tags to be applied to the table or replica table.
14446
+ '''Tags to be applied to the primary table (default replica table).
14442
14447
 
14443
14448
  :default: - no tags
14444
14449
  '''
@@ -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: Describes an Elastic IP address, or a carrier IP 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,19 @@ 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
+ '''Describes an Elastic IP address, or a carrier IP address.'''
14215
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "address"))
14216
+
14217
+ @address.setter
14218
+ def address(self, value: typing.Optional[builtins.str]) -> None:
14219
+ if __debug__:
14220
+ type_hints = typing.get_type_hints(_typecheckingstub__3181fa5c4d75016f17f69f9df76a3499499668e87d593e6609b7dfb341b5b54a)
14221
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14222
+ jsii.set(self, "address", value) # pyright: ignore[reportArgumentType]
14223
+
14203
14224
  @builtins.property
14204
14225
  @jsii.member(jsii_name="domain")
14205
14226
  def domain(self) -> typing.Optional[builtins.str]:
@@ -14226,6 +14247,18 @@ class CfnEIP(
14226
14247
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14227
14248
  jsii.set(self, "instanceId", value) # pyright: ignore[reportArgumentType]
14228
14249
 
14250
+ @builtins.property
14251
+ @jsii.member(jsii_name="ipamPoolId")
14252
+ def ipam_pool_id(self) -> typing.Optional[builtins.str]:
14253
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipamPoolId"))
14254
+
14255
+ @ipam_pool_id.setter
14256
+ def ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
14257
+ if __debug__:
14258
+ type_hints = typing.get_type_hints(_typecheckingstub__01687921711d1f3c67e4646d6c469f48798d6ad165b0b5a020b27f122f7abf9e)
14259
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
14260
+ jsii.set(self, "ipamPoolId", value) # pyright: ignore[reportArgumentType]
14261
+
14229
14262
  @builtins.property
14230
14263
  @jsii.member(jsii_name="networkBorderGroup")
14231
14264
  def network_border_group(self) -> typing.Optional[builtins.str]:
@@ -14596,8 +14629,10 @@ class CfnEIPAssociationProps:
14596
14629
  jsii_type="aws-cdk-lib.aws_ec2.CfnEIPProps",
14597
14630
  jsii_struct_bases=[],
14598
14631
  name_mapping={
14632
+ "address": "address",
14599
14633
  "domain": "domain",
14600
14634
  "instance_id": "instanceId",
14635
+ "ipam_pool_id": "ipamPoolId",
14601
14636
  "network_border_group": "networkBorderGroup",
14602
14637
  "public_ipv4_pool": "publicIpv4Pool",
14603
14638
  "tags": "tags",
@@ -14608,8 +14643,10 @@ class CfnEIPProps:
14608
14643
  def __init__(
14609
14644
  self,
14610
14645
  *,
14646
+ address: typing.Optional[builtins.str] = None,
14611
14647
  domain: typing.Optional[builtins.str] = None,
14612
14648
  instance_id: typing.Optional[builtins.str] = None,
14649
+ ipam_pool_id: typing.Optional[builtins.str] = None,
14613
14650
  network_border_group: typing.Optional[builtins.str] = None,
14614
14651
  public_ipv4_pool: typing.Optional[builtins.str] = None,
14615
14652
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14617,8 +14654,10 @@ class CfnEIPProps:
14617
14654
  ) -> None:
14618
14655
  '''Properties for defining a ``CfnEIP``.
14619
14656
 
14657
+ :param address: Describes an Elastic IP address, or a carrier IP address.
14620
14658
  :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
14659
  :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.
14660
+ :param ipam_pool_id:
14622
14661
  :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
14662
  :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
14663
  :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 +14684,23 @@ class CfnEIPProps:
14645
14684
  '''
14646
14685
  if __debug__:
14647
14686
  type_hints = typing.get_type_hints(_typecheckingstub__ff96bcb9544d5ebc6273ac8c518468df0cc1fd7720428f6e4ec85ecddb06fa60)
14687
+ check_type(argname="argument address", value=address, expected_type=type_hints["address"])
14648
14688
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
14649
14689
  check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
14690
+ check_type(argname="argument ipam_pool_id", value=ipam_pool_id, expected_type=type_hints["ipam_pool_id"])
14650
14691
  check_type(argname="argument network_border_group", value=network_border_group, expected_type=type_hints["network_border_group"])
14651
14692
  check_type(argname="argument public_ipv4_pool", value=public_ipv4_pool, expected_type=type_hints["public_ipv4_pool"])
14652
14693
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
14653
14694
  check_type(argname="argument transfer_address", value=transfer_address, expected_type=type_hints["transfer_address"])
14654
14695
  self._values: typing.Dict[builtins.str, typing.Any] = {}
14696
+ if address is not None:
14697
+ self._values["address"] = address
14655
14698
  if domain is not None:
14656
14699
  self._values["domain"] = domain
14657
14700
  if instance_id is not None:
14658
14701
  self._values["instance_id"] = instance_id
14702
+ if ipam_pool_id is not None:
14703
+ self._values["ipam_pool_id"] = ipam_pool_id
14659
14704
  if network_border_group is not None:
14660
14705
  self._values["network_border_group"] = network_border_group
14661
14706
  if public_ipv4_pool is not None:
@@ -14665,6 +14710,15 @@ class CfnEIPProps:
14665
14710
  if transfer_address is not None:
14666
14711
  self._values["transfer_address"] = transfer_address
14667
14712
 
14713
+ @builtins.property
14714
+ def address(self) -> typing.Optional[builtins.str]:
14715
+ '''Describes an Elastic IP address, or a carrier IP address.
14716
+
14717
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-address
14718
+ '''
14719
+ result = self._values.get("address")
14720
+ return typing.cast(typing.Optional[builtins.str], result)
14721
+
14668
14722
  @builtins.property
14669
14723
  def domain(self) -> typing.Optional[builtins.str]:
14670
14724
  '''The network ( ``vpc`` ).
@@ -14689,6 +14743,14 @@ class CfnEIPProps:
14689
14743
  result = self._values.get("instance_id")
14690
14744
  return typing.cast(typing.Optional[builtins.str], result)
14691
14745
 
14746
+ @builtins.property
14747
+ def ipam_pool_id(self) -> typing.Optional[builtins.str]:
14748
+ '''
14749
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-ipampoolid
14750
+ '''
14751
+ result = self._values.get("ipam_pool_id")
14752
+ return typing.cast(typing.Optional[builtins.str], result)
14753
+
14692
14754
  @builtins.property
14693
14755
  def network_border_group(self) -> typing.Optional[builtins.str]:
14694
14756
  '''A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses.
@@ -28160,7 +28222,7 @@ class CfnLaunchTemplate(
28160
28222
  :param device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
28161
28223
  :param ena_srd_specification: The ENA Express configuration for the network interface.
28162
28224
  :param groups: The IDs of one or more security groups.
28163
- :param interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon EC2 User Guide* . If you are not creating an EFA, specify ``interface`` or omit this parameter. Valid values: ``interface`` | ``efa``
28225
+ :param interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon EC2 User Guide* . If you are not creating an EFA, specify ``interface`` or omit this parameter. If you specify ``efa-only`` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. Valid values: ``interface`` | ``efa`` | ``efa-only``
28164
28226
  :param ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. You cannot use this option if you use the ``Ipv4Prefix`` option.
28165
28227
  :param ipv4_prefixes: One or more IPv4 prefixes to be assigned to the network interface. You cannot use this option if you use the ``Ipv4PrefixCount`` option.
28166
28228
  :param ipv6_address_count: The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.
@@ -28389,11 +28451,13 @@ class CfnLaunchTemplate(
28389
28451
  def interface_type(self) -> typing.Optional[builtins.str]:
28390
28452
  '''The type of network interface.
28391
28453
 
28392
- To create an Elastic Fabric Adapter (EFA), specify ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon EC2 User Guide* .
28454
+ To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon EC2 User Guide* .
28393
28455
 
28394
28456
  If you are not creating an EFA, specify ``interface`` or omit this parameter.
28395
28457
 
28396
- Valid values: ``interface`` | ``efa``
28458
+ If you specify ``efa-only`` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses.
28459
+
28460
+ Valid values: ``interface`` | ``efa`` | ``efa-only``
28397
28461
 
28398
28462
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype
28399
28463
  '''
@@ -75731,34 +75795,35 @@ class InterfaceVpcEndpointAwsService(
75731
75795
  ):
75732
75796
  '''An AWS service for an interface VPC endpoint.
75733
75797
 
75734
- :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
75798
+ :exampleMetadata: infused
75735
75799
 
75736
75800
  Example::
75737
75801
 
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
- )
75802
+ import aws_cdk.aws_ec2 as ec2
75746
75803
 
75747
- # Alternatively gateway endpoints can be added on the VPC
75748
- dynamo_db_endpoint = vpc.add_gateway_endpoint("DynamoDbEndpoint",
75749
- service=ec2.GatewayVpcEndpointAwsService.DYNAMODB
75804
+ # vpc: ec2.Vpc
75805
+
75806
+
75807
+ interface_vpc_endpoint = ec2.InterfaceVpcEndpoint(self, "MyVpcEndpoint",
75808
+ vpc=vpc,
75809
+ service=ec2.InterfaceVpcEndpointAwsService.APP_RUNNER_REQUESTS,
75810
+ private_dns_enabled=False
75750
75811
  )
75751
75812
 
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=["*"]))
75813
+ service = apprunner.Service(self, "Service",
75814
+ source=apprunner.Source.from_ecr_public(
75815
+ image_configuration=apprunner.ImageConfiguration(
75816
+ port=8000
75817
+ ),
75818
+ image_identifier="public.ecr.aws/aws-containers/hello-app-runner:latest"
75819
+ ),
75820
+ is_publicly_accessible=False
75821
+ )
75758
75822
 
75759
- # Add an interface endpoint
75760
- vpc.add_interface_endpoint("EcrDockerEndpoint",
75761
- service=ec2.InterfaceVpcEndpointAwsService.ECR_DOCKER
75823
+ apprunner.VpcIngressConnection(self, "VpcIngressConnection",
75824
+ vpc=vpc,
75825
+ interface_vpc_endpoint=interface_vpc_endpoint,
75826
+ service=service
75762
75827
  )
75763
75828
  '''
75764
75829
 
@@ -76260,6 +76325,11 @@ class InterfaceVpcEndpointAwsService(
76260
76325
  def COST_EXPLORER(cls) -> "InterfaceVpcEndpointAwsService":
76261
76326
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "COST_EXPLORER"))
76262
76327
 
76328
+ @jsii.python.classproperty
76329
+ @jsii.member(jsii_name="COST_OPTIMIZATION_HUB")
76330
+ def COST_OPTIMIZATION_HUB(cls) -> "InterfaceVpcEndpointAwsService":
76331
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "COST_OPTIMIZATION_HUB"))
76332
+
76263
76333
  @jsii.python.classproperty
76264
76334
  @jsii.member(jsii_name="DATA_EXCHANGE")
76265
76335
  def DATA_EXCHANGE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -76445,6 +76515,11 @@ class InterfaceVpcEndpointAwsService(
76445
76515
  def EMR_WAL(cls) -> "InterfaceVpcEndpointAwsService":
76446
76516
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "EMR_WAL"))
76447
76517
 
76518
+ @jsii.python.classproperty
76519
+ @jsii.member(jsii_name="END_USER_MESSAGING_SOCIAL")
76520
+ def END_USER_MESSAGING_SOCIAL(cls) -> "InterfaceVpcEndpointAwsService":
76521
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "END_USER_MESSAGING_SOCIAL"))
76522
+
76448
76523
  @jsii.python.classproperty
76449
76524
  @jsii.member(jsii_name="ENTITY_RESOLUTION")
76450
76525
  def ENTITY_RESOLUTION(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77002,6 +77077,11 @@ class InterfaceVpcEndpointAwsService(
77002
77077
  def POLLY(cls) -> "InterfaceVpcEndpointAwsService":
77003
77078
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "POLLY"))
77004
77079
 
77080
+ @jsii.python.classproperty
77081
+ @jsii.member(jsii_name="PRICE_LIST")
77082
+ def PRICE_LIST(cls) -> "InterfaceVpcEndpointAwsService":
77083
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICE_LIST"))
77084
+
77005
77085
  @jsii.python.classproperty
77006
77086
  @jsii.member(jsii_name="PRIVATE_5G")
77007
77087
  def PRIVATE_5_G(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77431,6 +77511,11 @@ class InterfaceVpcEndpointAwsService(
77431
77511
  def WELL_ARCHITECTED_TOOL(cls) -> "InterfaceVpcEndpointAwsService":
77432
77512
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WELL_ARCHITECTED_TOOL"))
77433
77513
 
77514
+ @jsii.python.classproperty
77515
+ @jsii.member(jsii_name="WORKMAIL")
77516
+ def WORKMAIL(cls) -> "InterfaceVpcEndpointAwsService":
77517
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "WORKMAIL"))
77518
+
77434
77519
  @jsii.python.classproperty
77435
77520
  @jsii.member(jsii_name="WORKSPACES")
77436
77521
  def WORKSPACES(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77738,9 +77823,8 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
77738
77823
  ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
77739
77824
  vpc=vpc,
77740
77825
  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
77826
  subnets=ec2.SubnetSelection(
77827
+ subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
77744
77828
  availability_zones=["us-east-1a", "us-east-1c"]
77745
77829
  )
77746
77830
  )
@@ -86397,18 +86481,18 @@ class SubnetType(enum.Enum):
86397
86481
 
86398
86482
  # vpc: ec2.Vpc
86399
86483
 
86400
-
86401
86484
  cluster = docdb.DatabaseCluster(self, "Database",
86402
86485
  master_user=docdb.Login(
86403
- username="myuser"
86486
+ username="myuser", # NOTE: 'admin' is reserved by DocumentDB
86487
+ exclude_characters="\"@/:", # optional, defaults to the set "\"@/" and is also used for eventually created rotations
86488
+ secret_name="/myapp/mydocdb/masteruser"
86404
86489
  ),
86405
86490
  instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
86406
86491
  vpc_subnets=ec2.SubnetSelection(
86407
86492
  subnet_type=ec2.SubnetType.PUBLIC
86408
86493
  ),
86409
86494
  vpc=vpc,
86410
- removal_policy=RemovalPolicy.SNAPSHOT,
86411
- instance_removal_policy=RemovalPolicy.RETAIN
86495
+ copy_tags_to_snapshot=True
86412
86496
  )
86413
86497
  '''
86414
86498
 
@@ -93828,9 +93912,8 @@ class InterfaceVpcEndpoint(
93828
93912
  ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
93829
93913
  vpc=vpc,
93830
93914
  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
93915
  subnets=ec2.SubnetSelection(
93916
+ subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
93834
93917
  availability_zones=["us-east-1a", "us-east-1c"]
93835
93918
  )
93836
93919
  )
@@ -98170,8 +98253,10 @@ def _typecheckingstub__bccc7dacde749a3ad3c41d116d1f509ffb5b6881668bfa61c205201b1
98170
98253
  scope: _constructs_77d1e7e8.Construct,
98171
98254
  id: builtins.str,
98172
98255
  *,
98256
+ address: typing.Optional[builtins.str] = None,
98173
98257
  domain: typing.Optional[builtins.str] = None,
98174
98258
  instance_id: typing.Optional[builtins.str] = None,
98259
+ ipam_pool_id: typing.Optional[builtins.str] = None,
98175
98260
  network_border_group: typing.Optional[builtins.str] = None,
98176
98261
  public_ipv4_pool: typing.Optional[builtins.str] = None,
98177
98262
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -98192,6 +98277,12 @@ def _typecheckingstub__11eb36186f31c4bea4b03f2dbdc66bc726d4347d12b0636ac6aafbdaf
98192
98277
  """Type checking stubs"""
98193
98278
  pass
98194
98279
 
98280
+ def _typecheckingstub__3181fa5c4d75016f17f69f9df76a3499499668e87d593e6609b7dfb341b5b54a(
98281
+ value: typing.Optional[builtins.str],
98282
+ ) -> None:
98283
+ """Type checking stubs"""
98284
+ pass
98285
+
98195
98286
  def _typecheckingstub__c49330fba74ade775140567a6ae48812faa62fb21c67fbdd7930ff5cb2189524(
98196
98287
  value: typing.Optional[builtins.str],
98197
98288
  ) -> None:
@@ -98204,6 +98295,12 @@ def _typecheckingstub__ca5d5ea7abaea702ac65d5f9e8401058e42e908ac87dfdbb8722dcb03
98204
98295
  """Type checking stubs"""
98205
98296
  pass
98206
98297
 
98298
+ def _typecheckingstub__01687921711d1f3c67e4646d6c469f48798d6ad165b0b5a020b27f122f7abf9e(
98299
+ value: typing.Optional[builtins.str],
98300
+ ) -> None:
98301
+ """Type checking stubs"""
98302
+ pass
98303
+
98207
98304
  def _typecheckingstub__ad1782664068283c33182db79bb89a1f93f451785b0dfd4fedeaf0a308110149(
98208
98305
  value: typing.Optional[builtins.str],
98209
98306
  ) -> None:
@@ -98296,8 +98393,10 @@ def _typecheckingstub__d7e6118721d9f331f2cfafeff3be65471b4d44c1abf5e5083229fa0bb
98296
98393
 
98297
98394
  def _typecheckingstub__ff96bcb9544d5ebc6273ac8c518468df0cc1fd7720428f6e4ec85ecddb06fa60(
98298
98395
  *,
98396
+ address: typing.Optional[builtins.str] = None,
98299
98397
  domain: typing.Optional[builtins.str] = None,
98300
98398
  instance_id: typing.Optional[builtins.str] = None,
98399
+ ipam_pool_id: typing.Optional[builtins.str] = None,
98301
98400
  network_border_group: typing.Optional[builtins.str] = None,
98302
98401
  public_ipv4_pool: typing.Optional[builtins.str] = None,
98303
98402
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,