aws-cdk-lib 2.118.0__py3-none-any.whl → 2.119.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 +4 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.118.0.jsii.tgz → aws-cdk-lib@2.119.0.jsii.tgz} +0 -0
  4. aws_cdk/amzn_sdc/__init__.py +496 -0
  5. aws_cdk/aws_appsync/__init__.py +23 -9
  6. aws_cdk/aws_certificatemanager/__init__.py +164 -3
  7. aws_cdk/aws_cloud9/__init__.py +3 -3
  8. aws_cdk/aws_cloudfront/__init__.py +105 -5
  9. aws_cdk/aws_cloudtrail/__init__.py +54 -34
  10. aws_cdk/aws_cloudwatch_actions/__init__.py +105 -0
  11. aws_cdk/aws_codebuild/__init__.py +1 -0
  12. aws_cdk/aws_codecommit/__init__.py +9 -3
  13. aws_cdk/aws_codetest/__init__.py +788 -0
  14. aws_cdk/aws_cognito/__init__.py +104 -0
  15. aws_cdk/aws_connect/__init__.py +626 -78
  16. aws_cdk/aws_docdb/__init__.py +442 -0
  17. aws_cdk/aws_dynamodb/__init__.py +14 -0
  18. aws_cdk/aws_ec2/__init__.py +372 -44
  19. aws_cdk/aws_emrserverless/__init__.py +20 -13
  20. aws_cdk/aws_events/__init__.py +90 -1
  21. aws_cdk/aws_fis/__init__.py +12 -32
  22. aws_cdk/aws_globalaccelerator/__init__.py +19 -0
  23. aws_cdk/aws_glue/__init__.py +329 -0
  24. aws_cdk/aws_iam/__init__.py +30 -24
  25. aws_cdk/aws_iot/__init__.py +112 -0
  26. aws_cdk/aws_iotsitewise/__init__.py +4 -4
  27. aws_cdk/aws_kendra/__init__.py +10 -5
  28. aws_cdk/aws_kinesisfirehose/__init__.py +111 -0
  29. aws_cdk/aws_location/__init__.py +1132 -17
  30. aws_cdk/aws_mediatailor/__init__.py +120 -17
  31. aws_cdk/aws_networkfirewall/__init__.py +2 -2
  32. aws_cdk/aws_networkmanager/__init__.py +1 -1
  33. aws_cdk/aws_omics/__init__.py +4 -4
  34. aws_cdk/aws_opensearchservice/__init__.py +2 -0
  35. aws_cdk/aws_pinpoint/__init__.py +14 -6
  36. aws_cdk/aws_pipes/__init__.py +7 -2
  37. aws_cdk/aws_rds/__init__.py +15 -9
  38. aws_cdk/aws_redshift/__init__.py +103 -0
  39. aws_cdk/aws_route53/__init__.py +68 -20
  40. aws_cdk/aws_s3/__init__.py +2 -4
  41. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  42. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  43. aws_cdk/aws_signer/__init__.py +27 -4
  44. aws_cdk/aws_ssm/__init__.py +76 -13
  45. aws_cdk/aws_stepfunctions/__init__.py +110 -5
  46. aws_cdk/pipelines/__init__.py +136 -37
  47. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/METADATA +2 -2
  48. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/RECORD +52 -50
  49. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/LICENSE +0 -0
  50. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/NOTICE +0 -0
  51. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/WHEEL +0 -0
  52. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/top_level.txt +0 -0
@@ -1068,10 +1068,9 @@ ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
1068
1068
 
1069
1069
  #### Security groups for interface VPC endpoints
1070
1070
 
1071
- By default, interface VPC endpoints create a new security group and traffic is **not**
1072
- automatically allowed from the VPC CIDR.
1071
+ By default, interface VPC endpoints create a new security group and all traffic to the endpoint from within the VPC will be automatically allowed.
1073
1072
 
1074
- Use the `connections` object to allow traffic to flow to the endpoint:
1073
+ Use the `connections` object to allow other traffic to flow to the endpoint:
1075
1074
 
