aws-cdk-lib 2.210.0__py3-none-any.whl → 2.212.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 (78) hide show
  1. aws_cdk/__init__.py +404 -54
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.210.0.jsii.tgz → aws-cdk-lib@2.212.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -1
  5. aws_cdk/aws_apigateway/__init__.py +2 -0
  6. aws_cdk/aws_apigatewayv2/__init__.py +1798 -74
  7. aws_cdk/aws_appconfig/__init__.py +9 -0
  8. aws_cdk/aws_appintegrations/__init__.py +395 -0
  9. aws_cdk/aws_arcregionswitch/__init__.py +5080 -0
  10. aws_cdk/aws_athena/__init__.py +23 -19
  11. aws_cdk/aws_autoscaling/__init__.py +6 -6
  12. aws_cdk/aws_batch/__init__.py +725 -55
  13. aws_cdk/aws_bedrock/__init__.py +18 -0
  14. aws_cdk/aws_billingconductor/__init__.py +3 -3
  15. aws_cdk/aws_cassandra/__init__.py +28 -1
  16. aws_cdk/aws_cloudfront/__init__.py +39 -8
  17. aws_cdk/aws_codebuild/__init__.py +122 -0
  18. aws_cdk/aws_codepipeline/__init__.py +51 -50
  19. aws_cdk/aws_cognito/__init__.py +9 -2
  20. aws_cdk/aws_connect/__init__.py +40 -15
  21. aws_cdk/aws_datazone/__init__.py +118 -77
  22. aws_cdk/aws_dax/__init__.py +39 -0
  23. aws_cdk/aws_deadline/__init__.py +166 -7
  24. aws_cdk/aws_docdb/__init__.py +20 -11
  25. aws_cdk/aws_dynamodb/__init__.py +246 -36
  26. aws_cdk/aws_ec2/__init__.py +1044 -111
  27. aws_cdk/aws_ecr/__init__.py +274 -0
  28. aws_cdk/aws_ecs/__init__.py +1637 -137
  29. aws_cdk/aws_eks/__init__.py +53 -3
  30. aws_cdk/aws_elasticloadbalancingv2/__init__.py +31 -17
  31. aws_cdk/aws_entityresolution/__init__.py +240 -45
  32. aws_cdk/aws_evs/__init__.py +20 -45
  33. aws_cdk/aws_gameliftstreams/__init__.py +7 -6
  34. aws_cdk/aws_glue/__init__.py +18 -9
  35. aws_cdk/aws_guardduty/__init__.py +1233 -113
  36. aws_cdk/aws_imagebuilder/__init__.py +34 -20
  37. aws_cdk/aws_inspectorv2/__init__.py +1516 -0
  38. aws_cdk/aws_iot/__init__.py +387 -0
  39. aws_cdk/aws_iotsitewise/__init__.py +1247 -139
  40. aws_cdk/aws_ivs/__init__.py +443 -33
  41. aws_cdk/aws_kinesisfirehose/__init__.py +2 -0
  42. aws_cdk/aws_lakeformation/__init__.py +1 -1
  43. aws_cdk/aws_lambda/__init__.py +9 -9
  44. aws_cdk/aws_lightsail/__init__.py +590 -0
  45. aws_cdk/aws_logs/__init__.py +97 -3
  46. aws_cdk/aws_medialive/__init__.py +270 -7
  47. aws_cdk/aws_mediapackagev2/__init__.py +204 -6
  48. aws_cdk/aws_neptune/__init__.py +41 -2
  49. aws_cdk/aws_networkfirewall/__init__.py +490 -134
  50. aws_cdk/aws_observabilityadmin/__init__.py +1468 -0
  51. aws_cdk/aws_omics/__init__.py +1 -1
  52. aws_cdk/aws_opensearchserverless/__init__.py +2 -2
  53. aws_cdk/aws_opensearchservice/__init__.py +128 -0
  54. aws_cdk/aws_opsworks/__init__.py +125 -125
  55. aws_cdk/aws_opsworkscm/__init__.py +1 -53
  56. aws_cdk/aws_pcs/__init__.py +49 -5
  57. aws_cdk/aws_qbusiness/__init__.py +3 -3
  58. aws_cdk/aws_quicksight/__init__.py +188 -83
  59. aws_cdk/aws_rds/__init__.py +245 -103
  60. aws_cdk/aws_s3/__init__.py +56 -1
  61. aws_cdk/aws_s3express/__init__.py +56 -1
  62. aws_cdk/aws_s3tables/__init__.py +2 -2
  63. aws_cdk/aws_sagemaker/__init__.py +4080 -223
  64. aws_cdk/aws_ses/__init__.py +172 -9
  65. aws_cdk/aws_sqs/__init__.py +4 -3
  66. aws_cdk/aws_ssm/__init__.py +8 -4
  67. aws_cdk/aws_stepfunctions_tasks/__init__.py +16 -9
  68. aws_cdk/aws_synthetics/__init__.py +116 -0
  69. aws_cdk/aws_verifiedpermissions/__init__.py +23 -2
  70. aws_cdk/aws_wisdom/__init__.py +2 -2
  71. aws_cdk/aws_workspacesweb/__init__.py +949 -157
  72. aws_cdk/cx_api/__init__.py +22 -0
  73. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/METADATA +335 -15
  74. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/RECORD +78 -76
  75. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.212.0.dist-info}/top_level.txt +0 -0
@@ -1212,6 +1212,19 @@ ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
1212
1212
  )
1213
1213
  ```
1214
1214
 
1215
+ For cross-region VPC endpoints, specify the `serviceRegion` parameter:
1216
+
1217
+ ```python
1218
+ # vpc: ec2.Vpc
1219
+
1220
+
1221
+ ec2.InterfaceVpcEndpoint(self, "CrossRegionEndpoint",
1222
+ vpc=vpc,
1223
+ service=ec2.InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-123456", 443),
1224
+ service_region="us-east-1"
1225
+ )
1226
+ ```
1227
+
1215
1228
  #### Security groups for interface VPC endpoints
1216
1229
 
1217
1230
  By default, interface VPC endpoints create a new security group and all traffic to the endpoint from within the VPC will be automatically allowed.
@@ -12267,7 +12280,7 @@ class CfnEC2Fleet(
12267
12280
  '''Describes a block device for an EBS volume.
12268
12281
 
12269
12282
  :param delete_on_termination: Indicates whether the EBS volume is deleted on instance termination. For more information, see `Preserving Amazon EBS volumes on instance termination <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination>`_ in the *Amazon EC2 User Guide* .
12270
- :param encrypted: Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Amazon EBS encryption <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters>`_ in the *Amazon EBS User Guide* . In no case can you remove encryption from an encrypted volume. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ . This parameter is not returned by ``DescribeImageAttribute`` . For ``CreateImage`` and ``RegisterImage`` , whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating. - If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either ``true`` for an encrypted volume, or ``false`` for an unencrypted volume. If you omit this parameter, it defaults to ``false`` (unencrypted). - If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify. - If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify ``false`` . If you specify ``true`` , the request will fail. In this case, we recommend that you omit the parameter. - If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either ``true`` or ``false`` . However, if you specify ``false`` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
12283
+ :param encrypted: Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Amazon EBS encryption <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html#encryption-parameters>`_ in the *Amazon EBS User Guide* . In no case can you remove encryption from an encrypted volume. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ . - If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either ``true`` for an encrypted volume, or ``false`` for an unencrypted volume. If you omit this parameter, it defaults to ``false`` (unencrypted). - If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify. - If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify ``false`` . If you specify ``true`` , the request will fail. In this case, we recommend that you omit the parameter. - If you are creating a block device mapping from an *existing encrypted volume* , you can include this parameter, and specify either ``true`` or ``false`` . However, if you specify ``false`` , the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.
12271
12284
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS.
12272
12285
  :param kms_key_id: Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. This parameter is only supported on ``BlockDeviceMapping`` objects called by `RunInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html>`_ , `RequestSpotFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html>`_ , and `RequestSpotInstances <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html>`_ .
12273
12286
  :param snapshot_id: The ID of the snapshot.