1076
1075
  ```python
1077
1076
  # my_endpoint: ec2.InterfaceVpcEndpoint
@@ -25584,7 +25583,8 @@ class CfnLaunchTemplate(
25584
25583
  license_configuration_arn="licenseConfigurationArn"
25585
25584
  )],
25586
25585
  maintenance_options=ec2.CfnLaunchTemplate.MaintenanceOptionsProperty(
25587
- auto_recovery="autoRecovery"
25586
+ auto_recovery="autoRecovery",
25587
+ reboot_migration="rebootMigration"
25588
25588
  ),
25589
25589
  metadata_options=ec2.CfnLaunchTemplate.MetadataOptionsProperty(
25590
25590
  http_endpoint="httpEndpoint",
@@ -26398,17 +26398,22 @@ class CfnLaunchTemplate(
26398
26398
  @jsii.data_type(
26399
26399
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.MaintenanceOptionsProperty",
26400
26400
  jsii_struct_bases=[],
26401
- name_mapping={"auto_recovery": "autoRecovery"},
26401
+ name_mapping={
26402
+ "auto_recovery": "autoRecovery",
26403
+ "reboot_migration": "rebootMigration",
26404
+ },
26402
26405
  )
26403
26406
  class MaintenanceOptionsProperty:
26404
26407
  def __init__(
26405
26408
  self,
26406
26409
  *,
26407
26410
  auto_recovery: typing.Optional[builtins.str] = None,
26411
+ reboot_migration: typing.Optional[builtins.str] = None,
26408
26412
  ) -> None:
26409
26413
  '''The maintenance options of your instance.
26410
26414
 
26411
26415
  :param auto_recovery: Disables the automatic recovery behavior of your instance or sets it to default.
26416
+ :param reboot_migration: Disables the automatic reboot-migration behavior of your instance or sets it to default.
26412
26417
 
26413
26418
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-maintenanceoptions.html
26414
26419
  :exampleMetadata: fixture=_generated
@@ -26420,15 +26425,19 @@ class CfnLaunchTemplate(
26420
26425
  from aws_cdk import aws_ec2 as ec2
26421
26426
 
26422
26427
  maintenance_options_property = ec2.CfnLaunchTemplate.MaintenanceOptionsProperty(
26423
- auto_recovery="autoRecovery"
26428
+ auto_recovery="autoRecovery",
26429
+ reboot_migration="rebootMigration"
26424
26430
  )
26425
26431
  '''
26426
26432
  if __debug__:
26427
26433
  type_hints = typing.get_type_hints(_typecheckingstub__62e0d77a7fa9500aab5a08e932dc82213f11e05b31cf56f4654431c48342979e)
26428
26434
  check_type(argname="argument auto_recovery", value=auto_recovery, expected_type=type_hints["auto_recovery"])
26435
+ check_type(argname="argument reboot_migration", value=reboot_migration, expected_type=type_hints["reboot_migration"])
26429
26436
  self._values: typing.Dict[builtins.str, typing.Any] = {}
26430
26437
  if auto_recovery is not None:
26431
26438
  self._values["auto_recovery"] = auto_recovery
26439
+ if reboot_migration is not None:
26440
+ self._values["reboot_migration"] = reboot_migration
26432
26441
 
26433
26442
  @builtins.property
26434
26443
  def auto_recovery(self) -> typing.Optional[builtins.str]:
@@ -26439,6 +26448,15 @@ class CfnLaunchTemplate(
26439
26448
  result = self._values.get("auto_recovery")
26440
26449
  return typing.cast(typing.Optional[builtins.str], result)
26441
26450
 
26451
+ @builtins.property
26452
+ def reboot_migration(self) -> typing.Optional[builtins.str]:
26453
+ '''Disables the automatic reboot-migration behavior of your instance or sets it to default.
26454
+
26455
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-maintenanceoptions.html#cfn-ec2-launchtemplate-maintenanceoptions-rebootmigration
26456
+ '''
26457
+ result = self._values.get("reboot_migration")
26458
+ return typing.cast(typing.Optional[builtins.str], result)
26459
+
26442
26460
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
26443
26461
  return isinstance(rhs, self.__class__) and rhs._values == self._values
26444
26462
 
@@ -36049,6 +36067,7 @@ class CfnNetworkInterface(
36049
36067
 
36050
36068
  # the properties below are optional
36051
36069
  description="description",
36070
+ enable_primary_ipv6=False,
36052
36071
  group_set=["groupSet"],
36053
36072
  interface_type="interfaceType",
36054
36073
  ipv4_prefix_count=123,
@@ -36084,6 +36103,7 @@ class CfnNetworkInterface(
36084
36103
  *,
36085
36104
  subnet_id: builtins.str,
36086
36105
  description: typing.Optional[builtins.str] = None,
36106
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
36087
36107
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
36088
36108
  interface_type: typing.Optional[builtins.str] = None,
36089
36109
  ipv4_prefix_count: typing.Optional[jsii.Number] = None,
@@ -36103,6 +36123,7 @@ class CfnNetworkInterface(
36103
36123
  :param id: Construct identifier for this resource (unique in its scope).
36104
36124
  :param subnet_id: The ID of the subnet to associate with the network interface.
36105
36125
  :param description: A description for the network interface.
36126
+ :param enable_primary_ipv6: If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.
36106
36127
  :param group_set: The security group IDs associated with this network interface.
36107
36128
  :param interface_type: The type of network interface. The default is ``interface`` . The supported values are ``efa`` and ``trunk`` .
36108
36129
  :param ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
@@ -36124,6 +36145,7 @@ class CfnNetworkInterface(
36124
36145
  props = CfnNetworkInterfaceProps(
36125
36146
  subnet_id=subnet_id,
36126
36147
  description=description,
36148
+ enable_primary_ipv6=enable_primary_ipv6,
36127
36149
  group_set=group_set,
36128
36150
  interface_type=interface_type,
36129
36151
  ipv4_prefix_count=ipv4_prefix_count,
@@ -36180,6 +36202,15 @@ class CfnNetworkInterface(
36180
36202
  '''
36181
36203
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
36182
36204
 
36205
+ @builtins.property
36206
+ @jsii.member(jsii_name="attrPrimaryIpv6Address")
36207
+ def attr_primary_ipv6_address(self) -> builtins.str:
36208
+ '''The primary IPv6 address.
36209
+
36210
+ :cloudformationAttribute: PrimaryIpv6Address
36211
+ '''
36212
+ return typing.cast(builtins.str, jsii.get(self, "attrPrimaryIpv6Address"))
36213
+
36183
36214
  @builtins.property
36184
36215
  @jsii.member(jsii_name="attrPrimaryPrivateIpAddress")
36185
36216
  def attr_primary_private_ip_address(self) -> builtins.str:
@@ -36239,6 +36270,24 @@ class CfnNetworkInterface(
36239
36270
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
36240
36271
  jsii.set(self, "description", value)
36241
36272
 
36273
+ @builtins.property
36274
+ @jsii.member(jsii_name="enablePrimaryIpv6")
36275
+ def enable_primary_ipv6(
36276
+ self,
36277
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
36278
+ '''If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address.'''
36279
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "enablePrimaryIpv6"))
36280
+
36281
+ @enable_primary_ipv6.setter
36282
+ def enable_primary_ipv6(
36283
+ self,
36284
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
36285
+ ) -> None:
36286
+ if __debug__:
36287
+ type_hints = typing.get_type_hints(_typecheckingstub__b856c33b68d0ad4d8f64d7064b6551f3a20f184bd0bde1d2697f8f87ff0f02cc)
36288
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
36289
+ jsii.set(self, "enablePrimaryIpv6", value)
36290
+
36242
36291
  @builtins.property
36243
36292
  @jsii.member(jsii_name="groupSet")
36244
36293
  def group_set(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -37185,6 +37234,7 @@ class CfnNetworkInterfacePermissionProps:
37185
37234
  name_mapping={
37186
37235
  "subnet_id": "subnetId",
37187
37236
  "description": "description",
37237
+ "enable_primary_ipv6": "enablePrimaryIpv6",
37188
37238
  "group_set": "groupSet",
37189
37239
  "interface_type": "interfaceType",
37190
37240
  "ipv4_prefix_count": "ipv4PrefixCount",
@@ -37206,6 +37256,7 @@ class CfnNetworkInterfaceProps:
37206
37256
  *,
37207
37257
  subnet_id: builtins.str,
37208
37258
  description: typing.Optional[builtins.str] = None,
37259
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
37209
37260
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
37210
37261
  interface_type: typing.Optional[builtins.str] = None,
37211
37262
  ipv4_prefix_count: typing.Optional[jsii.Number] = None,
@@ -37224,6 +37275,7 @@ class CfnNetworkInterfaceProps:
37224
37275
 
37225
37276
  :param subnet_id: The ID of the subnet to associate with the network interface.
37226
37277
  :param description: A description for the network interface.
37278
+ :param enable_primary_ipv6: If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address. Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.
37227
37279
  :param group_set: The security group IDs associated with this network interface.
37228
37280
  :param interface_type: The type of network interface. The default is ``interface`` . The supported values are ``efa`` and ``trunk`` .
37229
37281
  :param ipv4_prefix_count: The number of IPv4 prefixes to be automatically assigned to the network interface. When creating a network interface, you can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
@@ -37252,6 +37304,7 @@ class CfnNetworkInterfaceProps:
37252
37304
 
37253
37305
  # the properties below are optional
37254
37306
  description="description",
37307
+ enable_primary_ipv6=False,
37255
37308
  group_set=["groupSet"],
37256
37309
  interface_type="interfaceType",
37257
37310
  ipv4_prefix_count=123,
@@ -37283,6 +37336,7 @@ class CfnNetworkInterfaceProps:
37283
37336
  type_hints = typing.get_type_hints(_typecheckingstub__419471c10f0cbd167ba77e8ca653474603529157eecae56a55b928c65c5bd8da)
37284
37337
  check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
37285
37338
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
37339
+ check_type(argname="argument enable_primary_ipv6", value=enable_primary_ipv6, expected_type=type_hints["enable_primary_ipv6"])
37286
37340
  check_type(argname="argument group_set", value=group_set, expected_type=type_hints["group_set"])
37287
37341
  check_type(argname="argument interface_type", value=interface_type, expected_type=type_hints["interface_type"])
37288
37342
  check_type(argname="argument ipv4_prefix_count", value=ipv4_prefix_count, expected_type=type_hints["ipv4_prefix_count"])
@@ -37301,6 +37355,8 @@ class CfnNetworkInterfaceProps:
37301
37355
  }
37302
37356
  if description is not None:
37303
37357
  self._values["description"] = description
37358
+ if enable_primary_ipv6 is not None:
37359
+ self._values["enable_primary_ipv6"] = enable_primary_ipv6
37304
37360
  if group_set is not None:
37305
37361
  self._values["group_set"] = group_set
37306
37362
  if interface_type is not None:
@@ -37347,6 +37403,19 @@ class CfnNetworkInterfaceProps:
37347
37403
  result = self._values.get("description")
37348
37404
  return typing.cast(typing.Optional[builtins.str], result)
37349
37405
 
37406
+ @builtins.property
37407
+ def enable_primary_ipv6(
37408
+ self,
37409
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
37410
+ '''If you have instances or ENIs that rely on the IPv6 address not changing, to avoid disrupting traffic to instances or ENIs, you can enable a primary IPv6 address.
37411
+
37412
+ Enable this option to automatically assign an IPv6 associated with the ENI attached to your instance to be the primary IPv6 address. When you enable an IPv6 address to be a primary IPv6, you cannot disable it. Traffic will be routed to the primary IPv6 address until the instance is terminated or the ENI is detached. If you have multiple IPv6 addresses associated with an ENI and you enable a primary IPv6 address, the first IPv6 address associated with the ENI becomes the primary IPv6 address.
37413
+
37414
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-enableprimaryipv6
37415
+ '''
37416
+ result = self._values.get("enable_primary_ipv6")
37417
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
37418
+
37350
37419
  @builtins.property
37351
37420
  def group_set(self) -> typing.Optional[typing.List[builtins.str]]:
37352
37421
  '''The security group IDs associated with this network interface.
@@ -46615,9 +46684,13 @@ class CfnSubnet(
46615
46684
  availability_zone_id: typing.Optional[builtins.str] = None,
46616
46685
  cidr_block: typing.Optional[builtins.str] = None,
46617
46686
  enable_dns64: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
46687
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
46688
+ ipv4_netmask_length: typing.Optional[jsii.Number] = None,
46618
46689
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
46619
46690
  ipv6_cidr_blocks: typing.Optional[typing.Sequence[builtins.str]] = None,
46691
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
46620
46692
  ipv6_native: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
46693
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
46621
46694
  map_public_ip_on_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
46622
46695
  outpost_arn: typing.Optional[builtins.str] = None,
46623
46696
  private_dns_name_options_on_launch: typing.Any = None,
@@ -46632,9 +46705,13 @@ class CfnSubnet(
46632
46705
  :param availability_zone_id: The AZ ID of the subnet.
46633
46706
  :param cidr_block: The IPv4 CIDR block assigned to the subnet. If you update this property, we create a new subnet, and then delete the existing one.
46634
46707
  :param enable_dns64: Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. For more information, see `DNS64 and NAT64 <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-nat64-dns64>`_ in the *Amazon Virtual Private Cloud User Guide* .
46708
+ :param ipv4_ipam_pool_id: An IPv4 IPAM pool ID for the subnet.
46709
+ :param ipv4_netmask_length: An IPv4 netmask length for the subnet.
46635
46710
  :param ipv6_cidr_block: The IPv6 CIDR block. If you specify ``AssignIpv6AddressOnCreation`` , you must also specify ``Ipv6CidrBlock`` .
46636
46711
  :param ipv6_cidr_blocks:
46712
+ :param ipv6_ipam_pool_id: An IPv6 IPAM pool ID for the subnet.
46637
46713
  :param ipv6_native: Indicates whether this is an IPv6 only subnet. For more information, see `Subnet basics <https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics>`_ in the *Amazon Virtual Private Cloud User Guide* .
46714
+ :param ipv6_netmask_length: An IPv6 netmask length for the subnet.
46638
46715
  :param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
46639
46716
  :param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
46640
46717
  :param private_dns_name_options_on_launch: The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see `Amazon EC2 instance hostname types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Available options: - EnableResourceNameDnsAAAARecord (true | false) - EnableResourceNameDnsARecord (true | false) - HostnameType (ip-name | resource-name)
@@ -46651,9 +46728,13 @@ class CfnSubnet(
46651
46728
  availability_zone_id=availability_zone_id,
46652
46729
  cidr_block=cidr_block,
46653
46730
  enable_dns64=enable_dns64,
46731
+ ipv4_ipam_pool_id=ipv4_ipam_pool_id,
46732
+ ipv4_netmask_length=ipv4_netmask_length,
46654
46733
  ipv6_cidr_block=ipv6_cidr_block,
46655
46734
  ipv6_cidr_blocks=ipv6_cidr_blocks,
46735
+ ipv6_ipam_pool_id=ipv6_ipam_pool_id,
46656
46736
  ipv6_native=ipv6_native,
46737
+ ipv6_netmask_length=ipv6_netmask_length,
46657
46738
  map_public_ip_on_launch=map_public_ip_on_launch,
46658
46739
  outpost_arn=outpost_arn,
46659
46740
  private_dns_name_options_on_launch=private_dns_name_options_on_launch,
@@ -46869,6 +46950,32 @@ class CfnSubnet(
46869
46950
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
46870
46951
  jsii.set(self, "enableDns64", value)
46871
46952
 
46953
+ @builtins.property
46954
+ @jsii.member(jsii_name="ipv4IpamPoolId")
46955
+ def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
46956
+ '''An IPv4 IPAM pool ID for the subnet.'''
46957
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv4IpamPoolId"))
46958
+
46959
+ @ipv4_ipam_pool_id.setter
46960
+ def ipv4_ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
46961
+ if __debug__:
46962
+ type_hints = typing.get_type_hints(_typecheckingstub__5e1b0157b33b156c98fb389fde191897914b633e753380d212dced9fb14a5522)
46963
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
46964
+ jsii.set(self, "ipv4IpamPoolId", value)
46965
+
46966
+ @builtins.property
46967
+ @jsii.member(jsii_name="ipv4NetmaskLength")
46968
+ def ipv4_netmask_length(self) -> typing.Optional[jsii.Number]:
46969
+ '''An IPv4 netmask length for the subnet.'''
46970
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "ipv4NetmaskLength"))
46971
+
46972
+ @ipv4_netmask_length.setter
46973
+ def ipv4_netmask_length(self, value: typing.Optional[jsii.Number]) -> None:
46974
+ if __debug__:
46975
+ type_hints = typing.get_type_hints(_typecheckingstub__ed3081732b603fcc8ec9ebb9564e406e2e7472952031d76660f9757518d8e0ad)
46976
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
46977
+ jsii.set(self, "ipv4NetmaskLength", value)
46978
+
46872
46979
  @builtins.property
46873
46980
  @jsii.member(jsii_name="ipv6CidrBlock")
46874
46981
  def ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