@@ -12343,10 +12356,6 @@ class CfnEC2Fleet(
12343
12356
 
12344
12357
  Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
12345
12358
 
12346
- This parameter is not returned by ``DescribeImageAttribute`` .
12347
-
12348
- For ``CreateImage`` and ``RegisterImage`` , whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.
12349
-
12350
12359
  - If you are creating a block device mapping for a *new (empty) volume* , you can include this parameter, and specify either ``true`` for an encrypted volume, or ``false`` for an unencrypted volume. If you omit this parameter, it defaults to ``false`` (unencrypted).
12351
12360
  - If you are creating a block device mapping from an *existing encrypted or unencrypted snapshot* , you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.
12352
12361
  - If you are creating a block device mapping from an *existing unencrypted volume* , you can include this parameter, but you must specify ``false`` . If you specify ``true`` , the request will fail. In this case, we recommend that you omit the parameter.
@@ -14357,7 +14366,7 @@ class CfnEC2Fleet(
14357
14366
  '''Describes the placement of an instance.
14358
14367
 
14359
14368
  :param affinity: The affinity setting for the instance on the Dedicated Host. This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ or `ImportInstance <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html>`_ .
14360
- :param availability_zone: The Availability Zone of the instance. If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region. This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ .
14369
+ :param availability_zone: The Availability Zone of the instance. Either ``AvailabilityZone`` or ``AvailabilityZoneId`` can be specified, but not both. If neither is specified, Amazon EC2 automatically selects an Availability Zone based on the load balancing criteria for the Region. This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ .
14361
14370
  :param group_name: The name of the placement group that the instance is in. If you specify ``GroupName`` , you can't specify ``GroupId`` .
14362
14371
  :param host_id: The ID of the Dedicated Host on which the instance resides. This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ or `ImportInstance <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html>`_ .
14363
14372
  :param host_resource_group_arn: The ARN of the host resource group in which to launch the instances. If you specify this parameter, either omit the *Tenancy* parameter or set it to ``host`` . This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ .
@@ -14428,7 +14437,7 @@ class CfnEC2Fleet(
14428
14437
  def availability_zone(self) -> typing.Optional[builtins.str]:
14429
14438
  '''The Availability Zone of the instance.
14430
14439
 
14431
- If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.
14440
+ Either ``AvailabilityZone`` or ``AvailabilityZoneId`` can be specified, but not both. If neither is specified, Amazon EC2 automatically selects an Availability Zone based on the load balancing criteria for the Region.
14432
14441
 
14433
14442
  This parameter is not supported for `CreateFleet <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet>`_ .
14434
14443
 
@@ -18056,7 +18065,7 @@ class CfnIPAM(
18056
18065
  :param default_resource_discovery_organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
18057
18066
  :param description: The description for the IPAM.
18058
18067
  :param enable_private_gua: Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.
18059
- :param metered_account: A metered account is an account that is charged for active IP addresses managed in IPAM.
18068
+ :param metered_account: A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see `Enable cost distribution <https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html>`_ in the *Amazon VPC IPAM User Guide* . Possible values: - ``ipam-owner`` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM. - ``resource-owner`` : The AWS account that owns the IP address is charged for the active IP address.
18060
18069
  :param operating_regions: The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. For more information about operating Regions, see `Create an IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
18061
18070
  :param tags: The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key ``Owner`` and the value ``TeamA`` , specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.
18062
18071
  :param tier: IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the `VPC IPAM product pricing page <https://docs.aws.amazon.com//vpc/pricing/>`_ .
@@ -18242,7 +18251,7 @@ class CfnIPAM(
18242
18251
  @builtins.property
18243
18252
  @jsii.member(jsii_name="meteredAccount")
18244
18253
  def metered_account(self) -> typing.Optional[builtins.str]:
18245
- '''A metered account is an account that is charged for active IP addresses managed in IPAM.'''
18254
+ '''A metered account is an AWS account that is charged for active IP addresses managed in IPAM.'''
18246
18255
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "meteredAccount"))
18247
18256
 
18248
18257
  @metered_account.setter
@@ -19959,7 +19968,7 @@ class CfnIPAMProps:
19959
19968
  :param default_resource_discovery_organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
19960
19969
  :param description: The description for the IPAM.
19961
19970
  :param enable_private_gua: Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.
19962
- :param metered_account: A metered account is an account that is charged for active IP addresses managed in IPAM.
19971
+ :param metered_account: A metered account is an AWS account that is charged for active IP addresses managed in IPAM. For more information, see `Enable cost distribution <https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html>`_ in the *Amazon VPC IPAM User Guide* . Possible values: - ``ipam-owner`` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM. - ``resource-owner`` : The AWS account that owns the IP address is charged for the active IP address.
19963
19972
  :param operating_regions: The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. For more information about operating Regions, see `Create an IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
19964
19973
  :param tags: The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key ``Owner`` and the value ``TeamA`` , specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.
19965
19974
  :param tier: IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see the `VPC IPAM product pricing page <https://docs.aws.amazon.com//vpc/pricing/>`_ .
@@ -20050,7 +20059,14 @@ class CfnIPAMProps:
20050
20059
 
20051
20060
  @builtins.property
20052
20061
  def metered_account(self) -> typing.Optional[builtins.str]:
20053
- '''A metered account is an account that is charged for active IP addresses managed in IPAM.
20062
+ '''A metered account is an AWS account that is charged for active IP addresses managed in IPAM.
20063
+
20064
+ For more information, see `Enable cost distribution <https://docs.aws.amazon.com/vpc/latest/ipam/ipam-enable-cost-distro.html>`_ in the *Amazon VPC IPAM User Guide* .
20065
+
20066
+ Possible values:
20067
+
20068
+ - ``ipam-owner`` (default): The AWS account which owns the IPAM is charged for all active IP addresses managed in IPAM.
20069
+ - ``resource-owner`` : The AWS account that owns the IP address is charged for the active IP address.
20054
20070
 
20055
20071
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-meteredaccount
20056
20072
  '''
@@ -25828,6 +25844,200 @@ class CfnInternetGatewayProps:
25828
25844
  )
25829
25845
 
25830
25846
 
25847
+ @jsii.implements(_IInspectable_c2943556)
25848
+ class CfnIpPoolRouteTableAssociation(
25849
+ _CfnResource_9df397a6,
25850
+ metaclass=jsii.JSIIMeta,
25851
+ jsii_type="aws-cdk-lib.aws_ec2.CfnIpPoolRouteTableAssociation",
25852
+ ):
25853
+ '''Resource Type definition for AWS::EC2::IpPoolRouteTableAssociation.
25854
+
25855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html
25856
+ :cloudformationResource: AWS::EC2::IpPoolRouteTableAssociation
25857
+ :exampleMetadata: fixture=_generated
25858
+
25859
+ Example::
25860
+
25861
+ # The code below shows an example of how to instantiate this type.
25862
+ # The values are placeholders you should change.
25863
+ from aws_cdk import aws_ec2 as ec2
25864
+
25865
+ cfn_ip_pool_route_table_association = ec2.CfnIpPoolRouteTableAssociation(self, "MyCfnIpPoolRouteTableAssociation",
25866
+ public_ipv4_pool="publicIpv4Pool",
25867
+ route_table_id="routeTableId"
25868
+ )
25869
+ '''
25870
+
25871
+ def __init__(
25872
+ self,
25873
+ scope: _constructs_77d1e7e8.Construct,
25874
+ id: builtins.str,
25875
+ *,
25876
+ public_ipv4_pool: builtins.str,
25877
+ route_table_id: builtins.str,
25878
+ ) -> None:
25879
+ '''
25880
+ :param scope: Scope in which this resource is defined.
25881
+ :param id: Construct identifier for this resource (unique in its scope).
25882
+ :param public_ipv4_pool: The ID of the public IPv4 pool.
25883
+ :param route_table_id: The ID of the route table.
25884
+ '''
25885
+ if __debug__:
25886
+ type_hints = typing.get_type_hints(_typecheckingstub__d2e346c37572137e6dfe14e676bbcd2ecce12183e9c91e6bac858b8287c38d18)
25887
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
25888
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
25889
+ props = CfnIpPoolRouteTableAssociationProps(
25890
+ public_ipv4_pool=public_ipv4_pool, route_table_id=route_table_id
25891
+ )
25892
+
25893
+ jsii.create(self.__class__, self, [scope, id, props])
25894
+
25895
+ @jsii.member(jsii_name="inspect")
25896
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
25897
+ '''Examines the CloudFormation resource and discloses attributes.
25898
+
25899
+ :param inspector: tree inspector to collect and process attributes.
25900
+ '''
25901
+ if __debug__:
25902
+ type_hints = typing.get_type_hints(_typecheckingstub__0e8beabfae1e3898fe833fa4f6fec4db49c1797a24c9a17c0a1cc938efbb234d)
25903
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
25904
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
25905
+
25906
+ @jsii.member(jsii_name="renderProperties")
25907
+ def _render_properties(
25908
+ self,
25909
+ props: typing.Mapping[builtins.str, typing.Any],
25910
+ ) -> typing.Mapping[builtins.str, typing.Any]:
25911
+ '''
25912
+ :param props: -
25913
+ '''
25914
+ if __debug__:
25915
+ type_hints = typing.get_type_hints(_typecheckingstub__9261e60da0656ce4be4de7b6f7ca910aa7426a27190ff19b86e1fa3fca169b5f)
25916
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
25917
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
25918
+
25919
+ @jsii.python.classproperty
25920
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
25921
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
25922
+ '''The CloudFormation resource type name for this resource class.'''
25923
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
25924
+
25925
+ @builtins.property
25926
+ @jsii.member(jsii_name="attrAssociationId")
25927
+ def attr_association_id(self) -> builtins.str:
25928
+ '''The route table association ID.
25929
+
25930
+ :cloudformationAttribute: AssociationId
25931
+ '''
25932
+ return typing.cast(builtins.str, jsii.get(self, "attrAssociationId"))
25933
+
25934
+ @builtins.property
25935
+ @jsii.member(jsii_name="cfnProperties")
25936
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
25937
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
25938
+
25939
+ @builtins.property
25940
+ @jsii.member(jsii_name="publicIpv4Pool")
25941
+ def public_ipv4_pool(self) -> builtins.str:
25942
+ '''The ID of the public IPv4 pool.'''
25943
+ return typing.cast(builtins.str, jsii.get(self, "publicIpv4Pool"))
25944
+
25945
+ @public_ipv4_pool.setter
25946
+ def public_ipv4_pool(self, value: builtins.str) -> None:
25947
+ if __debug__:
25948
+ type_hints = typing.get_type_hints(_typecheckingstub__9e778f968d1e05ca9a9a12139d6b6122fee2d84c3920b3266bb24123b1125376)
25949
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
25950
+ jsii.set(self, "publicIpv4Pool", value) # pyright: ignore[reportArgumentType]
25951
+
25952
+ @builtins.property
25953
+ @jsii.member(jsii_name="routeTableId")
25954
+ def route_table_id(self) -> builtins.str:
25955
+ '''The ID of the route table.'''
25956
+ return typing.cast(builtins.str, jsii.get(self, "routeTableId"))
25957
+
25958
+ @route_table_id.setter
25959
+ def route_table_id(self, value: builtins.str) -> None:
25960
+ if __debug__:
25961
+ type_hints = typing.get_type_hints(_typecheckingstub__50b3a9184baeaee59a249d70d1646e9be6be39d5717e3a579744f8bcbd740d9e)
25962
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
25963
+ jsii.set(self, "routeTableId", value) # pyright: ignore[reportArgumentType]
25964
+
25965
+
25966
+ @jsii.data_type(
25967
+ jsii_type="aws-cdk-lib.aws_ec2.CfnIpPoolRouteTableAssociationProps",
25968
+ jsii_struct_bases=[],
25969
+ name_mapping={
25970
+ "public_ipv4_pool": "publicIpv4Pool",
25971
+ "route_table_id": "routeTableId",
25972
+ },
25973
+ )
25974
+ class CfnIpPoolRouteTableAssociationProps:
25975
+ def __init__(
25976
+ self,
25977
+ *,
25978
+ public_ipv4_pool: builtins.str,
25979
+ route_table_id: builtins.str,
25980
+ ) -> None:
25981
+ '''Properties for defining a ``CfnIpPoolRouteTableAssociation``.
25982
+
25983
+ :param public_ipv4_pool: The ID of the public IPv4 pool.
25984
+ :param route_table_id: The ID of the route table.
25985
+
25986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html
25987
+ :exampleMetadata: fixture=_generated
25988
+
25989
+ Example::
25990
+
25991
+ # The code below shows an example of how to instantiate this type.
25992
+ # The values are placeholders you should change.
25993
+ from aws_cdk import aws_ec2 as ec2
25994
+
25995
+ cfn_ip_pool_route_table_association_props = ec2.CfnIpPoolRouteTableAssociationProps(
25996
+ public_ipv4_pool="publicIpv4Pool",
25997
+ route_table_id="routeTableId"
25998
+ )
25999
+ '''
26000
+ if __debug__:
26001
+ type_hints = typing.get_type_hints(_typecheckingstub__ca7ebe92862b15a6d48fca22126c61fa57bcf8453d0939d48bb4080583c8ee82)
26002
+ check_type(argname="argument public_ipv4_pool", value=public_ipv4_pool, expected_type=type_hints["public_ipv4_pool"])
26003
+ check_type(argname="argument route_table_id", value=route_table_id, expected_type=type_hints["route_table_id"])
26004
+ self._values: typing.Dict[builtins.str, typing.Any] = {
26005
+ "public_ipv4_pool": public_ipv4_pool,
26006
+ "route_table_id": route_table_id,
26007
+ }
26008
+
26009
+ @builtins.property
26010
+ def public_ipv4_pool(self) -> builtins.str:
26011
+ '''The ID of the public IPv4 pool.
26012
+
26013
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html#cfn-ec2-ippoolroutetableassociation-publicipv4pool
26014
+ '''
26015
+ result = self._values.get("public_ipv4_pool")
26016
+ assert result is not None, "Required property 'public_ipv4_pool' is missing"
26017
+ return typing.cast(builtins.str, result)
26018
+
26019
+ @builtins.property
26020
+ def route_table_id(self) -> builtins.str:
26021
+ '''The ID of the route table.
26022
+
26023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html#cfn-ec2-ippoolroutetableassociation-routetableid
26024
+ '''
26025
+ result = self._values.get("route_table_id")
26026
+ assert result is not None, "Required property 'route_table_id' is missing"
26027
+ return typing.cast(builtins.str, result)
26028
+
26029
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
26030
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
26031
+
26032
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
26033
+ return not (rhs == self)
26034
+
26035
+ def __repr__(self) -> str:
26036
+ return "CfnIpPoolRouteTableAssociationProps(%s)" % ", ".join(
26037
+ k + "=" + repr(v) for k, v in self._values.items()
26038
+ )
26039
+
26040
+
25831
26041
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
25832
26042
  class CfnKeyPair(
25833
26043
  _CfnResource_9df397a6,
@@ -27517,15 +27727,8 @@ class CfnLaunchTemplate(
27517
27727
  )
27518
27728
  class ElasticGpuSpecificationProperty:
27519
27729
  def __init__(self, *, type: typing.Optional[builtins.str] = None) -> None:
27520
- '''.. epigraph::
27521
-
27522
- Amazon Elastic Graphics reached end of life on January 8, 2024.
27523
-
27524
- Specifies a specification for an Elastic GPU for an Amazon EC2 launch template.
27525
-
27526
- ``ElasticGpuSpecification`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
27527
-
27528
- :param type: The type of Elastic Graphics accelerator.
27730
+ '''
27731
+ :param type:
27529
27732
 
27530
27733
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html
27531
27734
  :exampleMetadata: fixture=_generated
@@ -27549,8 +27752,7 @@ class CfnLaunchTemplate(
27549
27752
 
27550
27753
  @builtins.property
27551
27754
  def type(self) -> typing.Optional[builtins.str]:
27552
- '''The type of Elastic Graphics accelerator.
27553
-
27755
+ '''
27554
27756
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html#cfn-ec2-launchtemplate-elasticgpuspecification-type
27555
27757
  '''
27556
27758
  result = self._values.get("type")
@@ -28929,8 +29131,8 @@ class CfnLaunchTemplate(
28929
29131
  :param disable_api_stop: Indicates whether to enable the instance for stop protection. For more information, see `Enable stop protection for your EC2 instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html>`_ in the *Amazon EC2 User Guide* .
28930
29132
  :param disable_api_termination: Indicates whether termination protection is enabled for the instance. The default is ``false`` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.
28931
29133
  :param ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
28932
- :param elastic_gpu_specifications: Deprecated. .. epigraph:: Amazon Elastic Graphics reached end of life on January 8, 2024.
28933
- :param elastic_inference_accelerators: .. epigraph:: Amazon Elastic Inference is no longer available. An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. You cannot specify accelerators from different generations in the same request.
29134
+ :param elastic_gpu_specifications:
29135
+ :param elastic_inference_accelerators:
28934
29136
  :param enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see `What is Nitro Enclaves? <https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html>`_ in the *AWS Nitro Enclaves User Guide* . You can't enable AWS Nitro Enclaves and hibernation on the same instance.
28935
29137
  :param hibernation_options: Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the `hibernation prerequisites <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html>`_ . For more information, see `Hibernate your Amazon EC2 instance <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html>`_ in the *Amazon EC2 User Guide* .
28936
29138
  :param iam_instance_profile: The name or Amazon Resource Name (ARN) of an IAM instance profile.
@@ -29118,6 +29320,7 @@ class CfnLaunchTemplate(
29118
29320
  delete_on_termination=False,
29119
29321
  description="description",
29120
29322
  device_index=123,
29323
+ ena_queue_count=123,
29121
29324
  ena_srd_specification=ec2.CfnLaunchTemplate.EnaSrdSpecificationProperty(
29122
29325
  ena_srd_enabled=False,
29123
29326
  ena_srd_udp_specification=ec2.CfnLaunchTemplate.EnaSrdUdpSpecificationProperty(
@@ -29374,12 +29577,7 @@ class CfnLaunchTemplate(
29374
29577
  def elastic_gpu_specifications(
29375
29578
  self,
29376
29579
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ElasticGpuSpecificationProperty"]]]]:
29377
- '''Deprecated.
29378
-
29379
- .. epigraph::
29380
-
29381
- Amazon Elastic Graphics reached end of life on January 8, 2024.
29382
-
29580
+ '''
29383
29581
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticgpuspecifications
29384
29582
  '''
29385
29583
  result = self._values.get("elastic_gpu_specifications")
@@ -29389,14 +29587,7 @@ class CfnLaunchTemplate(
29389
29587
  def elastic_inference_accelerators(
29390
29588
  self,
29391
29589
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.LaunchTemplateElasticInferenceAcceleratorProperty"]]]]:
29392
- '''.. epigraph::
29393
-
29394
- Amazon Elastic Inference is no longer available.
29395
-
29396
- An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
29397
-
29398
- You cannot specify accelerators from different generations in the same request.
29399
-
29590
+ '''
29400
29591
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticinferenceaccelerators
29401
29592
  '''
29402
29593
  result = self._values.get("elastic_inference_accelerators")
@@ -29728,16 +29919,9 @@ class CfnLaunchTemplate(
29728
29919
  count: typing.Optional[jsii.Number] = None,
29729
29920
  type: typing.Optional[builtins.str] = None,
29730
29921
  ) -> None:
29731
- '''.. epigraph::
29732
-
29733
- Amazon Elastic Inference is no longer available.
29734
-
29735
- Specifies an elastic inference accelerator.
29736
-
29737
- ``LaunchTemplateElasticInferenceAccelerator`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
29738
-
29739
- :param count: The number of elastic inference accelerators to attach to the instance. Default: 1
29740
- :param type: The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.
29922
+ '''
29923
+ :param count:
29924
+ :param type:
29741
29925
 
29742
29926
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html
29743
29927
  :exampleMetadata: fixture=_generated
@@ -29765,10 +29949,7 @@ class CfnLaunchTemplate(
29765
29949
 
29766
29950
  @builtins.property
29767
29951
  def count(self) -> typing.Optional[jsii.Number]:
29768
- '''The number of elastic inference accelerators to attach to the instance.
29769
-
29770
- Default: 1
29771
-
29952
+ '''
29772
29953
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html#cfn-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator-count
29773
29954
  '''
29774
29955
  result = self._values.get("count")
@@ -29776,10 +29957,7 @@ class CfnLaunchTemplate(
29776
29957
 
29777
29958
  @builtins.property
29778
29959
  def type(self) -> typing.Optional[builtins.str]:
29779
- '''The type of elastic inference accelerator.
29780
-
29781
- The possible values are eia1.medium, eia1.large, and eia1.xlarge.
29782
-
29960
+ '''
29783
29961
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html#cfn-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator-type
29784
29962
  '''
29785
29963
  result = self._values.get("type")
@@ -30507,6 +30685,7 @@ class CfnLaunchTemplate(
30507
30685
  "delete_on_termination": "deleteOnTermination",
30508
30686
  "description": "description",
30509
30687
  "device_index": "deviceIndex",
30688
+ "ena_queue_count": "enaQueueCount",
30510
30689
  "ena_srd_specification": "enaSrdSpecification",
30511
30690
  "groups": "groups",
30512
30691
  "interface_type": "interfaceType",
@@ -30535,6 +30714,7 @@ class CfnLaunchTemplate(
30535
30714
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
30536
30715
  description: typing.Optional[builtins.str] = None,
30537
30716
  device_index: typing.Optional[jsii.Number] = None,
30717
+ ena_queue_count: typing.Optional[jsii.Number] = None,
30538
30718
  ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.EnaSrdSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30539
30719
  groups: typing.Optional[typing.Sequence[builtins.str]] = None,
30540
30720
  interface_type: typing.Optional[builtins.str] = None,
@@ -30562,6 +30742,7 @@ class CfnLaunchTemplate(
30562
30742
  :param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
30563
30743
  :param description: A description for the network interface.
30564
30744
  :param device_index: The device index for the network interface attachment. The primary network interface has a device index of 0. If the network interface is of type ``interface`` , you must specify a device index. If you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the ``LaunchTemplate`` property of ``AWS::EC2::Instance`` , then you must include a primary network interface using the ``NetworkInterfaces`` property of ``AWS::EC2::Instance`` .
30745
+ :param ena_queue_count: The number of ENA queues to be created with the instance.
30565
30746
  :param ena_srd_specification: The ENA Express configuration for the network interface.
30566
30747
  :param groups: The IDs of one or more security groups.
30567
30748
  :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 for AI/ML and HPC workloads on Amazon EC2 <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``
@@ -30599,6 +30780,7 @@ class CfnLaunchTemplate(
30599
30780
  delete_on_termination=False,
30600
30781
  description="description",
30601
30782
  device_index=123,
30783
+ ena_queue_count=123,
30602
30784
  ena_srd_specification=ec2.CfnLaunchTemplate.EnaSrdSpecificationProperty(
30603
30785
  ena_srd_enabled=False,
30604
30786
  ena_srd_udp_specification=ec2.CfnLaunchTemplate.EnaSrdUdpSpecificationProperty(
@@ -30639,6 +30821,7 @@ class CfnLaunchTemplate(
30639
30821
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
30640
30822
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
30641
30823
  check_type(argname="argument device_index", value=device_index, expected_type=type_hints["device_index"])
30824
+ check_type(argname="argument ena_queue_count", value=ena_queue_count, expected_type=type_hints["ena_queue_count"])
30642
30825
  check_type(argname="argument ena_srd_specification", value=ena_srd_specification, expected_type=type_hints["ena_srd_specification"])
30643
30826
  check_type(argname="argument groups", value=groups, expected_type=type_hints["groups"])
30644
30827
  check_type(argname="argument interface_type", value=interface_type, expected_type=type_hints["interface_type"])
@@ -30668,6 +30851,8 @@ class CfnLaunchTemplate(
30668
30851
  self._values["description"] = description
30669
30852
  if device_index is not None:
30670
30853
  self._values["device_index"] = device_index
30854
+ if ena_queue_count is not None:
30855
+ self._values["ena_queue_count"] = ena_queue_count
30671
30856
  if ena_srd_specification is not None:
30672
30857
  self._values["ena_srd_specification"] = ena_srd_specification
30673
30858
  if groups is not None:
@@ -30771,6 +30956,15 @@ class CfnLaunchTemplate(
30771
30956
  result = self._values.get("device_index")
30772
30957
  return typing.cast(typing.Optional[jsii.Number], result)
30773
30958
 
30959
+ @builtins.property
30960
+ def ena_queue_count(self) -> typing.Optional[jsii.Number]:
30961
+ '''The number of ENA queues to be created with the instance.
30962
+
30963
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-enaqueuecount
30964
+ '''
30965
+ result = self._values.get("ena_queue_count")
30966
+ return typing.cast(typing.Optional[jsii.Number], result)
30967
+
30774
30968
  @builtins.property
30775
30969
  def ena_srd_specification(
30776
30970
  self,
@@ -31055,7 +31249,7 @@ class CfnLaunchTemplate(
31055
31249
  ``Placement`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
31056
31250
 
31057
31251
  :param affinity: The affinity setting for an instance on a Dedicated Host.
31058
- :param availability_zone: The Availability Zone for the instance.
31252
+ :param availability_zone: The Availability Zone for the instance. Either ``AvailabilityZone`` or ``AvailabilityZoneId`` can be specified, but not both
31059
31253
  :param group_id: The Group Id of a placement group. You must specify the Placement Group *Group Id* to launch an instance in a shared placement group.
31060
31254
  :param group_name: The name of the placement group for the instance.
31061
31255
  :param host_id: The ID of the Dedicated Host for the instance.
@@ -31129,6 +31323,8 @@ class CfnLaunchTemplate(
31129
31323
  def availability_zone(self) -> typing.Optional[builtins.str]:
31130
31324
  '''The Availability Zone for the instance.
31131
31325
 
31326
+ Either ``AvailabilityZone`` or ``AvailabilityZoneId`` can be specified, but not both
31327
+
31132
31328
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-availabilityzone
31133
31329
  '''
31134
31330
  result = self._values.get("availability_zone")
@@ -33088,9 +33284,6 @@ class CfnNatGateway(
33088
33284
  from aws_cdk import aws_ec2 as ec2
33089
33285
 
33090
33286
  cfn_nat_gateway = ec2.CfnNatGateway(self, "MyCfnNatGateway",
33091
- subnet_id="subnetId",
33092
-
33093
- # the properties below are optional
33094
33287
  allocation_id="allocationId",
33095
33288
  connectivity_type="connectivityType",
33096
33289
  max_drain_duration_seconds=123,
@@ -33098,6 +33291,7 @@ class CfnNatGateway(
33098
33291
  secondary_allocation_ids=["secondaryAllocationIds"],
33099
33292
  secondary_private_ip_address_count=123,
33100
33293
  secondary_private_ip_addresses=["secondaryPrivateIpAddresses"],
33294
+ subnet_id="subnetId",
33101
33295
  tags=[CfnTag(
33102
33296
  key="key",
33103
33297
  value="value"
@@ -33110,7 +33304,6 @@ class CfnNatGateway(
33110
33304
  scope: _constructs_77d1e7e8.Construct,
33111
33305
  id: builtins.str,
33112
33306
  *,
33113
- subnet_id: builtins.str,
33114
33307
  allocation_id: typing.Optional[builtins.str] = None,
33115
33308
  connectivity_type: typing.Optional[builtins.str] = None,
33116
33309
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -33118,12 +33311,12 @@ class CfnNatGateway(
33118
33311
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33119
33312
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
33120
33313
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
33314
+ subnet_id: typing.Optional[builtins.str] = None,
33121
33315
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33122
33316
  ) -> None:
33123
33317
  '''
33124
33318
  :param scope: Scope in which this resource is defined.
33125
33319
  :param id: Construct identifier for this resource (unique in its scope).
33126
- :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33127
33320
  :param allocation_id: [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.
33128
33321
  :param connectivity_type: Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
33129
33322
  :param max_drain_duration_seconds: The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.
@@ -33131,6 +33324,7 @@ class CfnNatGateway(
33131
33324
  :param secondary_allocation_ids: Secondary EIP allocation IDs. For more information, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html>`_ in the *Amazon VPC User Guide* .
33132
33325
  :param secondary_private_ip_address_count: [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating>`_ in the *Amazon Virtual Private Cloud User Guide* . ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
33133
33326
  :param secondary_private_ip_addresses: Secondary private IPv4 addresses. For more information about secondary addresses, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating>`_ in the *Amazon Virtual Private Cloud User Guide* . ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
33327
+ :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33134
33328
  :param tags: The tags for the NAT gateway.
33135
33329
  '''
33136
33330
  if __debug__:
@@ -33138,7 +33332,6 @@ class CfnNatGateway(
33138
33332
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
33139
33333
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
33140
33334
  props = CfnNatGatewayProps(
33141
- subnet_id=subnet_id,
33142
33335
  allocation_id=allocation_id,
33143
33336
  connectivity_type=connectivity_type,
33144
33337
  max_drain_duration_seconds=max_drain_duration_seconds,
@@ -33146,6 +33339,7 @@ class CfnNatGateway(
33146
33339
  secondary_allocation_ids=secondary_allocation_ids,
33147
33340
  secondary_private_ip_address_count=secondary_private_ip_address_count,
33148
33341
  secondary_private_ip_addresses=secondary_private_ip_addresses,
33342
+ subnet_id=subnet_id,
33149
33343
  tags=tags,
33150
33344
  )
33151
33345
 
@@ -33201,19 +33395,6 @@ class CfnNatGateway(
33201
33395
  '''Tag Manager which manages the tags for this resource.'''
33202
33396
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
33203
33397
 
33204
- @builtins.property
33205
- @jsii.member(jsii_name="subnetId")
33206
- def subnet_id(self) -> builtins.str:
33207
- '''The ID of the subnet in which the NAT gateway is located.'''
33208
- return typing.cast(builtins.str, jsii.get(self, "subnetId"))
33209
-
33210
- @subnet_id.setter
33211
- def subnet_id(self, value: builtins.str) -> None:
33212
- if __debug__:
33213
- type_hints = typing.get_type_hints(_typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74)
33214
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
33215
- jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
33216
-
33217
33398
  @builtins.property
33218
33399
  @jsii.member(jsii_name="allocationId")
33219
33400
  def allocation_id(self) -> typing.Optional[builtins.str]:
@@ -33316,6 +33497,19 @@ class CfnNatGateway(
33316
33497
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
33317
33498
  jsii.set(self, "secondaryPrivateIpAddresses", value) # pyright: ignore[reportArgumentType]
33318
33499
 
33500
+ @builtins.property
33501
+ @jsii.member(jsii_name="subnetId")
33502
+ def subnet_id(self) -> typing.Optional[builtins.str]:
33503
+ '''The ID of the subnet in which the NAT gateway is located.'''
33504
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subnetId"))
33505
+
33506
+ @subnet_id.setter
33507
+ def subnet_id(self, value: typing.Optional[builtins.str]) -> None:
33508
+ if __debug__:
33509
+ type_hints = typing.get_type_hints(_typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74)
33510
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
33511
+ jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
33512
+
33319
33513
  @builtins.property
33320
33514
  @jsii.member(jsii_name="tagsRaw")
33321
33515
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -33334,7 +33528,6 @@ class CfnNatGateway(
33334
33528
  jsii_type="aws-cdk-lib.aws_ec2.CfnNatGatewayProps",
33335
33529
  jsii_struct_bases=[],
33336
33530
  name_mapping={
33337
- "subnet_id": "subnetId",
33338
33531
  "allocation_id": "allocationId",
33339
33532
  "connectivity_type": "connectivityType",
33340
33533
  "max_drain_duration_seconds": "maxDrainDurationSeconds",
@@ -33342,6 +33535,7 @@ class CfnNatGateway(
33342
33535
  "secondary_allocation_ids": "secondaryAllocationIds",
33343
33536
  "secondary_private_ip_address_count": "secondaryPrivateIpAddressCount",
33344
33537
  "secondary_private_ip_addresses": "secondaryPrivateIpAddresses",
33538
+ "subnet_id": "subnetId",
33345
33539
  "tags": "tags",
33346
33540
  },
33347
33541
  )
@@ -33349,7 +33543,6 @@ class CfnNatGatewayProps:
33349
33543
  def __init__(
33350
33544
  self,
33351
33545
  *,
33352
- subnet_id: builtins.str,
33353
33546
  allocation_id: typing.Optional[builtins.str] = None,
33354
33547
  connectivity_type: typing.Optional[builtins.str] = None,
33355
33548
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -33357,11 +33550,11 @@ class CfnNatGatewayProps:
33357
33550
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33358
33551
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
33359
33552
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
33553
+ subnet_id: typing.Optional[builtins.str] = None,
33360
33554
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33361
33555
  ) -> None:
33362
33556
  '''Properties for defining a ``CfnNatGateway``.
33363
33557
 
33364
- :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33365
33558
  :param allocation_id: [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.
33366
33559
  :param connectivity_type: Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
33367
33560
  :param max_drain_duration_seconds: The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.
@@ -33369,6 +33562,7 @@ class CfnNatGatewayProps:
33369
33562
  :param secondary_allocation_ids: Secondary EIP allocation IDs. For more information, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html>`_ in the *Amazon VPC User Guide* .
33370
33563
  :param secondary_private_ip_address_count: [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating>`_ in the *Amazon Virtual Private Cloud User Guide* . ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
33371
33564
  :param secondary_private_ip_addresses: Secondary private IPv4 addresses. For more information about secondary addresses, see `Create a NAT gateway <https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating>`_ in the *Amazon Virtual Private Cloud User Guide* . ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
33565
+ :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33372
33566
  :param tags: The tags for the NAT gateway.
33373
33567
 
33374
33568
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html
@@ -33381,9 +33575,6 @@ class CfnNatGatewayProps:
33381
33575
  from aws_cdk import aws_ec2 as ec2
33382
33576
 
33383
33577
  cfn_nat_gateway_props = ec2.CfnNatGatewayProps(
33384
- subnet_id="subnetId",
33385
-
33386
- # the properties below are optional
33387
33578
  allocation_id="allocationId",
33388
33579
  connectivity_type="connectivityType",
33389
33580
  max_drain_duration_seconds=123,
@@ -33391,6 +33582,7 @@ class CfnNatGatewayProps:
33391
33582
  secondary_allocation_ids=["secondaryAllocationIds"],
33392
33583
  secondary_private_ip_address_count=123,
33393
33584
  secondary_private_ip_addresses=["secondaryPrivateIpAddresses"],
33585
+ subnet_id="subnetId",
33394
33586
  tags=[CfnTag(
33395
33587
  key="key",
33396
33588
  value="value"
@@ -33399,7 +33591,6 @@ class CfnNatGatewayProps:
33399
33591
  '''
33400
33592
  if __debug__:
33401
33593
  type_hints = typing.get_type_hints(_typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330ee9a581)
33402
- check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
33403
33594
  check_type(argname="argument allocation_id", value=allocation_id, expected_type=type_hints["allocation_id"])
33404
33595
  check_type(argname="argument connectivity_type", value=connectivity_type, expected_type=type_hints["connectivity_type"])
33405
33596
  check_type(argname="argument max_drain_duration_seconds", value=max_drain_duration_seconds, expected_type=type_hints["max_drain_duration_seconds"])
@@ -33407,10 +33598,9 @@ class CfnNatGatewayProps:
33407
33598
  check_type(argname="argument secondary_allocation_ids", value=secondary_allocation_ids, expected_type=type_hints["secondary_allocation_ids"])
33408
33599
  check_type(argname="argument secondary_private_ip_address_count", value=secondary_private_ip_address_count, expected_type=type_hints["secondary_private_ip_address_count"])
33409
33600
  check_type(argname="argument secondary_private_ip_addresses", value=secondary_private_ip_addresses, expected_type=type_hints["secondary_private_ip_addresses"])
33601
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
33410
33602
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
33411
- self._values: typing.Dict[builtins.str, typing.Any] = {
33412
- "subnet_id": subnet_id,
33413
- }
33603
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
33414
33604
  if allocation_id is not None:
33415
33605
  self._values["allocation_id"] = allocation_id
33416
33606
  if connectivity_type is not None:
@@ -33425,19 +33615,11 @@ class CfnNatGatewayProps:
33425
33615
  self._values["secondary_private_ip_address_count"] = secondary_private_ip_address_count
33426
33616
  if secondary_private_ip_addresses is not None:
33427
33617
  self._values["secondary_private_ip_addresses"] = secondary_private_ip_addresses
33618
+ if subnet_id is not None:
33619
+ self._values["subnet_id"] = subnet_id
33428
33620
  if tags is not None:
33429
33621
  self._values["tags"] = tags
33430
33622
 
33431
- @builtins.property
33432
- def subnet_id(self) -> builtins.str:
33433
- '''The ID of the subnet in which the NAT gateway is located.
33434
-
33435
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid
33436
- '''
33437
- result = self._values.get("subnet_id")
33438
- assert result is not None, "Required property 'subnet_id' is missing"
33439
- return typing.cast(builtins.str, result)
33440
-
33441
33623
  @builtins.property
33442
33624
  def allocation_id(self) -> typing.Optional[builtins.str]:
33443
33625
  '''[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.
@@ -33521,6 +33703,15 @@ class CfnNatGatewayProps:
33521
33703
  result = self._values.get("secondary_private_ip_addresses")
33522
33704
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
33523
33705
 
33706
+ @builtins.property
33707
+ def subnet_id(self) -> typing.Optional[builtins.str]:
33708
+ '''The ID of the subnet in which the NAT gateway is located.
33709
+
33710
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid
33711
+ '''
33712
+ result = self._values.get("subnet_id")
33713
+ return typing.cast(typing.Optional[builtins.str], result)
33714
+
33524
33715
  @builtins.property
33525
33716
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
33526
33717
  '''The tags for the NAT gateway.
@@ -53108,7 +53299,7 @@ class CfnSubnet(
53108
53299
  *,
53109
53300
  internet_gateway_block_mode: typing.Optional[builtins.str] = None,
53110
53301
  ) -> None:
53111
- '''The state of VPC Block Public Access (BPA).
53302
+ '''Specifies the state of VPC Block Public Access (BPA).
53112
53303
 
53113
53304
  :param internet_gateway_block_mode: The mode of VPC BPA. - ``off`` : VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region. - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets). - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
53114
53305
 
@@ -53173,7 +53364,7 @@ class CfnSubnet(
53173
53364
  enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
53174
53365
  hostname_type: typing.Optional[builtins.str] = None,
53175
53366
  ) -> None:
53176
- '''Describes the options for instance hostnames.
53367
+ '''Specifies the options for instance hostnames.
53177
53368
 
53178
53369
  :param enable_resource_name_dns_aaaa_record: Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.
53179
53370
  :param enable_resource_name_dns_a_record: Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
@@ -56945,6 +57136,576 @@ class CfnTransitGatewayConnect(
56945
57136
  )
56946
57137
 
56947
57138
 
57139
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
57140
+ class CfnTransitGatewayConnectPeer(
57141
+ _CfnResource_9df397a6,
57142
+ metaclass=jsii.JSIIMeta,
57143
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer",
57144
+ ):
57145
+ '''Describes a transit gateway Connect peer.
57146
+
57147
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html
57148
+ :cloudformationResource: AWS::EC2::TransitGatewayConnectPeer
57149
+ :exampleMetadata: fixture=_generated
57150
+
57151
+ Example::
57152
+
57153
+ # The code below shows an example of how to instantiate this type.
57154
+ # The values are placeholders you should change.
57155
+ from aws_cdk import aws_ec2 as ec2
57156
+
57157
+ cfn_transit_gateway_connect_peer = ec2.CfnTransitGatewayConnectPeer(self, "MyCfnTransitGatewayConnectPeer",
57158
+ connect_peer_configuration=ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
57159
+ inside_cidr_blocks=["insideCidrBlocks"],
57160
+ peer_address="peerAddress",
57161
+
57162
+ # the properties below are optional
57163
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57164
+ bgp_status="bgpStatus",
57165
+ peer_address="peerAddress",
57166
+ peer_asn=123,
57167
+ transit_gateway_address="transitGatewayAddress",
57168
+ transit_gateway_asn=123
57169
+ )],
57170
+ protocol="protocol",
57171
+ transit_gateway_address="transitGatewayAddress"
57172
+ ),
57173
+ transit_gateway_attachment_id="transitGatewayAttachmentId",
57174
+
57175
+ # the properties below are optional
57176
+ tags=[CfnTag(
57177
+ key="key",
57178
+ value="value"
57179
+ )]
57180
+ )
57181
+ '''
57182
+
57183
+ def __init__(
57184
+ self,
57185
+ scope: _constructs_77d1e7e8.Construct,
57186
+ id: builtins.str,
57187
+ *,
57188
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
57189
+ transit_gateway_attachment_id: builtins.str,
57190
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
57191
+ ) -> None:
57192
+ '''
57193
+ :param scope: Scope in which this resource is defined.
57194
+ :param id: Construct identifier for this resource (unique in its scope).
57195
+ :param connect_peer_configuration: The Connect peer details.
57196
+ :param transit_gateway_attachment_id: The ID of the Connect attachment.
57197
+ :param tags: The tags for the Connect peer.
57198
+ '''
57199
+ if __debug__:
57200
+ type_hints = typing.get_type_hints(_typecheckingstub__1f8d207f56975363774b74fa734c1d229d4b0713b4f3516f3314cd9ebcd0e41c)
57201
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
57202
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
57203
+ props = CfnTransitGatewayConnectPeerProps(
57204
+ connect_peer_configuration=connect_peer_configuration,
57205
+ transit_gateway_attachment_id=transit_gateway_attachment_id,
57206
+ tags=tags,
57207
+ )
57208
+
57209
+ jsii.create(self.__class__, self, [scope, id, props])
57210
+
57211
+ @jsii.member(jsii_name="inspect")
57212
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
57213
+ '''Examines the CloudFormation resource and discloses attributes.
57214
+
57215
+ :param inspector: tree inspector to collect and process attributes.
57216
+ '''
57217
+ if __debug__:
57218
+ type_hints = typing.get_type_hints(_typecheckingstub__b94393058454232978c68e76b9895b5f0775d34692c68d57103fafd32b53d66e)
57219
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
57220
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
57221
+
57222
+ @jsii.member(jsii_name="renderProperties")
57223
+ def _render_properties(
57224
+ self,
57225
+ props: typing.Mapping[builtins.str, typing.Any],
57226
+ ) -> typing.Mapping[builtins.str, typing.Any]:
57227
+ '''
57228
+ :param props: -
57229
+ '''
57230
+ if __debug__:
57231
+ type_hints = typing.get_type_hints(_typecheckingstub__9f8ed9dcea183e690fe0f56b975179a4ccbc13162e837cb3c510b70d38b0ef94)
57232
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
57233
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
57234
+
57235
+ @jsii.python.classproperty
57236
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
57237
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
57238
+ '''The CloudFormation resource type name for this resource class.'''
57239
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
57240
+
57241
+ @builtins.property
57242
+ @jsii.member(jsii_name="attrConnectPeerConfigurationBgpConfigurations")
57243
+ def attr_connect_peer_configuration_bgp_configurations(
57244
+ self,
57245
+ ) -> _IResolvable_da3f097b:
57246
+ '''The BGP configuration details.
57247
+
57248
+ :cloudformationAttribute: ConnectPeerConfiguration.BgpConfigurations
57249
+ '''
57250
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrConnectPeerConfigurationBgpConfigurations"))
57251
+
57252
+ @builtins.property
57253
+ @jsii.member(jsii_name="attrConnectPeerConfigurationProtocol")
57254
+ def attr_connect_peer_configuration_protocol(self) -> builtins.str:
57255
+ '''The tunnel protocol.
57256
+
57257
+ :cloudformationAttribute: ConnectPeerConfiguration.Protocol
57258
+ '''
57259
+ return typing.cast(builtins.str, jsii.get(self, "attrConnectPeerConfigurationProtocol"))
57260
+
57261
+ @builtins.property
57262
+ @jsii.member(jsii_name="attrCreationTime")
57263
+ def attr_creation_time(self) -> builtins.str:
57264
+ '''The creation time.
57265
+
57266
+ :cloudformationAttribute: CreationTime
57267
+ '''
57268
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
57269
+
57270
+ @builtins.property
57271
+ @jsii.member(jsii_name="attrState")
57272
+ def attr_state(self) -> builtins.str:
57273
+ '''The state of the Connect peer.
57274
+
57275
+ :cloudformationAttribute: State
57276
+ '''
57277
+ return typing.cast(builtins.str, jsii.get(self, "attrState"))
57278
+
57279
+ @builtins.property
57280
+ @jsii.member(jsii_name="attrTransitGatewayConnectPeerId")
57281
+ def attr_transit_gateway_connect_peer_id(self) -> builtins.str:
57282
+ '''The ID of the Connect peer.
57283
+
57284
+ :cloudformationAttribute: TransitGatewayConnectPeerId
57285
+ '''
57286
+ return typing.cast(builtins.str, jsii.get(self, "attrTransitGatewayConnectPeerId"))
57287
+
57288
+ @builtins.property
57289
+ @jsii.member(jsii_name="cdkTagManager")
57290
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
57291
+ '''Tag Manager which manages the tags for this resource.'''
57292
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
57293
+
57294
+ @builtins.property
57295
+ @jsii.member(jsii_name="cfnProperties")
57296
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
57297
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
57298
+
57299
+ @builtins.property
57300
+ @jsii.member(jsii_name="connectPeerConfiguration")
57301
+ def connect_peer_configuration(
57302
+ self,
57303
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"]:
57304
+ '''The Connect peer details.'''
57305
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"], jsii.get(self, "connectPeerConfiguration"))
57306
+
57307
+ @connect_peer_configuration.setter
57308
+ def connect_peer_configuration(
57309
+ self,
57310
+ value: typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"],
57311
+ ) -> None:
57312
+ if __debug__:
57313
+ type_hints = typing.get_type_hints(_typecheckingstub__58ed17da8e00760b83a59e1e504bfc8914d4d0783ebb460d52132e6d22c7c5f5)
57314
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57315
+ jsii.set(self, "connectPeerConfiguration", value) # pyright: ignore[reportArgumentType]
57316
+
57317
+ @builtins.property
57318
+ @jsii.member(jsii_name="transitGatewayAttachmentId")
57319
+ def transit_gateway_attachment_id(self) -> builtins.str:
57320
+ '''The ID of the Connect attachment.'''
57321
+ return typing.cast(builtins.str, jsii.get(self, "transitGatewayAttachmentId"))
57322
+
57323
+ @transit_gateway_attachment_id.setter
57324
+ def transit_gateway_attachment_id(self, value: builtins.str) -> None:
57325
+ if __debug__:
57326
+ type_hints = typing.get_type_hints(_typecheckingstub__b2909b9fd1cf53285718444b2e767681f76b6ed629fb8bd9cac90f9dfa879a82)
57327
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57328
+ jsii.set(self, "transitGatewayAttachmentId", value) # pyright: ignore[reportArgumentType]
57329
+
57330
+ @builtins.property
57331
+ @jsii.member(jsii_name="tags")
57332
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
57333
+ '''The tags for the Connect peer.'''
57334
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
57335
+
57336
+ @tags.setter
57337
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
57338
+ if __debug__:
57339
+ type_hints = typing.get_type_hints(_typecheckingstub__6eada39e62da78a0081621fc2e53f369626e0a8daba2db28d9f8ab73bf02a2fd)
57340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57341
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
57342
+
57343
+ @jsii.data_type(
57344
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty",
57345
+ jsii_struct_bases=[],
57346
+ name_mapping={
57347
+ "bgp_status": "bgpStatus",
57348
+ "peer_address": "peerAddress",
57349
+ "peer_asn": "peerAsn",
57350
+ "transit_gateway_address": "transitGatewayAddress",
57351
+ "transit_gateway_asn": "transitGatewayAsn",
57352
+ },
57353
+ )
57354
+ class TransitGatewayAttachmentBgpConfigurationProperty:
57355
+ def __init__(
57356
+ self,
57357
+ *,
57358
+ bgp_status: typing.Optional[builtins.str] = None,
57359
+ peer_address: typing.Optional[builtins.str] = None,
57360
+ peer_asn: typing.Optional[jsii.Number] = None,
57361
+ transit_gateway_address: typing.Optional[builtins.str] = None,
57362
+ transit_gateway_asn: typing.Optional[jsii.Number] = None,
57363
+ ) -> None:
57364
+ '''The BGP configuration information.
57365
+
57366
+ :param bgp_status: The BGP status.
57367
+ :param peer_address: The interior BGP peer IP address for the appliance.
57368
+ :param peer_asn: The peer Autonomous System Number (ASN).
57369
+ :param transit_gateway_address: The interior BGP peer IP address for the transit gateway.
57370
+ :param transit_gateway_asn: The transit gateway Autonomous System Number (ASN).
57371
+
57372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html
57373
+ :exampleMetadata: fixture=_generated
57374
+
57375
+ Example::
57376
+
57377
+ # The code below shows an example of how to instantiate this type.
57378
+ # The values are placeholders you should change.
57379
+ from aws_cdk import aws_ec2 as ec2
57380
+
57381
+ transit_gateway_attachment_bgp_configuration_property = ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57382
+ bgp_status="bgpStatus",
57383
+ peer_address="peerAddress",
57384
+ peer_asn=123,
57385
+ transit_gateway_address="transitGatewayAddress",
57386
+ transit_gateway_asn=123
57387
+ )
57388
+ '''
57389
+ if __debug__:
57390
+ type_hints = typing.get_type_hints(_typecheckingstub__d0f30598b4049c4e4e643a34da7497413353b78ba0ca8e5b1eb98867ba0a56b2)
57391
+ check_type(argname="argument bgp_status", value=bgp_status, expected_type=type_hints["bgp_status"])
57392
+ check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
57393
+ check_type(argname="argument peer_asn", value=peer_asn, expected_type=type_hints["peer_asn"])
57394
+ check_type(argname="argument transit_gateway_address", value=transit_gateway_address, expected_type=type_hints["transit_gateway_address"])
57395
+ check_type(argname="argument transit_gateway_asn", value=transit_gateway_asn, expected_type=type_hints["transit_gateway_asn"])
57396
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
57397
+ if bgp_status is not None:
57398
+ self._values["bgp_status"] = bgp_status
57399
+ if peer_address is not None:
57400
+ self._values["peer_address"] = peer_address
57401
+ if peer_asn is not None:
57402
+ self._values["peer_asn"] = peer_asn
57403
+ if transit_gateway_address is not None:
57404
+ self._values["transit_gateway_address"] = transit_gateway_address
57405
+ if transit_gateway_asn is not None:
57406
+ self._values["transit_gateway_asn"] = transit_gateway_asn
57407
+
57408
+ @builtins.property
57409
+ def bgp_status(self) -> typing.Optional[builtins.str]:
57410
+ '''The BGP status.
57411
+
57412
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-bgpstatus
57413
+ '''
57414
+ result = self._values.get("bgp_status")
57415
+ return typing.cast(typing.Optional[builtins.str], result)
57416
+
57417
+ @builtins.property
57418
+ def peer_address(self) -> typing.Optional[builtins.str]:
57419
+ '''The interior BGP peer IP address for the appliance.
57420
+
57421
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peeraddress
57422
+ '''
57423
+ result = self._values.get("peer_address")
57424
+ return typing.cast(typing.Optional[builtins.str], result)
57425
+
57426
+ @builtins.property
57427
+ def peer_asn(self) -> typing.Optional[jsii.Number]:
57428
+ '''The peer Autonomous System Number (ASN).
57429
+
57430
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peerasn
57431
+ '''
57432
+ result = self._values.get("peer_asn")
57433
+ return typing.cast(typing.Optional[jsii.Number], result)
57434
+
57435
+ @builtins.property
57436
+ def transit_gateway_address(self) -> typing.Optional[builtins.str]:
57437
+ '''The interior BGP peer IP address for the transit gateway.
57438
+
57439
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayaddress
57440
+ '''
57441
+ result = self._values.get("transit_gateway_address")
57442
+ return typing.cast(typing.Optional[builtins.str], result)
57443
+
57444
+ @builtins.property
57445
+ def transit_gateway_asn(self) -> typing.Optional[jsii.Number]:
57446
+ '''The transit gateway Autonomous System Number (ASN).
57447
+
57448
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayasn
57449
+ '''
57450
+ result = self._values.get("transit_gateway_asn")
57451
+ return typing.cast(typing.Optional[jsii.Number], result)
57452
+
57453
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57454
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57455
+
57456
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57457
+ return not (rhs == self)
57458
+
57459
+ def __repr__(self) -> str:
57460
+ return "TransitGatewayAttachmentBgpConfigurationProperty(%s)" % ", ".join(
57461
+ k + "=" + repr(v) for k, v in self._values.items()
57462
+ )
57463
+
57464
+ @jsii.data_type(
57465
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty",
57466
+ jsii_struct_bases=[],
57467
+ name_mapping={
57468
+ "inside_cidr_blocks": "insideCidrBlocks",
57469
+ "peer_address": "peerAddress",
57470
+ "bgp_configurations": "bgpConfigurations",
57471
+ "protocol": "protocol",
57472
+ "transit_gateway_address": "transitGatewayAddress",
57473
+ },
57474
+ )
57475
+ class TransitGatewayConnectPeerConfigurationProperty:
57476
+ def __init__(
57477
+ self,
57478
+ *,
57479
+ inside_cidr_blocks: typing.Sequence[builtins.str],
57480
+ peer_address: builtins.str,
57481
+ bgp_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
57482
+ protocol: typing.Optional[builtins.str] = None,
57483
+ transit_gateway_address: typing.Optional[builtins.str] = None,
57484
+ ) -> None:
57485
+ '''Describes the Connect peer details.
57486
+
57487
+ :param inside_cidr_blocks: The range of interior BGP peer IP addresses.
57488
+ :param peer_address: The Connect peer IP address on the appliance side of the tunnel.
57489
+ :param bgp_configurations: The BGP configuration details.
57490
+ :param protocol: The tunnel protocol.
57491
+ :param transit_gateway_address: The Connect peer IP address on the transit gateway side of the tunnel.
57492
+
57493
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html
57494
+ :exampleMetadata: fixture=_generated
57495
+
57496
+ Example::
57497
+
57498
+ # The code below shows an example of how to instantiate this type.
57499
+ # The values are placeholders you should change.
57500
+ from aws_cdk import aws_ec2 as ec2
57501
+
57502
+ transit_gateway_connect_peer_configuration_property = ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
57503
+ inside_cidr_blocks=["insideCidrBlocks"],
57504
+ peer_address="peerAddress",
57505
+
57506
+ # the properties below are optional
57507
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57508
+ bgp_status="bgpStatus",
57509
+ peer_address="peerAddress",
57510
+ peer_asn=123,
57511
+ transit_gateway_address="transitGatewayAddress",
57512
+ transit_gateway_asn=123
57513
+ )],
57514
+ protocol="protocol",
57515
+ transit_gateway_address="transitGatewayAddress"
57516
+ )
57517
+ '''
57518
+ if __debug__:
57519
+ type_hints = typing.get_type_hints(_typecheckingstub__ed11c27aeee7d87fa8fd9b18c1c8885352346e3191deb89b80e860c9891e5b56)
57520
+ check_type(argname="argument inside_cidr_blocks", value=inside_cidr_blocks, expected_type=type_hints["inside_cidr_blocks"])
57521
+ check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
57522
+ check_type(argname="argument bgp_configurations", value=bgp_configurations, expected_type=type_hints["bgp_configurations"])
57523
+ check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
57524
+ check_type(argname="argument transit_gateway_address", value=transit_gateway_address, expected_type=type_hints["transit_gateway_address"])
57525
+ self._values: typing.Dict[builtins.str, typing.Any] = {
57526
+ "inside_cidr_blocks": inside_cidr_blocks,
57527
+ "peer_address": peer_address,
57528
+ }
57529
+ if bgp_configurations is not None:
57530
+ self._values["bgp_configurations"] = bgp_configurations
57531
+ if protocol is not None:
57532
+ self._values["protocol"] = protocol
57533
+ if transit_gateway_address is not None:
57534
+ self._values["transit_gateway_address"] = transit_gateway_address
57535
+
57536
+ @builtins.property
57537
+ def inside_cidr_blocks(self) -> typing.List[builtins.str]:
57538
+ '''The range of interior BGP peer IP addresses.
57539
+
57540
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-insidecidrblocks
57541
+ '''
57542
+ result = self._values.get("inside_cidr_blocks")
57543
+ assert result is not None, "Required property 'inside_cidr_blocks' is missing"
57544
+ return typing.cast(typing.List[builtins.str], result)
57545
+
57546
+ @builtins.property
57547
+ def peer_address(self) -> builtins.str:
57548
+ '''The Connect peer IP address on the appliance side of the tunnel.
57549
+
57550
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-peeraddress
57551
+ '''
57552
+ result = self._values.get("peer_address")
57553
+ assert result is not None, "Required property 'peer_address' is missing"
57554
+ return typing.cast(builtins.str, result)
57555
+
57556
+ @builtins.property
57557
+ def bgp_configurations(
57558
+ self,
57559
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty"]]]]:
57560
+ '''The BGP configuration details.
57561
+
57562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-bgpconfigurations
57563
+ '''
57564
+ result = self._values.get("bgp_configurations")
57565
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty"]]]], result)
57566
+
57567
+ @builtins.property
57568
+ def protocol(self) -> typing.Optional[builtins.str]:
57569
+ '''The tunnel protocol.
57570
+
57571
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-protocol
57572
+ '''
57573
+ result = self._values.get("protocol")
57574
+ return typing.cast(typing.Optional[builtins.str], result)
57575
+
57576
+ @builtins.property
57577
+ def transit_gateway_address(self) -> typing.Optional[builtins.str]:
57578
+ '''The Connect peer IP address on the transit gateway side of the tunnel.
57579
+
57580
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-transitgatewayaddress
57581
+ '''
57582
+ result = self._values.get("transit_gateway_address")
57583
+ return typing.cast(typing.Optional[builtins.str], result)
57584
+
57585
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57586
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57587
+
57588
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57589
+ return not (rhs == self)
57590
+
57591
+ def __repr__(self) -> str:
57592
+ return "TransitGatewayConnectPeerConfigurationProperty(%s)" % ", ".join(
57593
+ k + "=" + repr(v) for k, v in self._values.items()
57594
+ )
57595
+
57596
+
57597
+ @jsii.data_type(
57598
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeerProps",
57599
+ jsii_struct_bases=[],
57600
+ name_mapping={
57601
+ "connect_peer_configuration": "connectPeerConfiguration",
57602
+ "transit_gateway_attachment_id": "transitGatewayAttachmentId",
57603
+ "tags": "tags",
57604
+ },
57605
+ )
57606
+ class CfnTransitGatewayConnectPeerProps:
57607
+ def __init__(
57608
+ self,
57609
+ *,
57610
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
57611
+ transit_gateway_attachment_id: builtins.str,
57612
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
57613
+ ) -> None:
57614
+ '''Properties for defining a ``CfnTransitGatewayConnectPeer``.
57615
+
57616
+ :param connect_peer_configuration: The Connect peer details.
57617
+ :param transit_gateway_attachment_id: The ID of the Connect attachment.
57618
+ :param tags: The tags for the Connect peer.
57619
+
57620
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html
57621
+ :exampleMetadata: fixture=_generated
57622
+
57623
+ Example::
57624
+
57625
+ # The code below shows an example of how to instantiate this type.
57626
+ # The values are placeholders you should change.
57627
+ from aws_cdk import aws_ec2 as ec2
57628
+
57629
+ cfn_transit_gateway_connect_peer_props = ec2.CfnTransitGatewayConnectPeerProps(
57630
+ connect_peer_configuration=ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
57631
+ inside_cidr_blocks=["insideCidrBlocks"],
57632
+ peer_address="peerAddress",
57633
+
57634
+ # the properties below are optional
57635
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57636
+ bgp_status="bgpStatus",
57637
+ peer_address="peerAddress",
57638
+ peer_asn=123,
57639
+ transit_gateway_address="transitGatewayAddress",
57640
+ transit_gateway_asn=123
57641
+ )],
57642
+ protocol="protocol",
57643
+ transit_gateway_address="transitGatewayAddress"
57644
+ ),
57645
+ transit_gateway_attachment_id="transitGatewayAttachmentId",
57646
+
57647
+ # the properties below are optional
57648
+ tags=[CfnTag(
57649
+ key="key",
57650
+ value="value"
57651
+ )]
57652
+ )
57653
+ '''
57654
+ if __debug__:
57655
+ type_hints = typing.get_type_hints(_typecheckingstub__32b3081584f3dcc39f1077e0e7bc1b3a6c7b2678c8e23fa6b66e94bc04676ed3)
57656
+ check_type(argname="argument connect_peer_configuration", value=connect_peer_configuration, expected_type=type_hints["connect_peer_configuration"])
57657
+ check_type(argname="argument transit_gateway_attachment_id", value=transit_gateway_attachment_id, expected_type=type_hints["transit_gateway_attachment_id"])
57658
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
57659
+ self._values: typing.Dict[builtins.str, typing.Any] = {
57660
+ "connect_peer_configuration": connect_peer_configuration,
57661
+ "transit_gateway_attachment_id": transit_gateway_attachment_id,
57662
+ }
57663
+ if tags is not None:
57664
+ self._values["tags"] = tags
57665
+
57666
+ @builtins.property
57667
+ def connect_peer_configuration(
57668
+ self,
57669
+ ) -> typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty]:
57670
+ '''The Connect peer details.
57671
+
57672
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-connectpeerconfiguration
57673
+ '''
57674
+ result = self._values.get("connect_peer_configuration")
57675
+ assert result is not None, "Required property 'connect_peer_configuration' is missing"
57676
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty], result)
57677
+
57678
+ @builtins.property
57679
+ def transit_gateway_attachment_id(self) -> builtins.str:
57680
+ '''The ID of the Connect attachment.
57681
+
57682
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentid
57683
+ '''
57684
+ result = self._values.get("transit_gateway_attachment_id")
57685
+ assert result is not None, "Required property 'transit_gateway_attachment_id' is missing"
57686
+ return typing.cast(builtins.str, result)
57687
+
57688
+ @builtins.property
57689
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
57690
+ '''The tags for the Connect peer.
57691
+
57692
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-tags
57693
+ '''
57694
+ result = self._values.get("tags")
57695
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
57696
+
57697
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57698
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57699
+
57700
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57701
+ return not (rhs == self)
57702
+
57703
+ def __repr__(self) -> str:
57704
+ return "CfnTransitGatewayConnectPeerProps(%s)" % ", ".join(
57705
+ k + "=" + repr(v) for k, v in self._values.items()
57706
+ )
57707
+
57708
+
56948
57709
  @jsii.data_type(
56949
57710
  jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectProps",
56950
57711
  jsii_struct_bases=[],
@@ -70712,7 +71473,7 @@ class CfnVolume(
70712
71473
  '''
70713
71474
  :param scope: Scope in which this resource is defined.
70714
71475
  :param id: Construct identifier for this resource (unique in its scope).
70715
- :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` .
71476
+ :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` . Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both.
70716
71477
  :param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
70717
71478
  :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
70718
71479
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
@@ -70801,7 +71562,10 @@ class CfnVolume(
70801
71562
  @builtins.property
70802
71563
  @jsii.member(jsii_name="availabilityZone")
70803
71564
  def availability_zone(self) -> builtins.str:
70804
- '''The ID of the Availability Zone in which to create the volume.'''
71565
+ '''The ID of the Availability Zone in which to create the volume.
71566
+
71567
+ For example, ``us-east-1a`` .
71568
+ '''
70805
71569
  return typing.cast(builtins.str, jsii.get(self, "availabilityZone"))
70806
71570
 
70807
71571
  @availability_zone.setter
@@ -71256,7 +72020,7 @@ class CfnVolumeProps:
71256
72020
  ) -> None:
71257
72021
  '''Properties for defining a ``CfnVolume``.
71258
72022
 
71259
- :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` .
72023
+ :param availability_zone: The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` . Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both.
71260
72024
  :param auto_enable_io: Indicates whether the volume is auto-enabled for I/O operations. By default, Amazon EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
71261
72025
  :param encrypted: Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see `Encryption by default <https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default>`_ in the *Amazon EBS User Guide* . Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see `Supported instance types <https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances>`_ .
71262
72026
  :param iops: The number of I/O operations per second (IOPS). For ``gp3`` , ``io1`` , and ``io2`` volumes, this represents the number of IOPS that are provisioned for the volume. For ``gp2`` volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: - ``gp3`` : 3,000 - 16,000 IOPS - ``io1`` : 100 - 64,000 IOPS - ``io2`` : 100 - 256,000 IOPS For ``io2`` volumes, you can achieve up to 256,000 IOPS on `instances built on the Nitro System <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`_ . On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for ``io1`` and ``io2`` volumes. The default for ``gp3`` volumes is 3,000 IOPS. This parameter is not supported for ``gp2`` , ``st1`` , ``sc1`` , or ``standard`` volumes.
@@ -71345,9 +72109,9 @@ class CfnVolumeProps:
71345
72109
 
71346
72110
  @builtins.property
71347
72111
  def availability_zone(self) -> builtins.str:
71348
- '''The ID of the Availability Zone in which to create the volume.
72112
+ '''The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a`` .
71349
72113
 
71350
- For example, ``us-east-1a`` .
72114
+ Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both.
71351
72115
 
71352
72116
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-availabilityzone
71353
72117
  '''
@@ -77339,6 +78103,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77339
78103
  private_dns_enabled: typing.Optional[builtins.bool] = None,
77340
78104
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
77341
78105
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
78106
+ service_region: typing.Optional[builtins.str] = None,
77342
78107
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
77343
78108
  ) -> "InterfaceVpcEndpoint":
77344
78109
  '''Adds a new interface endpoint to this VPC.
@@ -77352,6 +78117,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77352
78117
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
77353
78118
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
77354
78119
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
78120
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
77355
78121
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
77356
78122
  '''
77357
78123
  ...
@@ -77628,6 +78394,7 @@ class _IVpcProxy(
77628
78394
  private_dns_enabled: typing.Optional[builtins.bool] = None,
77629
78395
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
77630
78396
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
78397
+ service_region: typing.Optional[builtins.str] = None,
77631
78398
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
77632
78399
  ) -> "InterfaceVpcEndpoint":
77633
78400
  '''Adds a new interface endpoint to this VPC.
@@ -77641,6 +78408,7 @@ class _IVpcProxy(
77641
78408
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
77642
78409
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
77643
78410
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
78411
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
77644
78412
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
77645
78413
  '''
77646
78414
  if __debug__:
@@ -77655,6 +78423,7 @@ class _IVpcProxy(
77655
78423
  private_dns_enabled=private_dns_enabled,
77656
78424
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
77657
78425
  security_groups=security_groups,
78426
+ service_region=service_region,
77658
78427
  subnets=subnets,
77659
78428
  )
77660
78429
 
@@ -84522,6 +85291,7 @@ class InterfaceVpcEndpointAwsServiceProps:
84522
85291
  "private_dns_enabled": "privateDnsEnabled",
84523
85292
  "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
84524
85293
  "security_groups": "securityGroups",
85294
+ "service_region": "serviceRegion",
84525
85295
  "subnets": "subnets",
84526
85296
  },
84527
85297
  )
@@ -84537,6 +85307,7 @@ class InterfaceVpcEndpointOptions:
84537
85307
  private_dns_enabled: typing.Optional[builtins.bool] = None,
84538
85308
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
84539
85309
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
85310
+ service_region: typing.Optional[builtins.str] = None,
84540
85311
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
84541
85312
  ) -> None:
84542
85313
  '''Options to add an interface endpoint to a VPC.
@@ -84549,6 +85320,7 @@ class InterfaceVpcEndpointOptions:
84549
85320
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
84550
85321
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
84551
85322
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
85323
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
84552
85324
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
84553
85325
 
84554
85326
  :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
@@ -84593,6 +85365,7 @@ class InterfaceVpcEndpointOptions:
84593
85365
  check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
84594
85366
  check_type(argname="argument private_dns_only_for_inbound_resolver_endpoint", value=private_dns_only_for_inbound_resolver_endpoint, expected_type=type_hints["private_dns_only_for_inbound_resolver_endpoint"])
84595
85367
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
85368
+ check_type(argname="argument service_region", value=service_region, expected_type=type_hints["service_region"])
84596
85369
  check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
84597
85370
  self._values: typing.Dict[builtins.str, typing.Any] = {
84598
85371
  "service": service,
@@ -84611,6 +85384,8 @@ class InterfaceVpcEndpointOptions:
84611
85384
  self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
84612
85385
  if security_groups is not None:
84613
85386
  self._values["security_groups"] = security_groups
85387
+ if service_region is not None:
85388
+ self._values["service_region"] = service_region
84614
85389
  if subnets is not None:
84615
85390
  self._values["subnets"] = subnets
84616
85391
 
@@ -84698,6 +85473,17 @@ class InterfaceVpcEndpointOptions:
84698
85473
  result = self._values.get("security_groups")
84699
85474
  return typing.cast(typing.Optional[typing.List[ISecurityGroup]], result)
84700
85475
 
85476
+ @builtins.property
85477
+ def service_region(self) -> typing.Optional[builtins.str]:
85478
+ '''The region where the VPC endpoint service is located.
85479
+
85480
+ Only needs to be specified for cross-region VPC endpoints.
85481
+
85482
+ :default: - Same region as the interface VPC endpoint
85483
+ '''
85484
+ result = self._values.get("service_region")
85485
+ return typing.cast(typing.Optional[builtins.str], result)
85486
+
84701
85487
  @builtins.property
84702
85488
  def subnets(self) -> typing.Optional["SubnetSelection"]:
84703
85489
  '''The subnets in which to create an endpoint network interface.
@@ -84734,6 +85520,7 @@ class InterfaceVpcEndpointOptions:
84734
85520
  "private_dns_enabled": "privateDnsEnabled",
84735
85521
  "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
84736
85522
  "security_groups": "securityGroups",
85523
+ "service_region": "serviceRegion",
84737
85524
  "subnets": "subnets",
84738
85525
  "vpc": "vpc",
84739
85526
  },
@@ -84750,6 +85537,7 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84750
85537
  private_dns_enabled: typing.Optional[builtins.bool] = None,
84751
85538
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
84752
85539
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
85540
+ service_region: typing.Optional[builtins.str] = None,
84753
85541
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
84754
85542
  vpc: IVpc,
84755
85543
  ) -> None:
@@ -84763,6 +85551,7 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84763
85551
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
84764
85552
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
84765
85553
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
85554
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
84766
85555
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
84767
85556
  :param vpc: The VPC network in which the interface endpoint will be used.
84768
85557
 
@@ -84794,6 +85583,7 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84794
85583
  check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
84795
85584
  check_type(argname="argument private_dns_only_for_inbound_resolver_endpoint", value=private_dns_only_for_inbound_resolver_endpoint, expected_type=type_hints["private_dns_only_for_inbound_resolver_endpoint"])
84796
85585
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
85586
+ check_type(argname="argument service_region", value=service_region, expected_type=type_hints["service_region"])
84797
85587
  check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
84798
85588
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
84799
85589
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -84814,6 +85604,8 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84814
85604
  self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
84815
85605
  if security_groups is not None:
84816
85606
  self._values["security_groups"] = security_groups
85607
+ if service_region is not None:
85608
+ self._values["service_region"] = service_region
84817
85609
  if subnets is not None:
84818
85610
  self._values["subnets"] = subnets
84819
85611
 
@@ -84901,6 +85693,17 @@ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84901
85693
  result = self._values.get("security_groups")
84902
85694
  return typing.cast(typing.Optional[typing.List[ISecurityGroup]], result)
84903
85695
 
85696
+ @builtins.property
85697
+ def service_region(self) -> typing.Optional[builtins.str]:
85698
+ '''The region where the VPC endpoint service is located.
85699
+
85700
+ Only needs to be specified for cross-region VPC endpoints.
85701
+
85702
+ :default: - Same region as the interface VPC endpoint
85703
+ '''
85704
+ result = self._values.get("service_region")
85705
+ return typing.cast(typing.Optional[builtins.str], result)
85706
+
84904
85707
  @builtins.property
84905
85708
  def subnets(self) -> typing.Optional["SubnetSelection"]:
84906
85709
  '''The subnets in which to create an endpoint network interface.
@@ -95401,6 +96204,7 @@ class Vpc(
95401
96204
  private_dns_enabled: typing.Optional[builtins.bool] = None,
95402
96205
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
95403
96206
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
96207
+ service_region: typing.Optional[builtins.str] = None,
95404
96208
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
95405
96209
  ) -> "InterfaceVpcEndpoint":
95406
96210
  '''Adds a new interface endpoint to this VPC.
@@ -95414,6 +96218,7 @@ class Vpc(
95414
96218
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
95415
96219
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
95416
96220
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
96221
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
95417
96222
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
95418
96223
  '''
95419
96224
  if __debug__:
@@ -95428,6 +96233,7 @@ class Vpc(
95428
96233
  private_dns_enabled=private_dns_enabled,
95429
96234
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
95430
96235
  security_groups=security_groups,
96236
+ service_region=service_region,
95431
96237
  subnets=subnets,
95432
96238
  )
95433
96239
 
@@ -101655,6 +102461,7 @@ class InterfaceVpcEndpoint(
101655
102461
  private_dns_enabled: typing.Optional[builtins.bool] = None,
101656
102462
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
101657
102463
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
102464
+ service_region: typing.Optional[builtins.str] = None,
101658
102465
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
101659
102466
  ) -> None:
101660
102467
  '''
@@ -101669,6 +102476,7 @@ class InterfaceVpcEndpoint(
101669
102476
  :param private_dns_enabled: Whether to associate a private hosted zone with the specified VPC. This allows you to make requests to the service using its default DNS hostname. Default: set by the instance of IInterfaceVpcEndpointService, or true if not defined by the instance of IInterfaceVpcEndpointService
101670
102477
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
101671
102478
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
102479
+ :param service_region: The region where the VPC endpoint service is located. Only needs to be specified for cross-region VPC endpoints. Default: - Same region as the interface VPC endpoint
101672
102480
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
101673
102481
  '''
101674
102482
  if __debug__:
@@ -101685,6 +102493,7 @@ class InterfaceVpcEndpoint(
101685
102493
  private_dns_enabled=private_dns_enabled,
101686
102494
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
101687
102495
  security_groups=security_groups,
102496
+ service_region=service_region,
101688
102497
  subnets=subnets,
101689
102498
  )
101690
102499
 
@@ -104261,6 +105070,8 @@ __all__ = [
104261
105070
  "CfnInstanceProps",
104262
105071
  "CfnInternetGateway",
104263
105072
  "CfnInternetGatewayProps",
105073
+ "CfnIpPoolRouteTableAssociation",
105074
+ "CfnIpPoolRouteTableAssociationProps",
104264
105075
  "CfnKeyPair",
104265
105076
  "CfnKeyPairProps",
104266
105077
  "CfnLaunchTemplate",
@@ -104345,6 +105156,8 @@ __all__ = [
104345
105156
  "CfnTransitGatewayAttachment",
104346
105157
  "CfnTransitGatewayAttachmentProps",
104347
105158
  "CfnTransitGatewayConnect",
105159
+ "CfnTransitGatewayConnectPeer",
105160
+ "CfnTransitGatewayConnectPeerProps",
104348
105161
  "CfnTransitGatewayConnectProps",
104349
105162
  "CfnTransitGatewayMulticastDomain",
104350
105163
  "CfnTransitGatewayMulticastDomainAssociation",
@@ -107910,6 +108723,48 @@ def _typecheckingstub__87a0ecd2999ccef41b6baf7e5e653666a7205cdda8348b4e20f3b1bab
107910
108723
  """Type checking stubs"""
107911
108724
  pass
107912
108725
 
108726
+ def _typecheckingstub__d2e346c37572137e6dfe14e676bbcd2ecce12183e9c91e6bac858b8287c38d18(
108727
+ scope: _constructs_77d1e7e8.Construct,
108728
+ id: builtins.str,
108729
+ *,
108730
+ public_ipv4_pool: builtins.str,
108731
+ route_table_id: builtins.str,
108732
+ ) -> None:
108733
+ """Type checking stubs"""
108734
+ pass
108735
+
108736
+ def _typecheckingstub__0e8beabfae1e3898fe833fa4f6fec4db49c1797a24c9a17c0a1cc938efbb234d(
108737
+ inspector: _TreeInspector_488e0dd5,
108738
+ ) -> None:
108739
+ """Type checking stubs"""
108740
+ pass
108741
+
108742
+ def _typecheckingstub__9261e60da0656ce4be4de7b6f7ca910aa7426a27190ff19b86e1fa3fca169b5f(
108743
+ props: typing.Mapping[builtins.str, typing.Any],
108744
+ ) -> None:
108745
+ """Type checking stubs"""
108746
+ pass
108747
+
108748
+ def _typecheckingstub__9e778f968d1e05ca9a9a12139d6b6122fee2d84c3920b3266bb24123b1125376(
108749
+ value: builtins.str,
108750
+ ) -> None:
108751
+ """Type checking stubs"""
108752
+ pass
108753
+
108754
+ def _typecheckingstub__50b3a9184baeaee59a249d70d1646e9be6be39d5717e3a579744f8bcbd740d9e(
108755
+ value: builtins.str,
108756
+ ) -> None:
108757
+ """Type checking stubs"""
108758
+ pass
108759
+
108760
+ def _typecheckingstub__ca7ebe92862b15a6d48fca22126c61fa57bcf8453d0939d48bb4080583c8ee82(
108761
+ *,
108762
+ public_ipv4_pool: builtins.str,
108763
+ route_table_id: builtins.str,
108764
+ ) -> None:
108765
+ """Type checking stubs"""
108766
+ pass
108767
+
107913
108768
  def _typecheckingstub__1de6844e799c72712c1e89d9bf245ba313ed7d4d20f1567a28fb58baefc263bd(
107914
108769
  scope: _constructs_77d1e7e8.Construct,
107915
108770
  id: builtins.str,
@@ -108358,6 +109213,7 @@ def _typecheckingstub__c599e12c3de63926f26bb5da3afad64e8c60b24c3b563faa2986e88c1
108358
109213
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
108359
109214
  description: typing.Optional[builtins.str] = None,
108360
109215
  device_index: typing.Optional[jsii.Number] = None,
109216
+ ena_queue_count: typing.Optional[jsii.Number] = None,
108361
109217
  ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.EnaSrdSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
108362
109218
  groups: typing.Optional[typing.Sequence[builtins.str]] = None,
108363
109219
  interface_type: typing.Optional[builtins.str] = None,
@@ -108681,7 +109537,6 @@ def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b4
108681
109537
  scope: _constructs_77d1e7e8.Construct,
108682
109538
  id: builtins.str,
108683
109539
  *,
108684
- subnet_id: builtins.str,
108685
109540
  allocation_id: typing.Optional[builtins.str] = None,
108686
109541
  connectivity_type: typing.Optional[builtins.str] = None,
108687
109542
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -108689,6 +109544,7 @@ def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b4
108689
109544
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
108690
109545
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
108691
109546
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
109547
+ subnet_id: typing.Optional[builtins.str] = None,
108692
109548
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108693
109549
  ) -> None:
108694
109550
  """Type checking stubs"""
@@ -108706,12 +109562,6 @@ def _typecheckingstub__ccb9afd936b7ea3bdc26e449176215293a7150d149aecacc164a3b752
108706
109562
  """Type checking stubs"""
108707
109563
  pass
108708
109564
 
108709
- def _typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74(
108710
- value: builtins.str,
108711
- ) -> None:
108712
- """Type checking stubs"""
108713
- pass
108714
-
108715
109565
  def _typecheckingstub__d4cfe702c80e90b7e94df290ccbd9b1126a59f7167ee8d0b08ead001f4b760be(
108716
109566
  value: typing.Optional[builtins.str],
108717
109567
  ) -> None:
@@ -108754,6 +109604,12 @@ def _typecheckingstub__6f95c2f3e513b379e30162aef0ef12684ffddc3d711e6a83303fbb920
108754
109604
  """Type checking stubs"""
108755
109605
  pass
108756
109606
 
109607
+ def _typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74(
109608
+ value: typing.Optional[builtins.str],
109609
+ ) -> None:
109610
+ """Type checking stubs"""
109611
+ pass
109612
+
108757
109613
  def _typecheckingstub__76a6a3daaab575df04de03efcf802de9ee1357d57a0474a96922bc7d42b638e2(
108758
109614
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
108759
109615
  ) -> None:
@@ -108762,7 +109618,6 @@ def _typecheckingstub__76a6a3daaab575df04de03efcf802de9ee1357d57a0474a96922bc7d4
108762
109618
 
108763
109619
  def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330ee9a581(
108764
109620
  *,
108765
- subnet_id: builtins.str,
108766
109621
  allocation_id: typing.Optional[builtins.str] = None,
108767
109622
  connectivity_type: typing.Optional[builtins.str] = None,
108768
109623
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -108770,6 +109625,7 @@ def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330
108770
109625
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
108771
109626
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
108772
109627
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
109628
+ subnet_id: typing.Optional[builtins.str] = None,
108773
109629
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108774
109630
  ) -> None:
108775
109631
  """Type checking stubs"""
@@ -112097,6 +112953,78 @@ def _typecheckingstub__f28cf9493a9ba4af846e6c741893e0f0824bc477c2f1963741643adc4
112097
112953
  """Type checking stubs"""
112098
112954
  pass
112099
112955
 
112956
+ def _typecheckingstub__1f8d207f56975363774b74fa734c1d229d4b0713b4f3516f3314cd9ebcd0e41c(
112957
+ scope: _constructs_77d1e7e8.Construct,
112958
+ id: builtins.str,
112959
+ *,
112960
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
112961
+ transit_gateway_attachment_id: builtins.str,
112962
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
112963
+ ) -> None:
112964
+ """Type checking stubs"""
112965
+ pass
112966
+
112967
+ def _typecheckingstub__b94393058454232978c68e76b9895b5f0775d34692c68d57103fafd32b53d66e(
112968
+ inspector: _TreeInspector_488e0dd5,
112969
+ ) -> None:
112970
+ """Type checking stubs"""
112971
+ pass
112972
+
112973
+ def _typecheckingstub__9f8ed9dcea183e690fe0f56b975179a4ccbc13162e837cb3c510b70d38b0ef94(
112974
+ props: typing.Mapping[builtins.str, typing.Any],
112975
+ ) -> None:
112976
+ """Type checking stubs"""
112977
+ pass
112978
+
112979
+ def _typecheckingstub__58ed17da8e00760b83a59e1e504bfc8914d4d0783ebb460d52132e6d22c7c5f5(
112980
+ value: typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty],
112981
+ ) -> None:
112982
+ """Type checking stubs"""
112983
+ pass
112984
+
112985
+ def _typecheckingstub__b2909b9fd1cf53285718444b2e767681f76b6ed629fb8bd9cac90f9dfa879a82(
112986
+ value: builtins.str,
112987
+ ) -> None:
112988
+ """Type checking stubs"""
112989
+ pass
112990
+
112991
+ def _typecheckingstub__6eada39e62da78a0081621fc2e53f369626e0a8daba2db28d9f8ab73bf02a2fd(
112992
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
112993
+ ) -> None:
112994
+ """Type checking stubs"""
112995
+ pass
112996
+
112997
+ def _typecheckingstub__d0f30598b4049c4e4e643a34da7497413353b78ba0ca8e5b1eb98867ba0a56b2(
112998
+ *,
112999
+ bgp_status: typing.Optional[builtins.str] = None,
113000
+ peer_address: typing.Optional[builtins.str] = None,
113001
+ peer_asn: typing.Optional[jsii.Number] = None,
113002
+ transit_gateway_address: typing.Optional[builtins.str] = None,
113003
+ transit_gateway_asn: typing.Optional[jsii.Number] = None,
113004
+ ) -> None:
113005
+ """Type checking stubs"""
113006
+ pass
113007
+
113008
+ def _typecheckingstub__ed11c27aeee7d87fa8fd9b18c1c8885352346e3191deb89b80e860c9891e5b56(
113009
+ *,
113010
+ inside_cidr_blocks: typing.Sequence[builtins.str],
113011
+ peer_address: builtins.str,
113012
+ bgp_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
113013
+ protocol: typing.Optional[builtins.str] = None,
113014
+ transit_gateway_address: typing.Optional[builtins.str] = None,
113015
+ ) -> None:
113016
+ """Type checking stubs"""
113017
+ pass
113018
+
113019
+ def _typecheckingstub__32b3081584f3dcc39f1077e0e7bc1b3a6c7b2678c8e23fa6b66e94bc04676ed3(
113020
+ *,
113021
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
113022
+ transit_gateway_attachment_id: builtins.str,
113023
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
113024
+ ) -> None:
113025
+ """Type checking stubs"""
113026
+ pass
113027
+
112100
113028
  def _typecheckingstub__ae4b1efff7cf5a4fab7c16d5ffad18f9c18dbd0d23dd3fa072685e3264ade5e1(
112101
113029
  *,
112102
113030
  options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnect.TransitGatewayConnectOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -115155,6 +116083,7 @@ def _typecheckingstub__a8399f0a6a7650e1c02d00770e21cad422b9760a1fdc24465cf546371
115155
116083
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115156
116084
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115157
116085
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
116086
+ service_region: typing.Optional[builtins.str] = None,
115158
116087
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115159
116088
  ) -> None:
115160
116089
  """Type checking stubs"""
@@ -115770,6 +116699,7 @@ def _typecheckingstub__1a6dd0208e338cbe286ecaa3bcf5f95a5f0a0c1e1b3565ca6de058b5f
115770
116699
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115771
116700
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115772
116701
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
116702
+ service_region: typing.Optional[builtins.str] = None,
115773
116703
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115774
116704
  ) -> None:
115775
116705
  """Type checking stubs"""
@@ -115785,6 +116715,7 @@ def _typecheckingstub__6606ba3de030c44ce43dee44afe64adc59231bfc542799d1354e0732a
115785
116715
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115786
116716
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115787
116717
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
116718
+ service_region: typing.Optional[builtins.str] = None,
115788
116719
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115789
116720
  vpc: IVpc,
115790
116721
  ) -> None:
@@ -117041,6 +117972,7 @@ def _typecheckingstub__00d64fd969958beb796ccf5d1bc5d808fd3e751c9e3c2237abfaf2dbe
117041
117972
  private_dns_enabled: typing.Optional[builtins.bool] = None,
117042
117973
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
117043
117974
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
117975
+ service_region: typing.Optional[builtins.str] = None,
117044
117976
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
117045
117977
  ) -> None:
117046
117978
  """Type checking stubs"""
@@ -117631,6 +118563,7 @@ def _typecheckingstub__a11756d82f1033710d89b4b10b111462f7a99734ff79d3648bd84d0e5
117631
118563
  private_dns_enabled: typing.Optional[builtins.bool] = None,
117632
118564
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
117633
118565
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
118566
+ service_region: typing.Optional[builtins.str] = None,
117634
118567
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
117635
118568
  ) -> None:
117636
118569
  """Type checking stubs"""