@@ -46897,6 +47004,19 @@ class CfnSubnet(
46897
47004
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
46898
47005
  jsii.set(self, "ipv6CidrBlocks", value)
46899
47006
 
47007
+ @builtins.property
47008
+ @jsii.member(jsii_name="ipv6IpamPoolId")
47009
+ def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
47010
+ '''An IPv6 IPAM pool ID for the subnet.'''
47011
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv6IpamPoolId"))
47012
+
47013
+ @ipv6_ipam_pool_id.setter
47014
+ def ipv6_ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
47015
+ if __debug__:
47016
+ type_hints = typing.get_type_hints(_typecheckingstub__e7d9766dde41d5681123bb5654fa95ff2d630c4e00a04381c5cfb0a75bb33ab6)
47017
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47018
+ jsii.set(self, "ipv6IpamPoolId", value)
47019
+
46900
47020
  @builtins.property
46901
47021
  @jsii.member(jsii_name="ipv6Native")
46902
47022
  def ipv6_native(
@@ -46915,6 +47035,19 @@ class CfnSubnet(
46915
47035
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
46916
47036
  jsii.set(self, "ipv6Native", value)
46917
47037
 
47038
+ @builtins.property
47039
+ @jsii.member(jsii_name="ipv6NetmaskLength")
47040
+ def ipv6_netmask_length(self) -> typing.Optional[jsii.Number]:
47041
+ '''An IPv6 netmask length for the subnet.'''
47042
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "ipv6NetmaskLength"))
47043
+
47044
+ @ipv6_netmask_length.setter
47045
+ def ipv6_netmask_length(self, value: typing.Optional[jsii.Number]) -> None:
47046
+ if __debug__:
47047
+ type_hints = typing.get_type_hints(_typecheckingstub__79c0c96a0563a13bc67d2000e0d23b07922c04c49b66b0f017a1d3750266a111)
47048
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47049
+ jsii.set(self, "ipv6NetmaskLength", value)
47050
+
46918
47051
  @builtins.property
46919
47052
  @jsii.member(jsii_name="mapPublicIpOnLaunch")
46920
47053
  def map_public_ip_on_launch(
@@ -47092,8 +47225,12 @@ class CfnSubnetCidrBlock(
47092
47225
  from aws_cdk import aws_ec2 as ec2
47093
47226
 
47094
47227
  cfn_subnet_cidr_block = ec2.CfnSubnetCidrBlock(self, "MyCfnSubnetCidrBlock",
47228
+ subnet_id="subnetId",
47229
+
47230
+ # the properties below are optional
47095
47231
  ipv6_cidr_block="ipv6CidrBlock",
47096
- subnet_id="subnetId"
47232
+ ipv6_ipam_pool_id="ipv6IpamPoolId",
47233
+ ipv6_netmask_length=123
47097
47234
  )
47098
47235
  '''
47099
47236
 
@@ -47102,21 +47239,28 @@ class CfnSubnetCidrBlock(
47102
47239
  scope: _constructs_77d1e7e8.Construct,
47103
47240
  id: builtins.str,
47104
47241
  *,
47105
- ipv6_cidr_block: builtins.str,
47106
47242
  subnet_id: builtins.str,
47243
+ ipv6_cidr_block: typing.Optional[builtins.str] = None,
47244
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
47245
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
47107
47246
  ) -> None:
47108
47247
  '''
47109
47248
  :param scope: Scope in which this resource is defined.
47110
47249
  :param id: Construct identifier for this resource (unique in its scope).
47111
- :param ipv6_cidr_block: The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.
47112
47250
  :param subnet_id: The ID of the subnet.
47251
+ :param ipv6_cidr_block: The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.
47252
+ :param ipv6_ipam_pool_id: An IPv6 IPAM pool ID for the subnet.
47253
+ :param ipv6_netmask_length: An IPv6 netmask length for the subnet.
47113
47254
  '''
47114
47255
  if __debug__:
47115
47256
  type_hints = typing.get_type_hints(_typecheckingstub__6cea972c46cc6b50f26ade1aeb13ea8427be0dcee4ec5ef424ab06a54f974851)
47116
47257
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
47117
47258
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
47118
47259
  props = CfnSubnetCidrBlockProps(
47119
- ipv6_cidr_block=ipv6_cidr_block, subnet_id=subnet_id
47260
+ subnet_id=subnet_id,
47261
+ ipv6_cidr_block=ipv6_cidr_block,
47262
+ ipv6_ipam_pool_id=ipv6_ipam_pool_id,
47263
+ ipv6_netmask_length=ipv6_netmask_length,
47120
47264
  )
47121
47265
 
47122
47266
  jsii.create(self.__class__, self, [scope, id, props])
@@ -47165,49 +47309,84 @@ class CfnSubnetCidrBlock(
47165
47309
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
47166
47310
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
47167
47311
 
47312
+ @builtins.property
47313
+ @jsii.member(jsii_name="subnetId")
47314
+ def subnet_id(self) -> builtins.str:
47315
+ '''The ID of the subnet.'''
47316
+ return typing.cast(builtins.str, jsii.get(self, "subnetId"))
47317
+
47318
+ @subnet_id.setter
47319
+ def subnet_id(self, value: builtins.str) -> None:
47320
+ if __debug__:
47321
+ type_hints = typing.get_type_hints(_typecheckingstub__4efd57f93a642c14210500623dadba0a052ecf5f63cdd81b7da1517c743193fe)
47322
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47323
+ jsii.set(self, "subnetId", value)
47324
+
47168
47325
  @builtins.property
47169
47326
  @jsii.member(jsii_name="ipv6CidrBlock")
47170
- def ipv6_cidr_block(self) -> builtins.str:
47327
+ def ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
47171
47328
  '''The IPv6 network range for the subnet, in CIDR notation.'''
47172
- return typing.cast(builtins.str, jsii.get(self, "ipv6CidrBlock"))
47329
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv6CidrBlock"))
47173
47330
 
47174
47331
  @ipv6_cidr_block.setter
47175
- def ipv6_cidr_block(self, value: builtins.str) -> None:
47332
+ def ipv6_cidr_block(self, value: typing.Optional[builtins.str]) -> None:
47176
47333
  if __debug__:
47177
47334
  type_hints = typing.get_type_hints(_typecheckingstub__8a93fcd23cf2bfc75bc22656ab89fb6faf4261d84c2b56613bfcd5f45f8d8c17)
47178
47335
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47179
47336
  jsii.set(self, "ipv6CidrBlock", value)
47180
47337
 
47181
47338
  @builtins.property
47182
- @jsii.member(jsii_name="subnetId")
47183
- def subnet_id(self) -> builtins.str:
47184
- '''The ID of the subnet.'''
47185
- return typing.cast(builtins.str, jsii.get(self, "subnetId"))
47339
+ @jsii.member(jsii_name="ipv6IpamPoolId")
47340
+ def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
47341
+ '''An IPv6 IPAM pool ID for the subnet.'''
47342
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv6IpamPoolId"))
47186
47343
 
47187
- @subnet_id.setter
47188
- def subnet_id(self, value: builtins.str) -> None:
47344
+ @ipv6_ipam_pool_id.setter
47345
+ def ipv6_ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
47189
47346
  if __debug__:
47190
- type_hints = typing.get_type_hints(_typecheckingstub__4efd57f93a642c14210500623dadba0a052ecf5f63cdd81b7da1517c743193fe)
47347
+ type_hints = typing.get_type_hints(_typecheckingstub__47bacd49bbd20a576e8606ed6d9c47edfc3f6de53d74312f66482bd773de9e93)
47191
47348
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47192
- jsii.set(self, "subnetId", value)
47349
+ jsii.set(self, "ipv6IpamPoolId", value)
47350
+
47351
+ @builtins.property
47352
+ @jsii.member(jsii_name="ipv6NetmaskLength")
47353
+ def ipv6_netmask_length(self) -> typing.Optional[jsii.Number]:
47354
+ '''An IPv6 netmask length for the subnet.'''
47355
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "ipv6NetmaskLength"))
47356
+
47357
+ @ipv6_netmask_length.setter
47358
+ def ipv6_netmask_length(self, value: typing.Optional[jsii.Number]) -> None:
47359
+ if __debug__:
47360
+ type_hints = typing.get_type_hints(_typecheckingstub__452e13bfbef96c8acd7605d4b366122948a9d1a1a6ea7aa8f96dab339baea0d9)
47361
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
47362
+ jsii.set(self, "ipv6NetmaskLength", value)
47193
47363
 
47194
47364
 
47195
47365
  @jsii.data_type(
47196
47366
  jsii_type="aws-cdk-lib.aws_ec2.CfnSubnetCidrBlockProps",
47197
47367
  jsii_struct_bases=[],
47198
- name_mapping={"ipv6_cidr_block": "ipv6CidrBlock", "subnet_id": "subnetId"},
47368
+ name_mapping={
47369
+ "subnet_id": "subnetId",
47370
+ "ipv6_cidr_block": "ipv6CidrBlock",
47371
+ "ipv6_ipam_pool_id": "ipv6IpamPoolId",
47372
+ "ipv6_netmask_length": "ipv6NetmaskLength",
47373
+ },
47199
47374
  )
47200
47375
  class CfnSubnetCidrBlockProps:
47201
47376
  def __init__(
47202
47377
  self,
47203
47378
  *,
47204
- ipv6_cidr_block: builtins.str,
47205
47379
  subnet_id: builtins.str,
47380
+ ipv6_cidr_block: typing.Optional[builtins.str] = None,
47381
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
47382
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
47206
47383
  ) -> None:
47207
47384
  '''Properties for defining a ``CfnSubnetCidrBlock``.
47208
47385
 
47209
- :param ipv6_cidr_block: The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.
47210
47386
  :param subnet_id: The ID of the subnet.
47387
+ :param ipv6_cidr_block: The IPv6 network range for the subnet, in CIDR notation. This parameter is required for an IPv6 only subnet.
47388
+ :param ipv6_ipam_pool_id: An IPv6 IPAM pool ID for the subnet.
47389
+ :param ipv6_netmask_length: An IPv6 netmask length for the subnet.
47211
47390
 
47212
47391
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html
47213
47392
  :exampleMetadata: fixture=_generated
@@ -47219,21 +47398,42 @@ class CfnSubnetCidrBlockProps:
47219
47398
  from aws_cdk import aws_ec2 as ec2
47220
47399
 
47221
47400
  cfn_subnet_cidr_block_props = ec2.CfnSubnetCidrBlockProps(
47401
+ subnet_id="subnetId",
47402
+
47403
+ # the properties below are optional
47222
47404
  ipv6_cidr_block="ipv6CidrBlock",
47223
- subnet_id="subnetId"
47405
+ ipv6_ipam_pool_id="ipv6IpamPoolId",
47406
+ ipv6_netmask_length=123
47224
47407
  )
47225
47408
  '''
47226
47409
  if __debug__:
47227
47410
  type_hints = typing.get_type_hints(_typecheckingstub__921910fa5abf704ffe5d8790c2dc76e78950fd3fb2bf752eed76bf90f1024b87)
47228
- check_type(argname="argument ipv6_cidr_block", value=ipv6_cidr_block, expected_type=type_hints["ipv6_cidr_block"])
47229
47411
  check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
47412
+ check_type(argname="argument ipv6_cidr_block", value=ipv6_cidr_block, expected_type=type_hints["ipv6_cidr_block"])
47413
+ check_type(argname="argument ipv6_ipam_pool_id", value=ipv6_ipam_pool_id, expected_type=type_hints["ipv6_ipam_pool_id"])
47414
+ check_type(argname="argument ipv6_netmask_length", value=ipv6_netmask_length, expected_type=type_hints["ipv6_netmask_length"])
47230
47415
  self._values: typing.Dict[builtins.str, typing.Any] = {
47231
- "ipv6_cidr_block": ipv6_cidr_block,
47232
47416
  "subnet_id": subnet_id,
47233
47417
  }
47418
+ if ipv6_cidr_block is not None:
47419
+ self._values["ipv6_cidr_block"] = ipv6_cidr_block
47420
+ if ipv6_ipam_pool_id is not None:
47421
+ self._values["ipv6_ipam_pool_id"] = ipv6_ipam_pool_id
47422
+ if ipv6_netmask_length is not None:
47423
+ self._values["ipv6_netmask_length"] = ipv6_netmask_length
47234
47424
 
47235
47425
  @builtins.property
47236
- def ipv6_cidr_block(self) -> builtins.str:
47426
+ def subnet_id(self) -> builtins.str:
47427
+ '''The ID of the subnet.
47428
+
47429
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-subnetid
47430
+ '''
47431
+ result = self._values.get("subnet_id")
47432
+ assert result is not None, "Required property 'subnet_id' is missing"
47433
+ return typing.cast(builtins.str, result)
47434
+
47435
+ @builtins.property
47436
+ def ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
47237
47437
  '''The IPv6 network range for the subnet, in CIDR notation.
47238
47438
 
47239
47439
  This parameter is required for an IPv6 only subnet.
@@ -47241,18 +47441,25 @@ class CfnSubnetCidrBlockProps:
47241
47441
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6cidrblock
47242
47442
  '''
47243
47443
  result = self._values.get("ipv6_cidr_block")
47244
- assert result is not None, "Required property 'ipv6_cidr_block' is missing"
47245
- return typing.cast(builtins.str, result)
47444
+ return typing.cast(typing.Optional[builtins.str], result)
47246
47445
 
47247
47446
  @builtins.property
47248
- def subnet_id(self) -> builtins.str:
47249
- '''The ID of the subnet.
47447
+ def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
47448
+ '''An IPv6 IPAM pool ID for the subnet.
47250
47449
 
47251
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-subnetid
47450
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6ipampoolid
47252
47451
  '''
47253
- result = self._values.get("subnet_id")
47254
- assert result is not None, "Required property 'subnet_id' is missing"
47255
- return typing.cast(builtins.str, result)
47452
+ result = self._values.get("ipv6_ipam_pool_id")
47453
+ return typing.cast(typing.Optional[builtins.str], result)
47454
+
47455
+ @builtins.property
47456
+ def ipv6_netmask_length(self) -> typing.Optional[jsii.Number]:
47457
+ '''An IPv6 netmask length for the subnet.
47458
+
47459
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6netmasklength
47460
+ '''
47461
+ result = self._values.get("ipv6_netmask_length")
47462
+ return typing.cast(typing.Optional[jsii.Number], result)
47256
47463
 
47257
47464
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
47258
47465
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -47469,9 +47676,13 @@ class CfnSubnetNetworkAclAssociationProps:
47469
47676
  "availability_zone_id": "availabilityZoneId",
47470
47677
  "cidr_block": "cidrBlock",
47471
47678
  "enable_dns64": "enableDns64",
47679
+ "ipv4_ipam_pool_id": "ipv4IpamPoolId",
47680
+ "ipv4_netmask_length": "ipv4NetmaskLength",
47472
47681
  "ipv6_cidr_block": "ipv6CidrBlock",
47473
47682
  "ipv6_cidr_blocks": "ipv6CidrBlocks",
47683
+ "ipv6_ipam_pool_id": "ipv6IpamPoolId",
47474
47684
  "ipv6_native": "ipv6Native",
47685
+ "ipv6_netmask_length": "ipv6NetmaskLength",
47475
47686
  "map_public_ip_on_launch": "mapPublicIpOnLaunch",
47476
47687
  "outpost_arn": "outpostArn",
47477
47688
  "private_dns_name_options_on_launch": "privateDnsNameOptionsOnLaunch",
@@ -47488,9 +47699,13 @@ class CfnSubnetProps:
47488
47699
  availability_zone_id: typing.Optional[builtins.str] = None,
47489
47700
  cidr_block: typing.Optional[builtins.str] = None,
47490
47701
  enable_dns64: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
47702
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
47703
+ ipv4_netmask_length: typing.Optional[jsii.Number] = None,
47491
47704
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
47492
47705
  ipv6_cidr_blocks: typing.Optional[typing.Sequence[builtins.str]] = None,
47706
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
47493
47707
  ipv6_native: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
47708
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
47494
47709
  map_public_ip_on_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
47495
47710
  outpost_arn: typing.Optional[builtins.str] = None,
47496
47711
  private_dns_name_options_on_launch: typing.Any = None,
@@ -47504,9 +47719,13 @@ class CfnSubnetProps:
47504
47719
  :param availability_zone_id: The AZ ID of the subnet.
47505
47720
  :param cidr_block: The IPv4 CIDR block assigned to the subnet. If you update this property, we create a new subnet, and then delete the existing one.
47506
47721
  :param enable_dns64: Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. For more information, see `DNS64 and NAT64 <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-nat64-dns64>`_ in the *Amazon Virtual Private Cloud User Guide* .
47722
+ :param ipv4_ipam_pool_id: An IPv4 IPAM pool ID for the subnet.
47723
+ :param ipv4_netmask_length: An IPv4 netmask length for the subnet.
47507
47724
  :param ipv6_cidr_block: The IPv6 CIDR block. If you specify ``AssignIpv6AddressOnCreation`` , you must also specify ``Ipv6CidrBlock`` .
47508
47725
  :param ipv6_cidr_blocks:
47726
+ :param ipv6_ipam_pool_id: An IPv6 IPAM pool ID for the subnet.
47509
47727
  :param ipv6_native: Indicates whether this is an IPv6 only subnet. For more information, see `Subnet basics <https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#subnet-basics>`_ in the *Amazon Virtual Private Cloud User Guide* .
47728
+ :param ipv6_netmask_length: An IPv6 netmask length for the subnet.
47510
47729
  :param map_public_ip_on_launch: Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false`` . Starting on February 1, 2024, AWS will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
47511
47730
  :param outpost_arn: The Amazon Resource Name (ARN) of the Outpost.
47512
47731
  :param private_dns_name_options_on_launch: The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see `Amazon EC2 instance hostname types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html>`_ in the *Amazon Elastic Compute Cloud User Guide* . Available options: - EnableResourceNameDnsAAAARecord (true | false) - EnableResourceNameDnsARecord (true | false) - HostnameType (ip-name | resource-name)
@@ -47532,9 +47751,13 @@ class CfnSubnetProps:
47532
47751
  availability_zone_id="availabilityZoneId",
47533
47752
  cidr_block="cidrBlock",
47534
47753
  enable_dns64=False,
47754
+ ipv4_ipam_pool_id="ipv4IpamPoolId",
47755
+ ipv4_netmask_length=123,
47535
47756
  ipv6_cidr_block="ipv6CidrBlock",
47536
47757
  ipv6_cidr_blocks=["ipv6CidrBlocks"],
47758
+ ipv6_ipam_pool_id="ipv6IpamPoolId",
47537
47759
  ipv6_native=False,
47760
+ ipv6_netmask_length=123,
47538
47761
  map_public_ip_on_launch=False,
47539
47762
  outpost_arn="outpostArn",
47540
47763
  private_dns_name_options_on_launch=private_dns_name_options_on_launch,
@@ -47552,9 +47775,13 @@ class CfnSubnetProps:
47552
47775
  check_type(argname="argument availability_zone_id", value=availability_zone_id, expected_type=type_hints["availability_zone_id"])
47553
47776
  check_type(argname="argument cidr_block", value=cidr_block, expected_type=type_hints["cidr_block"])
47554
47777
  check_type(argname="argument enable_dns64", value=enable_dns64, expected_type=type_hints["enable_dns64"])
47778
+ check_type(argname="argument ipv4_ipam_pool_id", value=ipv4_ipam_pool_id, expected_type=type_hints["ipv4_ipam_pool_id"])
47779
+ check_type(argname="argument ipv4_netmask_length", value=ipv4_netmask_length, expected_type=type_hints["ipv4_netmask_length"])
47555
47780
  check_type(argname="argument ipv6_cidr_block", value=ipv6_cidr_block, expected_type=type_hints["ipv6_cidr_block"])
47556
47781
  check_type(argname="argument ipv6_cidr_blocks", value=ipv6_cidr_blocks, expected_type=type_hints["ipv6_cidr_blocks"])
47782
+ check_type(argname="argument ipv6_ipam_pool_id", value=ipv6_ipam_pool_id, expected_type=type_hints["ipv6_ipam_pool_id"])
47557
47783
  check_type(argname="argument ipv6_native", value=ipv6_native, expected_type=type_hints["ipv6_native"])
47784
+ check_type(argname="argument ipv6_netmask_length", value=ipv6_netmask_length, expected_type=type_hints["ipv6_netmask_length"])
47558
47785
  check_type(argname="argument map_public_ip_on_launch", value=map_public_ip_on_launch, expected_type=type_hints["map_public_ip_on_launch"])
47559
47786
  check_type(argname="argument outpost_arn", value=outpost_arn, expected_type=type_hints["outpost_arn"])
47560
47787
  check_type(argname="argument private_dns_name_options_on_launch", value=private_dns_name_options_on_launch, expected_type=type_hints["private_dns_name_options_on_launch"])
@@ -47572,12 +47799,20 @@ class CfnSubnetProps:
47572
47799
  self._values["cidr_block"] = cidr_block
47573
47800
  if enable_dns64 is not None:
47574
47801
  self._values["enable_dns64"] = enable_dns64
47802
+ if ipv4_ipam_pool_id is not None:
47803
+ self._values["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id
47804
+ if ipv4_netmask_length is not None:
47805
+ self._values["ipv4_netmask_length"] = ipv4_netmask_length
47575
47806
  if ipv6_cidr_block is not None:
47576
47807
  self._values["ipv6_cidr_block"] = ipv6_cidr_block
47577
47808
  if ipv6_cidr_blocks is not None:
47578
47809
  self._values["ipv6_cidr_blocks"] = ipv6_cidr_blocks
47810
+ if ipv6_ipam_pool_id is not None:
47811
+ self._values["ipv6_ipam_pool_id"] = ipv6_ipam_pool_id
47579
47812
  if ipv6_native is not None:
47580
47813
  self._values["ipv6_native"] = ipv6_native
47814
+ if ipv6_netmask_length is not None:
47815
+ self._values["ipv6_netmask_length"] = ipv6_netmask_length
47581
47816
  if map_public_ip_on_launch is not None:
47582
47817
  self._values["map_public_ip_on_launch"] = map_public_ip_on_launch
47583
47818
  if outpost_arn is not None:
@@ -47656,6 +47891,24 @@ class CfnSubnetProps:
47656
47891
  result = self._values.get("enable_dns64")
47657
47892
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
47658
47893
 
47894
+ @builtins.property
47895
+ def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
47896
+ '''An IPv4 IPAM pool ID for the subnet.
47897
+
47898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv4ipampoolid
47899
+ '''
47900
+ result = self._values.get("ipv4_ipam_pool_id")
47901
+ return typing.cast(typing.Optional[builtins.str], result)
47902
+
47903
+ @builtins.property
47904
+ def ipv4_netmask_length(self) -> typing.Optional[jsii.Number]:
47905
+ '''An IPv4 netmask length for the subnet.
47906
+
47907
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv4netmasklength
47908
+ '''
47909
+ result = self._values.get("ipv4_netmask_length")
47910
+ return typing.cast(typing.Optional[jsii.Number], result)
47911
+
47659
47912
  @builtins.property
47660
47913
  def ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
47661
47914
  '''The IPv6 CIDR block.
@@ -47675,6 +47928,15 @@ class CfnSubnetProps:
47675
47928
  result = self._values.get("ipv6_cidr_blocks")
47676
47929
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
47677
47930
 
47931
+ @builtins.property
47932
+ def ipv6_ipam_pool_id(self) -> typing.Optional[builtins.str]:
47933
+ '''An IPv6 IPAM pool ID for the subnet.
47934
+
47935
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6ipampoolid
47936
+ '''
47937
+ result = self._values.get("ipv6_ipam_pool_id")
47938
+ return typing.cast(typing.Optional[builtins.str], result)
47939
+
47678
47940
  @builtins.property
47679
47941
  def ipv6_native(
47680
47942
  self,
@@ -47688,6 +47950,15 @@ class CfnSubnetProps:
47688
47950
  result = self._values.get("ipv6_native")
47689
47951
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
47690
47952
 
47953
+ @builtins.property
47954
+ def ipv6_netmask_length(self) -> typing.Optional[jsii.Number]:
47955
+ '''An IPv6 netmask length for the subnet.
47956
+
47957
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6netmasklength
47958
+ '''
47959
+ result = self._values.get("ipv6_netmask_length")
47960
+ return typing.cast(typing.Optional[jsii.Number], result)
47961
+
47691
47962
  @builtins.property
47692
47963
  def map_public_ip_on_launch(
47693
47964
  self,
@@ -71328,7 +71599,7 @@ class InstanceProps:
71328
71599
 
71329
71600
  :default: - No SSH access will be possible.
71330
71601
 
71331
- :deprecated: - Use {@link keyPair } instead
71602
+ :deprecated: - Use ``keyPair`` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pair
71332
71603
 
71333
71604
  :stability: deprecated
71334
71605
  '''
@@ -74761,7 +75032,7 @@ class LaunchTemplateProps:
74761
75032
 
74762
75033
  :default: - No SSH access will be possible.
74763
75034
 
74764
- :deprecated: - Use ``keyPair`` instead.
75035
+ :deprecated: - Use ``keyPair`` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pair
74765
75036
 
74766
75037
  :stability: deprecated
74767
75038
  '''
@@ -76774,7 +77045,7 @@ class NatInstanceProps:
76774
77045
 
76775
77046
  :default: - No SSH access will be possible.
76776
77047
 
76777
- :deprecated: - Use ``keyPair`` instead.
77048
+ :deprecated: - Use ``keyPair`` instead - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2-readme.html#using-an-existing-ec2-key-pair
76778
77049
 
76779
77050
  :stability: deprecated
76780
77051
  '''
@@ -94489,6 +94760,7 @@ def _typecheckingstub__da6f057643821e4198778db605300559763cd1d337144d841e7dd3934
94489
94760
  def _typecheckingstub__62e0d77a7fa9500aab5a08e932dc82213f11e05b31cf56f4654431c48342979e(
94490
94761
  *,
94491
94762
  auto_recovery: typing.Optional[builtins.str] = None,
94763
+ reboot_migration: typing.Optional[builtins.str] = None,
94492
94764
  ) -> None:
94493
94765
  """Type checking stubs"""
94494
94766
  pass
@@ -95624,6 +95896,7 @@ def _typecheckingstub__8393da3cca9727d94c340192bc7d8b11bde1fb62e8d43771091b9a3e1
95624
95896
  *,
95625
95897
  subnet_id: builtins.str,
95626
95898
  description: typing.Optional[builtins.str] = None,
95899
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
95627
95900
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
95628
95901
  interface_type: typing.Optional[builtins.str] = None,
95629
95902
  ipv4_prefix_count: typing.Optional[jsii.Number] = None,
@@ -95665,6 +95938,12 @@ def _typecheckingstub__b42a1901ff08c6187aea659b7ab30af39da037df52862dd2fb4661cff
95665
95938
  """Type checking stubs"""
95666
95939
  pass
95667
95940
 
95941
+ def _typecheckingstub__b856c33b68d0ad4d8f64d7064b6551f3a20f184bd0bde1d2697f8f87ff0f02cc(
95942
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
95943
+ ) -> None:
95944
+ """Type checking stubs"""
95945
+ pass
95946
+
95668
95947
  def _typecheckingstub__33961d8033f73df9d276a5f4d152a5e51803192bd216c4c1de476cdb04ef1165(
95669
95948
  value: typing.Optional[typing.List[builtins.str]],
95670
95949
  ) -> None:
@@ -95884,6 +96163,7 @@ def _typecheckingstub__419471c10f0cbd167ba77e8ca653474603529157eecae56a55b928c65
95884
96163
  *,
95885
96164
  subnet_id: builtins.str,
95886
96165
  description: typing.Optional[builtins.str] = None,
96166
+ enable_primary_ipv6: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
95887
96167
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
95888
96168
  interface_type: typing.Optional[builtins.str] = None,
95889
96169
  ipv4_prefix_count: typing.Optional[jsii.Number] = None,
@@ -97008,9 +97288,13 @@ def _typecheckingstub__3552c7996fe8d37a6b035d9a3032e8c21e885c6d2abd5a0f9ff377ae3
97008
97288
  availability_zone_id: typing.Optional[builtins.str] = None,
97009
97289
  cidr_block: typing.Optional[builtins.str] = None,
97010
97290
  enable_dns64: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97291
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
97292
+ ipv4_netmask_length: typing.Optional[jsii.Number] = None,
97011
97293
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
97012
97294
  ipv6_cidr_blocks: typing.Optional[typing.Sequence[builtins.str]] = None,
97295
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
97013
97296
  ipv6_native: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97297
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
97014
97298
  map_public_ip_on_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97015
97299
  outpost_arn: typing.Optional[builtins.str] = None,
97016
97300
  private_dns_name_options_on_launch: typing.Any = None,
@@ -97067,6 +97351,18 @@ def _typecheckingstub__08fffdbcd6d1db1ed3c089b63fe6c0aa0846d345c3d53724dd0545885
97067
97351
  """Type checking stubs"""
97068
97352
  pass
97069
97353
 
97354
+ def _typecheckingstub__5e1b0157b33b156c98fb389fde191897914b633e753380d212dced9fb14a5522(
97355
+ value: typing.Optional[builtins.str],
97356
+ ) -> None:
97357
+ """Type checking stubs"""
97358
+ pass
97359
+
97360
+ def _typecheckingstub__ed3081732b603fcc8ec9ebb9564e406e2e7472952031d76660f9757518d8e0ad(
97361
+ value: typing.Optional[jsii.Number],
97362
+ ) -> None:
97363
+ """Type checking stubs"""
97364
+ pass
97365
+
97070
97366
  def _typecheckingstub__32cbba39a8e77a22a9b46de57faddcc0bd138b522049dcc5b72fae1f010dcb6a(
97071
97367
  value: typing.Optional[builtins.str],
97072
97368
  ) -> None:
@@ -97079,12 +97375,24 @@ def _typecheckingstub__2924466543968587848b6c9a3abb9e410e42b51b663f080070f7b608e
97079
97375
  """Type checking stubs"""
97080
97376
  pass
97081
97377
 
97378
+ def _typecheckingstub__e7d9766dde41d5681123bb5654fa95ff2d630c4e00a04381c5cfb0a75bb33ab6(
97379
+ value: typing.Optional[builtins.str],
97380
+ ) -> None:
97381
+ """Type checking stubs"""
97382
+ pass
97383
+
97082
97384
  def _typecheckingstub__fa8e8ff9fd2c1d32daaa28eaaf1a657bbae65ac881e2d64fae17cd5620a8bb2a(
97083
97385
  value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
97084
97386
  ) -> None:
97085
97387
  """Type checking stubs"""
97086
97388
  pass
97087
97389
 
97390
+ def _typecheckingstub__79c0c96a0563a13bc67d2000e0d23b07922c04c49b66b0f017a1d3750266a111(
97391
+ value: typing.Optional[jsii.Number],
97392
+ ) -> None:
97393
+ """Type checking stubs"""
97394
+ pass
97395
+
97088
97396
  def _typecheckingstub__1176c1fa68c8c764e85625e34f7177136204be31a2b8e4fddc47f3513120b75c(
97089
97397
  value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
97090
97398
  ) -> None:
@@ -97122,8 +97430,10 @@ def _typecheckingstub__6cea972c46cc6b50f26ade1aeb13ea8427be0dcee4ec5ef424ab06a54
97122
97430
  scope: _constructs_77d1e7e8.Construct,
97123
97431
  id: builtins.str,
97124
97432
  *,
97125
- ipv6_cidr_block: builtins.str,
97126
97433
  subnet_id: builtins.str,
97434
+ ipv6_cidr_block: typing.Optional[builtins.str] = None,
97435
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
97436
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
97127
97437
  ) -> None:
97128
97438
  """Type checking stubs"""
97129
97439
  pass
@@ -97140,22 +97450,36 @@ def _typecheckingstub__7748afe0f6471ee19ab5901ad409f669a3f3faf2ff7a9355b237ccef7
97140
97450
  """Type checking stubs"""
97141
97451
  pass
97142
97452
 
97143
- def _typecheckingstub__8a93fcd23cf2bfc75bc22656ab89fb6faf4261d84c2b56613bfcd5f45f8d8c17(
97453
+ def _typecheckingstub__4efd57f93a642c14210500623dadba0a052ecf5f63cdd81b7da1517c743193fe(
97144
97454
  value: builtins.str,
97145
97455
  ) -> None:
97146
97456
  """Type checking stubs"""
97147
97457
  pass
97148
97458
 
97149
- def _typecheckingstub__4efd57f93a642c14210500623dadba0a052ecf5f63cdd81b7da1517c743193fe(
97150
- value: builtins.str,
97459
+ def _typecheckingstub__8a93fcd23cf2bfc75bc22656ab89fb6faf4261d84c2b56613bfcd5f45f8d8c17(
97460
+ value: typing.Optional[builtins.str],
97461
+ ) -> None:
97462
+ """Type checking stubs"""
97463
+ pass
97464
+
97465
+ def _typecheckingstub__47bacd49bbd20a576e8606ed6d9c47edfc3f6de53d74312f66482bd773de9e93(
97466
+ value: typing.Optional[builtins.str],
97467
+ ) -> None:
97468
+ """Type checking stubs"""
97469
+ pass
97470
+
97471
+ def _typecheckingstub__452e13bfbef96c8acd7605d4b366122948a9d1a1a6ea7aa8f96dab339baea0d9(
97472
+ value: typing.Optional[jsii.Number],
97151
97473
  ) -> None:
97152
97474
  """Type checking stubs"""
97153
97475
  pass
97154
97476
 
97155
97477
  def _typecheckingstub__921910fa5abf704ffe5d8790c2dc76e78950fd3fb2bf752eed76bf90f1024b87(
97156
97478
  *,
97157
- ipv6_cidr_block: builtins.str,
97158
97479
  subnet_id: builtins.str,
97480
+ ipv6_cidr_block: typing.Optional[builtins.str] = None,
97481
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
97482
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
97159
97483
  ) -> None:
97160
97484
  """Type checking stubs"""
97161
97485
  pass
@@ -97210,9 +97534,13 @@ def _typecheckingstub__35feab8ee8f0aeb1dcb5a7eb3df1cde58a61806467c8cc5f249b6acf5
97210
97534
  availability_zone_id: typing.Optional[builtins.str] = None,
97211
97535
  cidr_block: typing.Optional[builtins.str] = None,
97212
97536
  enable_dns64: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97537
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
97538
+ ipv4_netmask_length: typing.Optional[jsii.Number] = None,
97213
97539
  ipv6_cidr_block: typing.Optional[builtins.str] = None,
97214
97540
  ipv6_cidr_blocks: typing.Optional[typing.Sequence[builtins.str]] = None,
97541
+ ipv6_ipam_pool_id: typing.Optional[builtins.str] = None,
97215
97542
  ipv6_native: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97543
+ ipv6_netmask_length: typing.Optional[jsii.Number] = None,
97216
97544
  map_public_ip_on_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
97217
97545
  outpost_arn: typing.Optional[builtins.str] = None,
97218
97546
  private_dns_name_options_on_launch: typing.Any = None,