aws-cdk-lib 2.210.0__py3-none-any.whl → 2.211.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 (57) hide show
  1. aws_cdk/__init__.py +6 -11
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.210.0.jsii.tgz → aws-cdk-lib@2.211.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -1
  5. aws_cdk/aws_appconfig/__init__.py +9 -0
  6. aws_cdk/aws_arcregionswitch/__init__.py +4962 -0
  7. aws_cdk/aws_athena/__init__.py +23 -19
  8. aws_cdk/aws_autoscaling/__init__.py +6 -6
  9. aws_cdk/aws_batch/__init__.py +721 -51
  10. aws_cdk/aws_cassandra/__init__.py +28 -1
  11. aws_cdk/aws_cloudfront/__init__.py +20 -8
  12. aws_cdk/aws_cognito/__init__.py +9 -2
  13. aws_cdk/aws_datazone/__init__.py +118 -77
  14. aws_cdk/aws_dax/__init__.py +39 -0
  15. aws_cdk/aws_deadline/__init__.py +155 -7
  16. aws_cdk/aws_docdb/__init__.py +20 -11
  17. aws_cdk/aws_dynamodb/__init__.py +160 -20
  18. aws_cdk/aws_ec2/__init__.py +978 -256
  19. aws_cdk/aws_ecr/__init__.py +274 -0
  20. aws_cdk/aws_ecs/__init__.py +1642 -140
  21. aws_cdk/aws_eks/__init__.py +51 -3
  22. aws_cdk/aws_elasticloadbalancingv2/__init__.py +30 -16
  23. aws_cdk/aws_entityresolution/__init__.py +240 -45
  24. aws_cdk/aws_evs/__init__.py +20 -45
  25. aws_cdk/aws_iot/__init__.py +387 -0
  26. aws_cdk/aws_iotsitewise/__init__.py +1247 -139
  27. aws_cdk/aws_ivs/__init__.py +443 -33
  28. aws_cdk/aws_kinesisfirehose/__init__.py +2 -0
  29. aws_cdk/aws_lambda/__init__.py +3 -3
  30. aws_cdk/aws_lightsail/__init__.py +590 -0
  31. aws_cdk/aws_logs/__init__.py +97 -3
  32. aws_cdk/aws_medialive/__init__.py +270 -7
  33. aws_cdk/aws_mediapackagev2/__init__.py +204 -6
  34. aws_cdk/aws_neptune/__init__.py +41 -2
  35. aws_cdk/aws_networkfirewall/__init__.py +490 -134
  36. aws_cdk/aws_observabilityadmin/__init__.py +1468 -0
  37. aws_cdk/aws_opensearchserverless/__init__.py +2 -2
  38. aws_cdk/aws_opsworks/__init__.py +125 -125
  39. aws_cdk/aws_opsworkscm/__init__.py +1 -53
  40. aws_cdk/aws_pcs/__init__.py +36 -0
  41. aws_cdk/aws_qbusiness/__init__.py +3 -3
  42. aws_cdk/aws_quicksight/__init__.py +107 -0
  43. aws_cdk/aws_rds/__init__.py +274 -0
  44. aws_cdk/aws_s3/__init__.py +56 -1
  45. aws_cdk/aws_s3express/__init__.py +52 -1
  46. aws_cdk/aws_sagemaker/__init__.py +4033 -218
  47. aws_cdk/aws_ses/__init__.py +172 -9
  48. aws_cdk/aws_ssm/__init__.py +8 -4
  49. aws_cdk/aws_verifiedpermissions/__init__.py +23 -2
  50. aws_cdk/aws_wisdom/__init__.py +2 -2
  51. aws_cdk/aws_workspacesweb/__init__.py +949 -157
  52. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.0.dist-info}/METADATA +8 -8
  53. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.0.dist-info}/RECORD +57 -55
  54. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.0.dist-info}/LICENSE +0 -0
  55. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.0.dist-info}/NOTICE +0 -0
  56. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.0.dist-info}/WHEEL +0 -0
  57. {aws_cdk_lib-2.210.0.dist-info → aws_cdk_lib-2.211.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.
@@ -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
  '''
@@ -29118,6 +29134,7 @@ class CfnLaunchTemplate(
29118
29134
  delete_on_termination=False,
29119
29135
  description="description",
29120
29136
  device_index=123,
29137
+ ena_queue_count=123,
29121
29138
  ena_srd_specification=ec2.CfnLaunchTemplate.EnaSrdSpecificationProperty(
29122
29139
  ena_srd_enabled=False,
29123
29140
  ena_srd_udp_specification=ec2.CfnLaunchTemplate.EnaSrdUdpSpecificationProperty(
@@ -30507,6 +30524,7 @@ class CfnLaunchTemplate(
30507
30524
  "delete_on_termination": "deleteOnTermination",
30508
30525
  "description": "description",
30509
30526
  "device_index": "deviceIndex",
30527
+ "ena_queue_count": "enaQueueCount",
30510
30528
  "ena_srd_specification": "enaSrdSpecification",
30511
30529
  "groups": "groups",
30512
30530
  "interface_type": "interfaceType",
@@ -30535,6 +30553,7 @@ class CfnLaunchTemplate(
30535
30553
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
30536
30554
  description: typing.Optional[builtins.str] = None,
30537
30555
  device_index: typing.Optional[jsii.Number] = None,
30556
+ ena_queue_count: typing.Optional[jsii.Number] = None,
30538
30557
  ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.EnaSrdSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30539
30558
  groups: typing.Optional[typing.Sequence[builtins.str]] = None,
30540
30559
  interface_type: typing.Optional[builtins.str] = None,
@@ -30562,6 +30581,7 @@ class CfnLaunchTemplate(
30562
30581
  :param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
30563
30582
  :param description: A description for the network interface.
30564
30583
  :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`` .
30584
+ :param ena_queue_count:
30565
30585
  :param ena_srd_specification: The ENA Express configuration for the network interface.
30566
30586
  :param groups: The IDs of one or more security groups.
30567
30587
  :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 +30619,7 @@ class CfnLaunchTemplate(
30599
30619
  delete_on_termination=False,
30600
30620
  description="description",
30601
30621
  device_index=123,
30622
+ ena_queue_count=123,
30602
30623
  ena_srd_specification=ec2.CfnLaunchTemplate.EnaSrdSpecificationProperty(
30603
30624
  ena_srd_enabled=False,
30604
30625
  ena_srd_udp_specification=ec2.CfnLaunchTemplate.EnaSrdUdpSpecificationProperty(
@@ -30639,6 +30660,7 @@ class CfnLaunchTemplate(
30639
30660
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
30640
30661
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
30641
30662
  check_type(argname="argument device_index", value=device_index, expected_type=type_hints["device_index"])
30663
+ check_type(argname="argument ena_queue_count", value=ena_queue_count, expected_type=type_hints["ena_queue_count"])
30642
30664
  check_type(argname="argument ena_srd_specification", value=ena_srd_specification, expected_type=type_hints["ena_srd_specification"])
30643
30665
  check_type(argname="argument groups", value=groups, expected_type=type_hints["groups"])
30644
30666
  check_type(argname="argument interface_type", value=interface_type, expected_type=type_hints["interface_type"])
@@ -30668,6 +30690,8 @@ class CfnLaunchTemplate(
30668
30690
  self._values["description"] = description
30669
30691
  if device_index is not None:
30670
30692
  self._values["device_index"] = device_index
30693
+ if ena_queue_count is not None:
30694
+ self._values["ena_queue_count"] = ena_queue_count
30671
30695
  if ena_srd_specification is not None:
30672
30696
  self._values["ena_srd_specification"] = ena_srd_specification
30673
30697
  if groups is not None:
@@ -30771,6 +30795,14 @@ class CfnLaunchTemplate(
30771
30795
  result = self._values.get("device_index")
30772
30796
  return typing.cast(typing.Optional[jsii.Number], result)
30773
30797
 
30798
+ @builtins.property
30799
+ def ena_queue_count(self) -> typing.Optional[jsii.Number]:
30800
+ '''
30801
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-enaqueuecount
30802
+ '''
30803
+ result = self._values.get("ena_queue_count")
30804
+ return typing.cast(typing.Optional[jsii.Number], result)
30805
+
30774
30806
  @builtins.property
30775
30807
  def ena_srd_specification(
30776
30808
  self,
@@ -33088,9 +33120,6 @@ class CfnNatGateway(
33088
33120
  from aws_cdk import aws_ec2 as ec2
33089
33121
 
33090
33122
  cfn_nat_gateway = ec2.CfnNatGateway(self, "MyCfnNatGateway",
33091
- subnet_id="subnetId",
33092
-
33093
- # the properties below are optional
33094
33123
  allocation_id="allocationId",
33095
33124
  connectivity_type="connectivityType",
33096
33125
  max_drain_duration_seconds=123,
@@ -33098,6 +33127,7 @@ class CfnNatGateway(
33098
33127
  secondary_allocation_ids=["secondaryAllocationIds"],
33099
33128
  secondary_private_ip_address_count=123,
33100
33129
  secondary_private_ip_addresses=["secondaryPrivateIpAddresses"],
33130
+ subnet_id="subnetId",
33101
33131
  tags=[CfnTag(
33102
33132
  key="key",
33103
33133
  value="value"
@@ -33110,7 +33140,6 @@ class CfnNatGateway(
33110
33140
  scope: _constructs_77d1e7e8.Construct,
33111
33141
  id: builtins.str,
33112
33142
  *,
33113
- subnet_id: builtins.str,
33114
33143
  allocation_id: typing.Optional[builtins.str] = None,
33115
33144
  connectivity_type: typing.Optional[builtins.str] = None,
33116
33145
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -33118,12 +33147,12 @@ class CfnNatGateway(
33118
33147
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33119
33148
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
33120
33149
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
33150
+ subnet_id: typing.Optional[builtins.str] = None,
33121
33151
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33122
33152
  ) -> None:
33123
33153
  '''
33124
33154
  :param scope: Scope in which this resource is defined.
33125
33155
  :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
33156
  :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
33157
  :param connectivity_type: Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
33129
33158
  :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 +33160,7 @@ class CfnNatGateway(
33131
33160
  :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
33161
  :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
33162
  :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.
33163
+ :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33134
33164
  :param tags: The tags for the NAT gateway.
33135
33165
  '''
33136
33166
  if __debug__:
@@ -33138,7 +33168,6 @@ class CfnNatGateway(
33138
33168
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
33139
33169
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
33140
33170
  props = CfnNatGatewayProps(
33141
- subnet_id=subnet_id,
33142
33171
  allocation_id=allocation_id,
33143
33172
  connectivity_type=connectivity_type,
33144
33173
  max_drain_duration_seconds=max_drain_duration_seconds,
@@ -33146,6 +33175,7 @@ class CfnNatGateway(
33146
33175
  secondary_allocation_ids=secondary_allocation_ids,
33147
33176
  secondary_private_ip_address_count=secondary_private_ip_address_count,
33148
33177
  secondary_private_ip_addresses=secondary_private_ip_addresses,
33178
+ subnet_id=subnet_id,
33149
33179
  tags=tags,
33150
33180
  )
33151
33181
 
@@ -33201,19 +33231,6 @@ class CfnNatGateway(
33201
33231
  '''Tag Manager which manages the tags for this resource.'''
33202
33232
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
33203
33233
 
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
33234
  @builtins.property
33218
33235
  @jsii.member(jsii_name="allocationId")
33219
33236
  def allocation_id(self) -> typing.Optional[builtins.str]:
@@ -33316,6 +33333,19 @@ class CfnNatGateway(
33316
33333
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
33317
33334
  jsii.set(self, "secondaryPrivateIpAddresses", value) # pyright: ignore[reportArgumentType]
33318
33335
 
33336
+ @builtins.property
33337
+ @jsii.member(jsii_name="subnetId")
33338
+ def subnet_id(self) -> typing.Optional[builtins.str]:
33339
+ '''The ID of the subnet in which the NAT gateway is located.'''
33340
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subnetId"))
33341
+
33342
+ @subnet_id.setter
33343
+ def subnet_id(self, value: typing.Optional[builtins.str]) -> None:
33344
+ if __debug__:
33345
+ type_hints = typing.get_type_hints(_typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74)
33346
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
33347
+ jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
33348
+
33319
33349
  @builtins.property
33320
33350
  @jsii.member(jsii_name="tagsRaw")
33321
33351
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -33334,7 +33364,6 @@ class CfnNatGateway(
33334
33364
  jsii_type="aws-cdk-lib.aws_ec2.CfnNatGatewayProps",
33335
33365
  jsii_struct_bases=[],
33336
33366
  name_mapping={
33337
- "subnet_id": "subnetId",
33338
33367
  "allocation_id": "allocationId",
33339
33368
  "connectivity_type": "connectivityType",
33340
33369
  "max_drain_duration_seconds": "maxDrainDurationSeconds",
@@ -33342,6 +33371,7 @@ class CfnNatGateway(
33342
33371
  "secondary_allocation_ids": "secondaryAllocationIds",
33343
33372
  "secondary_private_ip_address_count": "secondaryPrivateIpAddressCount",
33344
33373
  "secondary_private_ip_addresses": "secondaryPrivateIpAddresses",
33374
+ "subnet_id": "subnetId",
33345
33375
  "tags": "tags",
33346
33376
  },
33347
33377
  )
@@ -33349,7 +33379,6 @@ class CfnNatGatewayProps:
33349
33379
  def __init__(
33350
33380
  self,
33351
33381
  *,
33352
- subnet_id: builtins.str,
33353
33382
  allocation_id: typing.Optional[builtins.str] = None,
33354
33383
  connectivity_type: typing.Optional[builtins.str] = None,
33355
33384
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -33357,11 +33386,11 @@ class CfnNatGatewayProps:
33357
33386
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33358
33387
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
33359
33388
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
33389
+ subnet_id: typing.Optional[builtins.str] = None,
33360
33390
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33361
33391
  ) -> None:
33362
33392
  '''Properties for defining a ``CfnNatGateway``.
33363
33393
 
33364
- :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33365
33394
  :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
33395
  :param connectivity_type: Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
33367
33396
  :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 +33398,7 @@ class CfnNatGatewayProps:
33369
33398
  :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
33399
  :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
33400
  :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.
33401
+ :param subnet_id: The ID of the subnet in which the NAT gateway is located.
33372
33402
  :param tags: The tags for the NAT gateway.
33373
33403
 
33374
33404
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html
@@ -33381,9 +33411,6 @@ class CfnNatGatewayProps:
33381
33411
  from aws_cdk import aws_ec2 as ec2
33382
33412
 
33383
33413
  cfn_nat_gateway_props = ec2.CfnNatGatewayProps(
33384
- subnet_id="subnetId",
33385
-
33386
- # the properties below are optional
33387
33414
  allocation_id="allocationId",
33388
33415
  connectivity_type="connectivityType",
33389
33416
  max_drain_duration_seconds=123,
@@ -33391,6 +33418,7 @@ class CfnNatGatewayProps:
33391
33418
  secondary_allocation_ids=["secondaryAllocationIds"],
33392
33419
  secondary_private_ip_address_count=123,
33393
33420
  secondary_private_ip_addresses=["secondaryPrivateIpAddresses"],
33421
+ subnet_id="subnetId",
33394
33422
  tags=[CfnTag(
33395
33423
  key="key",
33396
33424
  value="value"
@@ -33399,7 +33427,6 @@ class CfnNatGatewayProps:
33399
33427
  '''
33400
33428
  if __debug__:
33401
33429
  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
33430
  check_type(argname="argument allocation_id", value=allocation_id, expected_type=type_hints["allocation_id"])
33404
33431
  check_type(argname="argument connectivity_type", value=connectivity_type, expected_type=type_hints["connectivity_type"])
33405
33432
  check_type(argname="argument max_drain_duration_seconds", value=max_drain_duration_seconds, expected_type=type_hints["max_drain_duration_seconds"])
@@ -33407,10 +33434,9 @@ class CfnNatGatewayProps:
33407
33434
  check_type(argname="argument secondary_allocation_ids", value=secondary_allocation_ids, expected_type=type_hints["secondary_allocation_ids"])
33408
33435
  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
33436
  check_type(argname="argument secondary_private_ip_addresses", value=secondary_private_ip_addresses, expected_type=type_hints["secondary_private_ip_addresses"])
33437
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
33410
33438
  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
- }
33439
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
33414
33440
  if allocation_id is not None:
33415
33441
  self._values["allocation_id"] = allocation_id
33416
33442
  if connectivity_type is not None:
@@ -33425,19 +33451,11 @@ class CfnNatGatewayProps:
33425
33451
  self._values["secondary_private_ip_address_count"] = secondary_private_ip_address_count
33426
33452
  if secondary_private_ip_addresses is not None:
33427
33453
  self._values["secondary_private_ip_addresses"] = secondary_private_ip_addresses
33454
+ if subnet_id is not None:
33455
+ self._values["subnet_id"] = subnet_id
33428
33456
  if tags is not None:
33429
33457
  self._values["tags"] = tags
33430
33458
 
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
33459
  @builtins.property
33442
33460
  def allocation_id(self) -> typing.Optional[builtins.str]:
33443
33461
  '''[Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.
@@ -33521,6 +33539,15 @@ class CfnNatGatewayProps:
33521
33539
  result = self._values.get("secondary_private_ip_addresses")
33522
33540
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
33523
33541
 
33542
+ @builtins.property
33543
+ def subnet_id(self) -> typing.Optional[builtins.str]:
33544
+ '''The ID of the subnet in which the NAT gateway is located.
33545
+
33546
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid
33547
+ '''
33548
+ result = self._values.get("subnet_id")
33549
+ return typing.cast(typing.Optional[builtins.str], result)
33550
+
33524
33551
  @builtins.property
33525
33552
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
33526
33553
  '''The tags for the NAT gateway.
@@ -53108,7 +53135,7 @@ class CfnSubnet(
53108
53135
  *,
53109
53136
  internet_gateway_block_mode: typing.Optional[builtins.str] = None,
53110
53137
  ) -> None:
53111
- '''The state of VPC Block Public Access (BPA).
53138
+ '''Specifies the state of VPC Block Public Access (BPA).
53112
53139
 
53113
53140
  :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
53141
 
@@ -53173,7 +53200,7 @@ class CfnSubnet(
53173
53200
  enable_resource_name_dns_a_record: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
53174
53201
  hostname_type: typing.Optional[builtins.str] = None,
53175
53202
  ) -> None:
53176
- '''Describes the options for instance hostnames.
53203
+ '''Specifies the options for instance hostnames.
53177
53204
 
53178
53205
  :param enable_resource_name_dns_aaaa_record: Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.
53179
53206
  :param enable_resource_name_dns_a_record: Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
@@ -56945,6 +56972,576 @@ class CfnTransitGatewayConnect(
56945
56972
  )
56946
56973
 
56947
56974
 
56975
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
56976
+ class CfnTransitGatewayConnectPeer(
56977
+ _CfnResource_9df397a6,
56978
+ metaclass=jsii.JSIIMeta,
56979
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer",
56980
+ ):
56981
+ '''Describes a transit gateway Connect peer.
56982
+
56983
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html
56984
+ :cloudformationResource: AWS::EC2::TransitGatewayConnectPeer
56985
+ :exampleMetadata: fixture=_generated
56986
+
56987
+ Example::
56988
+
56989
+ # The code below shows an example of how to instantiate this type.
56990
+ # The values are placeholders you should change.
56991
+ from aws_cdk import aws_ec2 as ec2
56992
+
56993
+ cfn_transit_gateway_connect_peer = ec2.CfnTransitGatewayConnectPeer(self, "MyCfnTransitGatewayConnectPeer",
56994
+ connect_peer_configuration=ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
56995
+ inside_cidr_blocks=["insideCidrBlocks"],
56996
+ peer_address="peerAddress",
56997
+
56998
+ # the properties below are optional
56999
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57000
+ bgp_status="bgpStatus",
57001
+ peer_address="peerAddress",
57002
+ peer_asn=123,
57003
+ transit_gateway_address="transitGatewayAddress",
57004
+ transit_gateway_asn=123
57005
+ )],
57006
+ protocol="protocol",
57007
+ transit_gateway_address="transitGatewayAddress"
57008
+ ),
57009
+ transit_gateway_attachment_id="transitGatewayAttachmentId",
57010
+
57011
+ # the properties below are optional
57012
+ tags=[CfnTag(
57013
+ key="key",
57014
+ value="value"
57015
+ )]
57016
+ )
57017
+ '''
57018
+
57019
+ def __init__(
57020
+ self,
57021
+ scope: _constructs_77d1e7e8.Construct,
57022
+ id: builtins.str,
57023
+ *,
57024
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
57025
+ transit_gateway_attachment_id: builtins.str,
57026
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
57027
+ ) -> None:
57028
+ '''
57029
+ :param scope: Scope in which this resource is defined.
57030
+ :param id: Construct identifier for this resource (unique in its scope).
57031
+ :param connect_peer_configuration: The Connect peer details.
57032
+ :param transit_gateway_attachment_id: The ID of the Connect attachment.
57033
+ :param tags: The tags for the Connect peer.
57034
+ '''
57035
+ if __debug__:
57036
+ type_hints = typing.get_type_hints(_typecheckingstub__1f8d207f56975363774b74fa734c1d229d4b0713b4f3516f3314cd9ebcd0e41c)
57037
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
57038
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
57039
+ props = CfnTransitGatewayConnectPeerProps(
57040
+ connect_peer_configuration=connect_peer_configuration,
57041
+ transit_gateway_attachment_id=transit_gateway_attachment_id,
57042
+ tags=tags,
57043
+ )
57044
+
57045
+ jsii.create(self.__class__, self, [scope, id, props])
57046
+
57047
+ @jsii.member(jsii_name="inspect")
57048
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
57049
+ '''Examines the CloudFormation resource and discloses attributes.
57050
+
57051
+ :param inspector: tree inspector to collect and process attributes.
57052
+ '''
57053
+ if __debug__:
57054
+ type_hints = typing.get_type_hints(_typecheckingstub__b94393058454232978c68e76b9895b5f0775d34692c68d57103fafd32b53d66e)
57055
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
57056
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
57057
+
57058
+ @jsii.member(jsii_name="renderProperties")
57059
+ def _render_properties(
57060
+ self,
57061
+ props: typing.Mapping[builtins.str, typing.Any],
57062
+ ) -> typing.Mapping[builtins.str, typing.Any]:
57063
+ '''
57064
+ :param props: -
57065
+ '''
57066
+ if __debug__:
57067
+ type_hints = typing.get_type_hints(_typecheckingstub__9f8ed9dcea183e690fe0f56b975179a4ccbc13162e837cb3c510b70d38b0ef94)
57068
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
57069
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
57070
+
57071
+ @jsii.python.classproperty
57072
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
57073
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
57074
+ '''The CloudFormation resource type name for this resource class.'''
57075
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
57076
+
57077
+ @builtins.property
57078
+ @jsii.member(jsii_name="attrConnectPeerConfigurationBgpConfigurations")
57079
+ def attr_connect_peer_configuration_bgp_configurations(
57080
+ self,
57081
+ ) -> _IResolvable_da3f097b:
57082
+ '''The BGP configuration details.
57083
+
57084
+ :cloudformationAttribute: ConnectPeerConfiguration.BgpConfigurations
57085
+ '''
57086
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrConnectPeerConfigurationBgpConfigurations"))
57087
+
57088
+ @builtins.property
57089
+ @jsii.member(jsii_name="attrConnectPeerConfigurationProtocol")
57090
+ def attr_connect_peer_configuration_protocol(self) -> builtins.str:
57091
+ '''The tunnel protocol.
57092
+
57093
+ :cloudformationAttribute: ConnectPeerConfiguration.Protocol
57094
+ '''
57095
+ return typing.cast(builtins.str, jsii.get(self, "attrConnectPeerConfigurationProtocol"))
57096
+
57097
+ @builtins.property
57098
+ @jsii.member(jsii_name="attrCreationTime")
57099
+ def attr_creation_time(self) -> builtins.str:
57100
+ '''The creation time.
57101
+
57102
+ :cloudformationAttribute: CreationTime
57103
+ '''
57104
+ return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
57105
+
57106
+ @builtins.property
57107
+ @jsii.member(jsii_name="attrState")
57108
+ def attr_state(self) -> builtins.str:
57109
+ '''The state of the Connect peer.
57110
+
57111
+ :cloudformationAttribute: State
57112
+ '''
57113
+ return typing.cast(builtins.str, jsii.get(self, "attrState"))
57114
+
57115
+ @builtins.property
57116
+ @jsii.member(jsii_name="attrTransitGatewayConnectPeerId")
57117
+ def attr_transit_gateway_connect_peer_id(self) -> builtins.str:
57118
+ '''The ID of the Connect peer.
57119
+
57120
+ :cloudformationAttribute: TransitGatewayConnectPeerId
57121
+ '''
57122
+ return typing.cast(builtins.str, jsii.get(self, "attrTransitGatewayConnectPeerId"))
57123
+
57124
+ @builtins.property
57125
+ @jsii.member(jsii_name="cdkTagManager")
57126
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
57127
+ '''Tag Manager which manages the tags for this resource.'''
57128
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
57129
+
57130
+ @builtins.property
57131
+ @jsii.member(jsii_name="cfnProperties")
57132
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
57133
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
57134
+
57135
+ @builtins.property
57136
+ @jsii.member(jsii_name="connectPeerConfiguration")
57137
+ def connect_peer_configuration(
57138
+ self,
57139
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"]:
57140
+ '''The Connect peer details.'''
57141
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"], jsii.get(self, "connectPeerConfiguration"))
57142
+
57143
+ @connect_peer_configuration.setter
57144
+ def connect_peer_configuration(
57145
+ self,
57146
+ value: typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty"],
57147
+ ) -> None:
57148
+ if __debug__:
57149
+ type_hints = typing.get_type_hints(_typecheckingstub__58ed17da8e00760b83a59e1e504bfc8914d4d0783ebb460d52132e6d22c7c5f5)
57150
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57151
+ jsii.set(self, "connectPeerConfiguration", value) # pyright: ignore[reportArgumentType]
57152
+
57153
+ @builtins.property
57154
+ @jsii.member(jsii_name="transitGatewayAttachmentId")
57155
+ def transit_gateway_attachment_id(self) -> builtins.str:
57156
+ '''The ID of the Connect attachment.'''
57157
+ return typing.cast(builtins.str, jsii.get(self, "transitGatewayAttachmentId"))
57158
+
57159
+ @transit_gateway_attachment_id.setter
57160
+ def transit_gateway_attachment_id(self, value: builtins.str) -> None:
57161
+ if __debug__:
57162
+ type_hints = typing.get_type_hints(_typecheckingstub__b2909b9fd1cf53285718444b2e767681f76b6ed629fb8bd9cac90f9dfa879a82)
57163
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57164
+ jsii.set(self, "transitGatewayAttachmentId", value) # pyright: ignore[reportArgumentType]
57165
+
57166
+ @builtins.property
57167
+ @jsii.member(jsii_name="tags")
57168
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
57169
+ '''The tags for the Connect peer.'''
57170
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
57171
+
57172
+ @tags.setter
57173
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
57174
+ if __debug__:
57175
+ type_hints = typing.get_type_hints(_typecheckingstub__6eada39e62da78a0081621fc2e53f369626e0a8daba2db28d9f8ab73bf02a2fd)
57176
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
57177
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
57178
+
57179
+ @jsii.data_type(
57180
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty",
57181
+ jsii_struct_bases=[],
57182
+ name_mapping={
57183
+ "bgp_status": "bgpStatus",
57184
+ "peer_address": "peerAddress",
57185
+ "peer_asn": "peerAsn",
57186
+ "transit_gateway_address": "transitGatewayAddress",
57187
+ "transit_gateway_asn": "transitGatewayAsn",
57188
+ },
57189
+ )
57190
+ class TransitGatewayAttachmentBgpConfigurationProperty:
57191
+ def __init__(
57192
+ self,
57193
+ *,
57194
+ bgp_status: typing.Optional[builtins.str] = None,
57195
+ peer_address: typing.Optional[builtins.str] = None,
57196
+ peer_asn: typing.Optional[jsii.Number] = None,
57197
+ transit_gateway_address: typing.Optional[builtins.str] = None,
57198
+ transit_gateway_asn: typing.Optional[jsii.Number] = None,
57199
+ ) -> None:
57200
+ '''The BGP configuration information.
57201
+
57202
+ :param bgp_status: The BGP status.
57203
+ :param peer_address: The interior BGP peer IP address for the appliance.
57204
+ :param peer_asn: The peer Autonomous System Number (ASN).
57205
+ :param transit_gateway_address: The interior BGP peer IP address for the transit gateway.
57206
+ :param transit_gateway_asn: The transit gateway Autonomous System Number (ASN).
57207
+
57208
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html
57209
+ :exampleMetadata: fixture=_generated
57210
+
57211
+ Example::
57212
+
57213
+ # The code below shows an example of how to instantiate this type.
57214
+ # The values are placeholders you should change.
57215
+ from aws_cdk import aws_ec2 as ec2
57216
+
57217
+ transit_gateway_attachment_bgp_configuration_property = ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57218
+ bgp_status="bgpStatus",
57219
+ peer_address="peerAddress",
57220
+ peer_asn=123,
57221
+ transit_gateway_address="transitGatewayAddress",
57222
+ transit_gateway_asn=123
57223
+ )
57224
+ '''
57225
+ if __debug__:
57226
+ type_hints = typing.get_type_hints(_typecheckingstub__d0f30598b4049c4e4e643a34da7497413353b78ba0ca8e5b1eb98867ba0a56b2)
57227
+ check_type(argname="argument bgp_status", value=bgp_status, expected_type=type_hints["bgp_status"])
57228
+ check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
57229
+ check_type(argname="argument peer_asn", value=peer_asn, expected_type=type_hints["peer_asn"])
57230
+ check_type(argname="argument transit_gateway_address", value=transit_gateway_address, expected_type=type_hints["transit_gateway_address"])
57231
+ check_type(argname="argument transit_gateway_asn", value=transit_gateway_asn, expected_type=type_hints["transit_gateway_asn"])
57232
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
57233
+ if bgp_status is not None:
57234
+ self._values["bgp_status"] = bgp_status
57235
+ if peer_address is not None:
57236
+ self._values["peer_address"] = peer_address
57237
+ if peer_asn is not None:
57238
+ self._values["peer_asn"] = peer_asn
57239
+ if transit_gateway_address is not None:
57240
+ self._values["transit_gateway_address"] = transit_gateway_address
57241
+ if transit_gateway_asn is not None:
57242
+ self._values["transit_gateway_asn"] = transit_gateway_asn
57243
+
57244
+ @builtins.property
57245
+ def bgp_status(self) -> typing.Optional[builtins.str]:
57246
+ '''The BGP status.
57247
+
57248
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-bgpstatus
57249
+ '''
57250
+ result = self._values.get("bgp_status")
57251
+ return typing.cast(typing.Optional[builtins.str], result)
57252
+
57253
+ @builtins.property
57254
+ def peer_address(self) -> typing.Optional[builtins.str]:
57255
+ '''The interior BGP peer IP address for the appliance.
57256
+
57257
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peeraddress
57258
+ '''
57259
+ result = self._values.get("peer_address")
57260
+ return typing.cast(typing.Optional[builtins.str], result)
57261
+
57262
+ @builtins.property
57263
+ def peer_asn(self) -> typing.Optional[jsii.Number]:
57264
+ '''The peer Autonomous System Number (ASN).
57265
+
57266
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peerasn
57267
+ '''
57268
+ result = self._values.get("peer_asn")
57269
+ return typing.cast(typing.Optional[jsii.Number], result)
57270
+
57271
+ @builtins.property
57272
+ def transit_gateway_address(self) -> typing.Optional[builtins.str]:
57273
+ '''The interior BGP peer IP address for the transit gateway.
57274
+
57275
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayaddress
57276
+ '''
57277
+ result = self._values.get("transit_gateway_address")
57278
+ return typing.cast(typing.Optional[builtins.str], result)
57279
+
57280
+ @builtins.property
57281
+ def transit_gateway_asn(self) -> typing.Optional[jsii.Number]:
57282
+ '''The transit gateway Autonomous System Number (ASN).
57283
+
57284
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayasn
57285
+ '''
57286
+ result = self._values.get("transit_gateway_asn")
57287
+ return typing.cast(typing.Optional[jsii.Number], result)
57288
+
57289
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57290
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57291
+
57292
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57293
+ return not (rhs == self)
57294
+
57295
+ def __repr__(self) -> str:
57296
+ return "TransitGatewayAttachmentBgpConfigurationProperty(%s)" % ", ".join(
57297
+ k + "=" + repr(v) for k, v in self._values.items()
57298
+ )
57299
+
57300
+ @jsii.data_type(
57301
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty",
57302
+ jsii_struct_bases=[],
57303
+ name_mapping={
57304
+ "inside_cidr_blocks": "insideCidrBlocks",
57305
+ "peer_address": "peerAddress",
57306
+ "bgp_configurations": "bgpConfigurations",
57307
+ "protocol": "protocol",
57308
+ "transit_gateway_address": "transitGatewayAddress",
57309
+ },
57310
+ )
57311
+ class TransitGatewayConnectPeerConfigurationProperty:
57312
+ def __init__(
57313
+ self,
57314
+ *,
57315
+ inside_cidr_blocks: typing.Sequence[builtins.str],
57316
+ peer_address: builtins.str,
57317
+ 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,
57318
+ protocol: typing.Optional[builtins.str] = None,
57319
+ transit_gateway_address: typing.Optional[builtins.str] = None,
57320
+ ) -> None:
57321
+ '''Describes the Connect peer details.
57322
+
57323
+ :param inside_cidr_blocks: The range of interior BGP peer IP addresses.
57324
+ :param peer_address: The Connect peer IP address on the appliance side of the tunnel.
57325
+ :param bgp_configurations: The BGP configuration details.
57326
+ :param protocol: The tunnel protocol.
57327
+ :param transit_gateway_address: The Connect peer IP address on the transit gateway side of the tunnel.
57328
+
57329
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html
57330
+ :exampleMetadata: fixture=_generated
57331
+
57332
+ Example::
57333
+
57334
+ # The code below shows an example of how to instantiate this type.
57335
+ # The values are placeholders you should change.
57336
+ from aws_cdk import aws_ec2 as ec2
57337
+
57338
+ transit_gateway_connect_peer_configuration_property = ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
57339
+ inside_cidr_blocks=["insideCidrBlocks"],
57340
+ peer_address="peerAddress",
57341
+
57342
+ # the properties below are optional
57343
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57344
+ bgp_status="bgpStatus",
57345
+ peer_address="peerAddress",
57346
+ peer_asn=123,
57347
+ transit_gateway_address="transitGatewayAddress",
57348
+ transit_gateway_asn=123
57349
+ )],
57350
+ protocol="protocol",
57351
+ transit_gateway_address="transitGatewayAddress"
57352
+ )
57353
+ '''
57354
+ if __debug__:
57355
+ type_hints = typing.get_type_hints(_typecheckingstub__ed11c27aeee7d87fa8fd9b18c1c8885352346e3191deb89b80e860c9891e5b56)
57356
+ check_type(argname="argument inside_cidr_blocks", value=inside_cidr_blocks, expected_type=type_hints["inside_cidr_blocks"])
57357
+ check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
57358
+ check_type(argname="argument bgp_configurations", value=bgp_configurations, expected_type=type_hints["bgp_configurations"])
57359
+ check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
57360
+ check_type(argname="argument transit_gateway_address", value=transit_gateway_address, expected_type=type_hints["transit_gateway_address"])
57361
+ self._values: typing.Dict[builtins.str, typing.Any] = {
57362
+ "inside_cidr_blocks": inside_cidr_blocks,
57363
+ "peer_address": peer_address,
57364
+ }
57365
+ if bgp_configurations is not None:
57366
+ self._values["bgp_configurations"] = bgp_configurations
57367
+ if protocol is not None:
57368
+ self._values["protocol"] = protocol
57369
+ if transit_gateway_address is not None:
57370
+ self._values["transit_gateway_address"] = transit_gateway_address
57371
+
57372
+ @builtins.property
57373
+ def inside_cidr_blocks(self) -> typing.List[builtins.str]:
57374
+ '''The range of interior BGP peer IP addresses.
57375
+
57376
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-insidecidrblocks
57377
+ '''
57378
+ result = self._values.get("inside_cidr_blocks")
57379
+ assert result is not None, "Required property 'inside_cidr_blocks' is missing"
57380
+ return typing.cast(typing.List[builtins.str], result)
57381
+
57382
+ @builtins.property
57383
+ def peer_address(self) -> builtins.str:
57384
+ '''The Connect peer IP address on the appliance side of the tunnel.
57385
+
57386
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-peeraddress
57387
+ '''
57388
+ result = self._values.get("peer_address")
57389
+ assert result is not None, "Required property 'peer_address' is missing"
57390
+ return typing.cast(builtins.str, result)
57391
+
57392
+ @builtins.property
57393
+ def bgp_configurations(
57394
+ self,
57395
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty"]]]]:
57396
+ '''The BGP configuration details.
57397
+
57398
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-bgpconfigurations
57399
+ '''
57400
+ result = self._values.get("bgp_configurations")
57401
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty"]]]], result)
57402
+
57403
+ @builtins.property
57404
+ def protocol(self) -> typing.Optional[builtins.str]:
57405
+ '''The tunnel protocol.
57406
+
57407
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-protocol
57408
+ '''
57409
+ result = self._values.get("protocol")
57410
+ return typing.cast(typing.Optional[builtins.str], result)
57411
+
57412
+ @builtins.property
57413
+ def transit_gateway_address(self) -> typing.Optional[builtins.str]:
57414
+ '''The Connect peer IP address on the transit gateway side of the tunnel.
57415
+
57416
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-transitgatewayaddress
57417
+ '''
57418
+ result = self._values.get("transit_gateway_address")
57419
+ return typing.cast(typing.Optional[builtins.str], result)
57420
+
57421
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57422
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57423
+
57424
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57425
+ return not (rhs == self)
57426
+
57427
+ def __repr__(self) -> str:
57428
+ return "TransitGatewayConnectPeerConfigurationProperty(%s)" % ", ".join(
57429
+ k + "=" + repr(v) for k, v in self._values.items()
57430
+ )
57431
+
57432
+
57433
+ @jsii.data_type(
57434
+ jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectPeerProps",
57435
+ jsii_struct_bases=[],
57436
+ name_mapping={
57437
+ "connect_peer_configuration": "connectPeerConfiguration",
57438
+ "transit_gateway_attachment_id": "transitGatewayAttachmentId",
57439
+ "tags": "tags",
57440
+ },
57441
+ )
57442
+ class CfnTransitGatewayConnectPeerProps:
57443
+ def __init__(
57444
+ self,
57445
+ *,
57446
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
57447
+ transit_gateway_attachment_id: builtins.str,
57448
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
57449
+ ) -> None:
57450
+ '''Properties for defining a ``CfnTransitGatewayConnectPeer``.
57451
+
57452
+ :param connect_peer_configuration: The Connect peer details.
57453
+ :param transit_gateway_attachment_id: The ID of the Connect attachment.
57454
+ :param tags: The tags for the Connect peer.
57455
+
57456
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html
57457
+ :exampleMetadata: fixture=_generated
57458
+
57459
+ Example::
57460
+
57461
+ # The code below shows an example of how to instantiate this type.
57462
+ # The values are placeholders you should change.
57463
+ from aws_cdk import aws_ec2 as ec2
57464
+
57465
+ cfn_transit_gateway_connect_peer_props = ec2.CfnTransitGatewayConnectPeerProps(
57466
+ connect_peer_configuration=ec2.CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty(
57467
+ inside_cidr_blocks=["insideCidrBlocks"],
57468
+ peer_address="peerAddress",
57469
+
57470
+ # the properties below are optional
57471
+ bgp_configurations=[ec2.CfnTransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty(
57472
+ bgp_status="bgpStatus",
57473
+ peer_address="peerAddress",
57474
+ peer_asn=123,
57475
+ transit_gateway_address="transitGatewayAddress",
57476
+ transit_gateway_asn=123
57477
+ )],
57478
+ protocol="protocol",
57479
+ transit_gateway_address="transitGatewayAddress"
57480
+ ),
57481
+ transit_gateway_attachment_id="transitGatewayAttachmentId",
57482
+
57483
+ # the properties below are optional
57484
+ tags=[CfnTag(
57485
+ key="key",
57486
+ value="value"
57487
+ )]
57488
+ )
57489
+ '''
57490
+ if __debug__:
57491
+ type_hints = typing.get_type_hints(_typecheckingstub__32b3081584f3dcc39f1077e0e7bc1b3a6c7b2678c8e23fa6b66e94bc04676ed3)
57492
+ check_type(argname="argument connect_peer_configuration", value=connect_peer_configuration, expected_type=type_hints["connect_peer_configuration"])
57493
+ check_type(argname="argument transit_gateway_attachment_id", value=transit_gateway_attachment_id, expected_type=type_hints["transit_gateway_attachment_id"])
57494
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
57495
+ self._values: typing.Dict[builtins.str, typing.Any] = {
57496
+ "connect_peer_configuration": connect_peer_configuration,
57497
+ "transit_gateway_attachment_id": transit_gateway_attachment_id,
57498
+ }
57499
+ if tags is not None:
57500
+ self._values["tags"] = tags
57501
+
57502
+ @builtins.property
57503
+ def connect_peer_configuration(
57504
+ self,
57505
+ ) -> typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty]:
57506
+ '''The Connect peer details.
57507
+
57508
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-connectpeerconfiguration
57509
+ '''
57510
+ result = self._values.get("connect_peer_configuration")
57511
+ assert result is not None, "Required property 'connect_peer_configuration' is missing"
57512
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty], result)
57513
+
57514
+ @builtins.property
57515
+ def transit_gateway_attachment_id(self) -> builtins.str:
57516
+ '''The ID of the Connect attachment.
57517
+
57518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentid
57519
+ '''
57520
+ result = self._values.get("transit_gateway_attachment_id")
57521
+ assert result is not None, "Required property 'transit_gateway_attachment_id' is missing"
57522
+ return typing.cast(builtins.str, result)
57523
+
57524
+ @builtins.property
57525
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
57526
+ '''The tags for the Connect peer.
57527
+
57528
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-tags
57529
+ '''
57530
+ result = self._values.get("tags")
57531
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
57532
+
57533
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
57534
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
57535
+
57536
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
57537
+ return not (rhs == self)
57538
+
57539
+ def __repr__(self) -> str:
57540
+ return "CfnTransitGatewayConnectPeerProps(%s)" % ", ".join(
57541
+ k + "=" + repr(v) for k, v in self._values.items()
57542
+ )
57543
+
57544
+
56948
57545
  @jsii.data_type(
56949
57546
  jsii_type="aws-cdk-lib.aws_ec2.CfnTransitGatewayConnectProps",
56950
57547
  jsii_struct_bases=[],
@@ -77339,6 +77936,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77339
77936
  private_dns_enabled: typing.Optional[builtins.bool] = None,
77340
77937
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
77341
77938
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
77939
+ service_region: typing.Optional[builtins.str] = None,
77342
77940
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
77343
77941
  ) -> "InterfaceVpcEndpoint":
77344
77942
  '''Adds a new interface endpoint to this VPC.
@@ -77352,6 +77950,7 @@ class IVpc(_IResource_c80c4260, typing_extensions.Protocol):
77352
77950
  :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
77951
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
77354
77952
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
77953
+ :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
77954
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
77356
77955
  '''
77357
77956
  ...
@@ -77628,6 +78227,7 @@ class _IVpcProxy(
77628
78227
  private_dns_enabled: typing.Optional[builtins.bool] = None,
77629
78228
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
77630
78229
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
78230
+ service_region: typing.Optional[builtins.str] = None,
77631
78231
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
77632
78232
  ) -> "InterfaceVpcEndpoint":
77633
78233
  '''Adds a new interface endpoint to this VPC.
@@ -77641,6 +78241,7 @@ class _IVpcProxy(
77641
78241
  :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
78242
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
77643
78243
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
78244
+ :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
78245
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
77645
78246
  '''
77646
78247
  if __debug__:
@@ -77655,6 +78256,7 @@ class _IVpcProxy(
77655
78256
  private_dns_enabled=private_dns_enabled,
77656
78257
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
77657
78258
  security_groups=security_groups,
78259
+ service_region=service_region,
77658
78260
  subnets=subnets,
77659
78261
  )
77660
78262
 
@@ -84522,6 +85124,7 @@ class InterfaceVpcEndpointAwsServiceProps:
84522
85124
  "private_dns_enabled": "privateDnsEnabled",
84523
85125
  "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
84524
85126
  "security_groups": "securityGroups",
85127
+ "service_region": "serviceRegion",
84525
85128
  "subnets": "subnets",
84526
85129
  },
84527
85130
  )
@@ -84537,6 +85140,7 @@ class InterfaceVpcEndpointOptions:
84537
85140
  private_dns_enabled: typing.Optional[builtins.bool] = None,
84538
85141
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
84539
85142
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
85143
+ service_region: typing.Optional[builtins.str] = None,
84540
85144
  subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
84541
85145
  ) -> None:
84542
85146
  '''Options to add an interface endpoint to a VPC.
@@ -84549,6 +85153,7 @@ class InterfaceVpcEndpointOptions:
84549
85153
  :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
85154
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
84551
85155
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
85156
+ :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
85157
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
84553
85158
 
84554
85159
  :exampleMetadata: lit=aws-ec2/test/integ.vpc-endpoint.lit.ts infused
@@ -84593,9 +85198,230 @@ class InterfaceVpcEndpointOptions:
84593
85198
  check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
84594
85199
  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
85200
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
85201
+ check_type(argname="argument service_region", value=service_region, expected_type=type_hints["service_region"])
85202
+ check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
85203
+ self._values: typing.Dict[builtins.str, typing.Any] = {
85204
+ "service": service,
85205
+ }
85206
+ if dns_record_ip_type is not None:
85207
+ self._values["dns_record_ip_type"] = dns_record_ip_type
85208
+ if ip_address_type is not None:
85209
+ self._values["ip_address_type"] = ip_address_type
85210
+ if lookup_supported_azs is not None:
85211
+ self._values["lookup_supported_azs"] = lookup_supported_azs
85212
+ if open is not None:
85213
+ self._values["open"] = open
85214
+ if private_dns_enabled is not None:
85215
+ self._values["private_dns_enabled"] = private_dns_enabled
85216
+ if private_dns_only_for_inbound_resolver_endpoint is not None:
85217
+ self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
85218
+ if security_groups is not None:
85219
+ self._values["security_groups"] = security_groups
85220
+ if service_region is not None:
85221
+ self._values["service_region"] = service_region
85222
+ if subnets is not None:
85223
+ self._values["subnets"] = subnets
85224
+
85225
+ @builtins.property
85226
+ def service(self) -> IInterfaceVpcEndpointService:
85227
+ '''The service to use for this interface VPC endpoint.'''
85228
+ result = self._values.get("service")
85229
+ assert result is not None, "Required property 'service' is missing"
85230
+ return typing.cast(IInterfaceVpcEndpointService, result)
85231
+
85232
+ @builtins.property
85233
+ def dns_record_ip_type(self) -> typing.Optional["VpcEndpointDnsRecordIpType"]:
85234
+ '''Type of DNS records created for the VPC endpoint.
85235
+
85236
+ :default: not specified
85237
+ '''
85238
+ result = self._values.get("dns_record_ip_type")
85239
+ return typing.cast(typing.Optional["VpcEndpointDnsRecordIpType"], result)
85240
+
85241
+ @builtins.property
85242
+ def ip_address_type(self) -> typing.Optional["VpcEndpointIpAddressType"]:
85243
+ '''The IP address type for the endpoint.
85244
+
85245
+ :default: not specified
85246
+ '''
85247
+ result = self._values.get("ip_address_type")
85248
+ return typing.cast(typing.Optional["VpcEndpointIpAddressType"], result)
85249
+
85250
+ @builtins.property
85251
+ def lookup_supported_azs(self) -> typing.Optional[builtins.bool]:
85252
+ '''Limit to only those availability zones where the endpoint service can be created.
85253
+
85254
+ Setting this to 'true' requires a lookup to be performed at synthesis time. Account
85255
+ and region must be set on the containing stack for this to work.
85256
+
85257
+ :default: false
85258
+ '''
85259
+ result = self._values.get("lookup_supported_azs")
85260
+ return typing.cast(typing.Optional[builtins.bool], result)
85261
+
85262
+ @builtins.property
85263
+ def open(self) -> typing.Optional[builtins.bool]:
85264
+ '''Whether to automatically allow VPC traffic to the endpoint.
85265
+
85266
+ If enabled, all traffic to the endpoint from within the VPC will be
85267
+ automatically allowed. This is done based on the VPC's CIDR range.
85268
+
85269
+ :default: true
85270
+ '''
85271
+ result = self._values.get("open")
85272
+ return typing.cast(typing.Optional[builtins.bool], result)
85273
+
85274
+ @builtins.property
85275
+ def private_dns_enabled(self) -> typing.Optional[builtins.bool]:
85276
+ '''Whether to associate a private hosted zone with the specified VPC.
85277
+
85278
+ This
85279
+ allows you to make requests to the service using its default DNS hostname.
85280
+
85281
+ :default:
85282
+
85283
+ set by the instance of IInterfaceVpcEndpointService, or true if
85284
+ not defined by the instance of IInterfaceVpcEndpointService
85285
+ '''
85286
+ result = self._values.get("private_dns_enabled")
85287
+ return typing.cast(typing.Optional[builtins.bool], result)
85288
+
85289
+ @builtins.property
85290
+ def private_dns_only_for_inbound_resolver_endpoint(
85291
+ self,
85292
+ ) -> typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"]:
85293
+ '''Whether to enable private DNS only for inbound endpoints.
85294
+
85295
+ :default: not specified
85296
+ '''
85297
+ result = self._values.get("private_dns_only_for_inbound_resolver_endpoint")
85298
+ return typing.cast(typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"], result)
85299
+
85300
+ @builtins.property
85301
+ def security_groups(self) -> typing.Optional[typing.List[ISecurityGroup]]:
85302
+ '''The security groups to associate with this interface VPC endpoint.
85303
+
85304
+ :default: - a new security group is created
85305
+ '''
85306
+ result = self._values.get("security_groups")
85307
+ return typing.cast(typing.Optional[typing.List[ISecurityGroup]], result)
85308
+
85309
+ @builtins.property
85310
+ def service_region(self) -> typing.Optional[builtins.str]:
85311
+ '''The region where the VPC endpoint service is located.
85312
+
85313
+ Only needs to be specified for cross-region VPC endpoints.
85314
+
85315
+ :default: - Same region as the interface VPC endpoint
85316
+ '''
85317
+ result = self._values.get("service_region")
85318
+ return typing.cast(typing.Optional[builtins.str], result)
85319
+
85320
+ @builtins.property
85321
+ def subnets(self) -> typing.Optional["SubnetSelection"]:
85322
+ '''The subnets in which to create an endpoint network interface.
85323
+
85324
+ At most one
85325
+ per availability zone.
85326
+
85327
+ :default: - private subnets
85328
+ '''
85329
+ result = self._values.get("subnets")
85330
+ return typing.cast(typing.Optional["SubnetSelection"], result)
85331
+
85332
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
85333
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
85334
+
85335
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
85336
+ return not (rhs == self)
85337
+
85338
+ def __repr__(self) -> str:
85339
+ return "InterfaceVpcEndpointOptions(%s)" % ", ".join(
85340
+ k + "=" + repr(v) for k, v in self._values.items()
85341
+ )
85342
+
85343
+
85344
+ @jsii.data_type(
85345
+ jsii_type="aws-cdk-lib.aws_ec2.InterfaceVpcEndpointProps",
85346
+ jsii_struct_bases=[InterfaceVpcEndpointOptions],
85347
+ name_mapping={
85348
+ "service": "service",
85349
+ "dns_record_ip_type": "dnsRecordIpType",
85350
+ "ip_address_type": "ipAddressType",
85351
+ "lookup_supported_azs": "lookupSupportedAzs",
85352
+ "open": "open",
85353
+ "private_dns_enabled": "privateDnsEnabled",
85354
+ "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
85355
+ "security_groups": "securityGroups",
85356
+ "service_region": "serviceRegion",
85357
+ "subnets": "subnets",
85358
+ "vpc": "vpc",
85359
+ },
85360
+ )
85361
+ class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
85362
+ def __init__(
85363
+ self,
85364
+ *,
85365
+ service: IInterfaceVpcEndpointService,
85366
+ dns_record_ip_type: typing.Optional["VpcEndpointDnsRecordIpType"] = None,
85367
+ ip_address_type: typing.Optional["VpcEndpointIpAddressType"] = None,
85368
+ lookup_supported_azs: typing.Optional[builtins.bool] = None,
85369
+ open: typing.Optional[builtins.bool] = None,
85370
+ private_dns_enabled: typing.Optional[builtins.bool] = None,
85371
+ private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
85372
+ security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
85373
+ service_region: typing.Optional[builtins.str] = None,
85374
+ subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
85375
+ vpc: IVpc,
85376
+ ) -> None:
85377
+ '''Construction properties for an InterfaceVpcEndpoint.
85378
+
85379
+ :param service: The service to use for this interface VPC endpoint.
85380
+ :param dns_record_ip_type: Type of DNS records created for the VPC endpoint. Default: not specified
85381
+ :param ip_address_type: The IP address type for the endpoint. Default: not specified
85382
+ :param lookup_supported_azs: Limit to only those availability zones where the endpoint service can be created. Setting this to 'true' requires a lookup to be performed at synthesis time. Account and region must be set on the containing stack for this to work. Default: false
85383
+ :param open: Whether to automatically allow VPC traffic to the endpoint. If enabled, all traffic to the endpoint from within the VPC will be automatically allowed. This is done based on the VPC's CIDR range. Default: true
85384
+ :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
85385
+ :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
85386
+ :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
85387
+ :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
85388
+ :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
85389
+ :param vpc: The VPC network in which the interface endpoint will be used.
85390
+
85391
+ :exampleMetadata: infused
85392
+
85393
+ Example::
85394
+
85395
+ # vpc: ec2.Vpc
85396
+
85397
+
85398
+ ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
85399
+ vpc=vpc,
85400
+ service=ec2.InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc", 443),
85401
+ subnets=ec2.SubnetSelection(
85402
+ subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
85403
+ availability_zones=["us-east-1a", "us-east-1c"]
85404
+ )
85405
+ )
85406
+ '''
85407
+ if isinstance(subnets, dict):
85408
+ subnets = SubnetSelection(**subnets)
85409
+ if __debug__:
85410
+ type_hints = typing.get_type_hints(_typecheckingstub__6606ba3de030c44ce43dee44afe64adc59231bfc542799d1354e0732a309b2f0)
85411
+ check_type(argname="argument service", value=service, expected_type=type_hints["service"])
85412
+ check_type(argname="argument dns_record_ip_type", value=dns_record_ip_type, expected_type=type_hints["dns_record_ip_type"])
85413
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
85414
+ check_type(argname="argument lookup_supported_azs", value=lookup_supported_azs, expected_type=type_hints["lookup_supported_azs"])
85415
+ check_type(argname="argument open", value=open, expected_type=type_hints["open"])
85416
+ check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
85417
+ 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"])
85418
+ check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
85419
+ check_type(argname="argument service_region", value=service_region, expected_type=type_hints["service_region"])
84596
85420
  check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
85421
+ check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
84597
85422
  self._values: typing.Dict[builtins.str, typing.Any] = {
84598
85423
  "service": service,
85424
+ "vpc": vpc,
84599
85425
  }
84600
85426
  if dns_record_ip_type is not None:
84601
85427
  self._values["dns_record_ip_type"] = dns_record_ip_type
@@ -84611,6 +85437,8 @@ class InterfaceVpcEndpointOptions:
84611
85437
  self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
84612
85438
  if security_groups is not None:
84613
85439
  self._values["security_groups"] = security_groups
85440
+ if service_region is not None:
85441
+ self._values["service_region"] = service_region
84614
85442
  if subnets is not None:
84615
85443
  self._values["subnets"] = subnets
84616
85444
 
@@ -84699,207 +85527,15 @@ class InterfaceVpcEndpointOptions:
84699
85527
  return typing.cast(typing.Optional[typing.List[ISecurityGroup]], result)
84700
85528
 
84701
85529
  @builtins.property
84702
- def subnets(self) -> typing.Optional["SubnetSelection"]:
84703
- '''The subnets in which to create an endpoint network interface.
84704
-
84705
- At most one
84706
- per availability zone.
84707
-
84708
- :default: - private subnets
84709
- '''
84710
- result = self._values.get("subnets")
84711
- return typing.cast(typing.Optional["SubnetSelection"], result)
84712
-
84713
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
84714
- return isinstance(rhs, self.__class__) and rhs._values == self._values
84715
-
84716
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
84717
- return not (rhs == self)
84718
-
84719
- def __repr__(self) -> str:
84720
- return "InterfaceVpcEndpointOptions(%s)" % ", ".join(
84721
- k + "=" + repr(v) for k, v in self._values.items()
84722
- )
84723
-
84724
-
84725
- @jsii.data_type(
84726
- jsii_type="aws-cdk-lib.aws_ec2.InterfaceVpcEndpointProps",
84727
- jsii_struct_bases=[InterfaceVpcEndpointOptions],
84728
- name_mapping={
84729
- "service": "service",
84730
- "dns_record_ip_type": "dnsRecordIpType",
84731
- "ip_address_type": "ipAddressType",
84732
- "lookup_supported_azs": "lookupSupportedAzs",
84733
- "open": "open",
84734
- "private_dns_enabled": "privateDnsEnabled",
84735
- "private_dns_only_for_inbound_resolver_endpoint": "privateDnsOnlyForInboundResolverEndpoint",
84736
- "security_groups": "securityGroups",
84737
- "subnets": "subnets",
84738
- "vpc": "vpc",
84739
- },
84740
- )
84741
- class InterfaceVpcEndpointProps(InterfaceVpcEndpointOptions):
84742
- def __init__(
84743
- self,
84744
- *,
84745
- service: IInterfaceVpcEndpointService,
84746
- dns_record_ip_type: typing.Optional["VpcEndpointDnsRecordIpType"] = None,
84747
- ip_address_type: typing.Optional["VpcEndpointIpAddressType"] = None,
84748
- lookup_supported_azs: typing.Optional[builtins.bool] = None,
84749
- open: typing.Optional[builtins.bool] = None,
84750
- private_dns_enabled: typing.Optional[builtins.bool] = None,
84751
- private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
84752
- security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
84753
- subnets: typing.Optional[typing.Union["SubnetSelection", typing.Dict[builtins.str, typing.Any]]] = None,
84754
- vpc: IVpc,
84755
- ) -> None:
84756
- '''Construction properties for an InterfaceVpcEndpoint.
84757
-
84758
- :param service: The service to use for this interface VPC endpoint.
84759
- :param dns_record_ip_type: Type of DNS records created for the VPC endpoint. Default: not specified
84760
- :param ip_address_type: The IP address type for the endpoint. Default: not specified
84761
- :param lookup_supported_azs: Limit to only those availability zones where the endpoint service can be created. Setting this to 'true' requires a lookup to be performed at synthesis time. Account and region must be set on the containing stack for this to work. Default: false
84762
- :param open: Whether to automatically allow VPC traffic to the endpoint. If enabled, all traffic to the endpoint from within the VPC will be automatically allowed. This is done based on the VPC's CIDR range. Default: true
84763
- :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
- :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
84765
- :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
84766
- :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
84767
- :param vpc: The VPC network in which the interface endpoint will be used.
84768
-
84769
- :exampleMetadata: infused
84770
-
84771
- Example::
84772
-
84773
- # vpc: ec2.Vpc
84774
-
84775
-
84776
- ec2.InterfaceVpcEndpoint(self, "VPC Endpoint",
84777
- vpc=vpc,
84778
- service=ec2.InterfaceVpcEndpointService("com.amazonaws.vpce.us-east-1.vpce-svc-uuddlrlrbastrtsvc", 443),
84779
- subnets=ec2.SubnetSelection(
84780
- subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
84781
- availability_zones=["us-east-1a", "us-east-1c"]
84782
- )
84783
- )
84784
- '''
84785
- if isinstance(subnets, dict):
84786
- subnets = SubnetSelection(**subnets)
84787
- if __debug__:
84788
- type_hints = typing.get_type_hints(_typecheckingstub__6606ba3de030c44ce43dee44afe64adc59231bfc542799d1354e0732a309b2f0)
84789
- check_type(argname="argument service", value=service, expected_type=type_hints["service"])
84790
- check_type(argname="argument dns_record_ip_type", value=dns_record_ip_type, expected_type=type_hints["dns_record_ip_type"])
84791
- check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
84792
- check_type(argname="argument lookup_supported_azs", value=lookup_supported_azs, expected_type=type_hints["lookup_supported_azs"])
84793
- check_type(argname="argument open", value=open, expected_type=type_hints["open"])
84794
- check_type(argname="argument private_dns_enabled", value=private_dns_enabled, expected_type=type_hints["private_dns_enabled"])
84795
- 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
- check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
84797
- check_type(argname="argument subnets", value=subnets, expected_type=type_hints["subnets"])
84798
- check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
84799
- self._values: typing.Dict[builtins.str, typing.Any] = {
84800
- "service": service,
84801
- "vpc": vpc,
84802
- }
84803
- if dns_record_ip_type is not None:
84804
- self._values["dns_record_ip_type"] = dns_record_ip_type
84805
- if ip_address_type is not None:
84806
- self._values["ip_address_type"] = ip_address_type
84807
- if lookup_supported_azs is not None:
84808
- self._values["lookup_supported_azs"] = lookup_supported_azs
84809
- if open is not None:
84810
- self._values["open"] = open
84811
- if private_dns_enabled is not None:
84812
- self._values["private_dns_enabled"] = private_dns_enabled
84813
- if private_dns_only_for_inbound_resolver_endpoint is not None:
84814
- self._values["private_dns_only_for_inbound_resolver_endpoint"] = private_dns_only_for_inbound_resolver_endpoint
84815
- if security_groups is not None:
84816
- self._values["security_groups"] = security_groups
84817
- if subnets is not None:
84818
- self._values["subnets"] = subnets
84819
-
84820
- @builtins.property
84821
- def service(self) -> IInterfaceVpcEndpointService:
84822
- '''The service to use for this interface VPC endpoint.'''
84823
- result = self._values.get("service")
84824
- assert result is not None, "Required property 'service' is missing"
84825
- return typing.cast(IInterfaceVpcEndpointService, result)
84826
-
84827
- @builtins.property
84828
- def dns_record_ip_type(self) -> typing.Optional["VpcEndpointDnsRecordIpType"]:
84829
- '''Type of DNS records created for the VPC endpoint.
84830
-
84831
- :default: not specified
84832
- '''
84833
- result = self._values.get("dns_record_ip_type")
84834
- return typing.cast(typing.Optional["VpcEndpointDnsRecordIpType"], result)
84835
-
84836
- @builtins.property
84837
- def ip_address_type(self) -> typing.Optional["VpcEndpointIpAddressType"]:
84838
- '''The IP address type for the endpoint.
84839
-
84840
- :default: not specified
84841
- '''
84842
- result = self._values.get("ip_address_type")
84843
- return typing.cast(typing.Optional["VpcEndpointIpAddressType"], result)
84844
-
84845
- @builtins.property
84846
- def lookup_supported_azs(self) -> typing.Optional[builtins.bool]:
84847
- '''Limit to only those availability zones where the endpoint service can be created.
84848
-
84849
- Setting this to 'true' requires a lookup to be performed at synthesis time. Account
84850
- and region must be set on the containing stack for this to work.
84851
-
84852
- :default: false
84853
- '''
84854
- result = self._values.get("lookup_supported_azs")
84855
- return typing.cast(typing.Optional[builtins.bool], result)
84856
-
84857
- @builtins.property
84858
- def open(self) -> typing.Optional[builtins.bool]:
84859
- '''Whether to automatically allow VPC traffic to the endpoint.
84860
-
84861
- If enabled, all traffic to the endpoint from within the VPC will be
84862
- automatically allowed. This is done based on the VPC's CIDR range.
84863
-
84864
- :default: true
84865
- '''
84866
- result = self._values.get("open")
84867
- return typing.cast(typing.Optional[builtins.bool], result)
84868
-
84869
- @builtins.property
84870
- def private_dns_enabled(self) -> typing.Optional[builtins.bool]:
84871
- '''Whether to associate a private hosted zone with the specified VPC.
84872
-
84873
- This
84874
- allows you to make requests to the service using its default DNS hostname.
84875
-
84876
- :default:
84877
-
84878
- set by the instance of IInterfaceVpcEndpointService, or true if
84879
- not defined by the instance of IInterfaceVpcEndpointService
84880
- '''
84881
- result = self._values.get("private_dns_enabled")
84882
- return typing.cast(typing.Optional[builtins.bool], result)
85530
+ def service_region(self) -> typing.Optional[builtins.str]:
85531
+ '''The region where the VPC endpoint service is located.
84883
85532
 
84884
- @builtins.property
84885
- def private_dns_only_for_inbound_resolver_endpoint(
84886
- self,
84887
- ) -> typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"]:
84888
- '''Whether to enable private DNS only for inbound endpoints.
85533
+ Only needs to be specified for cross-region VPC endpoints.
84889
85534
 
84890
- :default: not specified
85535
+ :default: - Same region as the interface VPC endpoint
84891
85536
  '''
84892
- result = self._values.get("private_dns_only_for_inbound_resolver_endpoint")
84893
- return typing.cast(typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"], result)
84894
-
84895
- @builtins.property
84896
- def security_groups(self) -> typing.Optional[typing.List[ISecurityGroup]]:
84897
- '''The security groups to associate with this interface VPC endpoint.
84898
-
84899
- :default: - a new security group is created
84900
- '''
84901
- result = self._values.get("security_groups")
84902
- return typing.cast(typing.Optional[typing.List[ISecurityGroup]], result)
85537
+ result = self._values.get("service_region")
85538
+ return typing.cast(typing.Optional[builtins.str], result)
84903
85539
 
84904
85540
  @builtins.property
84905
85541
  def subnets(self) -> typing.Optional["SubnetSelection"]:
@@ -95401,6 +96037,7 @@ class Vpc(
95401
96037
  private_dns_enabled: typing.Optional[builtins.bool] = None,
95402
96038
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional["VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint"] = None,
95403
96039
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
96040
+ service_region: typing.Optional[builtins.str] = None,
95404
96041
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
95405
96042
  ) -> "InterfaceVpcEndpoint":
95406
96043
  '''Adds a new interface endpoint to this VPC.
@@ -95414,6 +96051,7 @@ class Vpc(
95414
96051
  :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
96052
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
95416
96053
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
96054
+ :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
96055
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
95418
96056
  '''
95419
96057
  if __debug__:
@@ -95428,6 +96066,7 @@ class Vpc(
95428
96066
  private_dns_enabled=private_dns_enabled,
95429
96067
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
95430
96068
  security_groups=security_groups,
96069
+ service_region=service_region,
95431
96070
  subnets=subnets,
95432
96071
  )
95433
96072
 
@@ -101655,6 +102294,7 @@ class InterfaceVpcEndpoint(
101655
102294
  private_dns_enabled: typing.Optional[builtins.bool] = None,
101656
102295
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
101657
102296
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
102297
+ service_region: typing.Optional[builtins.str] = None,
101658
102298
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
101659
102299
  ) -> None:
101660
102300
  '''
@@ -101669,6 +102309,7 @@ class InterfaceVpcEndpoint(
101669
102309
  :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
102310
  :param private_dns_only_for_inbound_resolver_endpoint: Whether to enable private DNS only for inbound endpoints. Default: not specified
101671
102311
  :param security_groups: The security groups to associate with this interface VPC endpoint. Default: - a new security group is created
102312
+ :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
102313
  :param subnets: The subnets in which to create an endpoint network interface. At most one per availability zone. Default: - private subnets
101673
102314
  '''
101674
102315
  if __debug__:
@@ -101685,6 +102326,7 @@ class InterfaceVpcEndpoint(
101685
102326
  private_dns_enabled=private_dns_enabled,
101686
102327
  private_dns_only_for_inbound_resolver_endpoint=private_dns_only_for_inbound_resolver_endpoint,
101687
102328
  security_groups=security_groups,
102329
+ service_region=service_region,
101688
102330
  subnets=subnets,
101689
102331
  )
101690
102332
 
@@ -104345,6 +104987,8 @@ __all__ = [
104345
104987
  "CfnTransitGatewayAttachment",
104346
104988
  "CfnTransitGatewayAttachmentProps",
104347
104989
  "CfnTransitGatewayConnect",
104990
+ "CfnTransitGatewayConnectPeer",
104991
+ "CfnTransitGatewayConnectPeerProps",
104348
104992
  "CfnTransitGatewayConnectProps",
104349
104993
  "CfnTransitGatewayMulticastDomain",
104350
104994
  "CfnTransitGatewayMulticastDomainAssociation",
@@ -108358,6 +109002,7 @@ def _typecheckingstub__c599e12c3de63926f26bb5da3afad64e8c60b24c3b563faa2986e88c1
108358
109002
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
108359
109003
  description: typing.Optional[builtins.str] = None,
108360
109004
  device_index: typing.Optional[jsii.Number] = None,
109005
+ ena_queue_count: typing.Optional[jsii.Number] = None,
108361
109006
  ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.EnaSrdSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
108362
109007
  groups: typing.Optional[typing.Sequence[builtins.str]] = None,
108363
109008
  interface_type: typing.Optional[builtins.str] = None,
@@ -108681,7 +109326,6 @@ def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b4
108681
109326
  scope: _constructs_77d1e7e8.Construct,
108682
109327
  id: builtins.str,
108683
109328
  *,
108684
- subnet_id: builtins.str,
108685
109329
  allocation_id: typing.Optional[builtins.str] = None,
108686
109330
  connectivity_type: typing.Optional[builtins.str] = None,
108687
109331
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -108689,6 +109333,7 @@ def _typecheckingstub__4d23f1a46df0174ce142c0ff05ac9cb901ecac30141c8b466b44569b4
108689
109333
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
108690
109334
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
108691
109335
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
109336
+ subnet_id: typing.Optional[builtins.str] = None,
108692
109337
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108693
109338
  ) -> None:
108694
109339
  """Type checking stubs"""
@@ -108706,12 +109351,6 @@ def _typecheckingstub__ccb9afd936b7ea3bdc26e449176215293a7150d149aecacc164a3b752
108706
109351
  """Type checking stubs"""
108707
109352
  pass
108708
109353
 
108709
- def _typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74(
108710
- value: builtins.str,
108711
- ) -> None:
108712
- """Type checking stubs"""
108713
- pass
108714
-
108715
109354
  def _typecheckingstub__d4cfe702c80e90b7e94df290ccbd9b1126a59f7167ee8d0b08ead001f4b760be(
108716
109355
  value: typing.Optional[builtins.str],
108717
109356
  ) -> None:
@@ -108754,6 +109393,12 @@ def _typecheckingstub__6f95c2f3e513b379e30162aef0ef12684ffddc3d711e6a83303fbb920
108754
109393
  """Type checking stubs"""
108755
109394
  pass
108756
109395
 
109396
+ def _typecheckingstub__5ea5b3187b853cfa340b72b2a61dc1a1d7320459e754c328fc7013f403d31c74(
109397
+ value: typing.Optional[builtins.str],
109398
+ ) -> None:
109399
+ """Type checking stubs"""
109400
+ pass
109401
+
108757
109402
  def _typecheckingstub__76a6a3daaab575df04de03efcf802de9ee1357d57a0474a96922bc7d42b638e2(
108758
109403
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
108759
109404
  ) -> None:
@@ -108762,7 +109407,6 @@ def _typecheckingstub__76a6a3daaab575df04de03efcf802de9ee1357d57a0474a96922bc7d4
108762
109407
 
108763
109408
  def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330ee9a581(
108764
109409
  *,
108765
- subnet_id: builtins.str,
108766
109410
  allocation_id: typing.Optional[builtins.str] = None,
108767
109411
  connectivity_type: typing.Optional[builtins.str] = None,
108768
109412
  max_drain_duration_seconds: typing.Optional[jsii.Number] = None,
@@ -108770,6 +109414,7 @@ def _typecheckingstub__1aba83edf7a8e3f14e1d4f9ca76c7049f7f7c569d2ffb43bcad65b330
108770
109414
  secondary_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
108771
109415
  secondary_private_ip_address_count: typing.Optional[jsii.Number] = None,
108772
109416
  secondary_private_ip_addresses: typing.Optional[typing.Sequence[builtins.str]] = None,
109417
+ subnet_id: typing.Optional[builtins.str] = None,
108773
109418
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108774
109419
  ) -> None:
108775
109420
  """Type checking stubs"""
@@ -112097,6 +112742,78 @@ def _typecheckingstub__f28cf9493a9ba4af846e6c741893e0f0824bc477c2f1963741643adc4
112097
112742
  """Type checking stubs"""
112098
112743
  pass
112099
112744
 
112745
+ def _typecheckingstub__1f8d207f56975363774b74fa734c1d229d4b0713b4f3516f3314cd9ebcd0e41c(
112746
+ scope: _constructs_77d1e7e8.Construct,
112747
+ id: builtins.str,
112748
+ *,
112749
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
112750
+ transit_gateway_attachment_id: builtins.str,
112751
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
112752
+ ) -> None:
112753
+ """Type checking stubs"""
112754
+ pass
112755
+
112756
+ def _typecheckingstub__b94393058454232978c68e76b9895b5f0775d34692c68d57103fafd32b53d66e(
112757
+ inspector: _TreeInspector_488e0dd5,
112758
+ ) -> None:
112759
+ """Type checking stubs"""
112760
+ pass
112761
+
112762
+ def _typecheckingstub__9f8ed9dcea183e690fe0f56b975179a4ccbc13162e837cb3c510b70d38b0ef94(
112763
+ props: typing.Mapping[builtins.str, typing.Any],
112764
+ ) -> None:
112765
+ """Type checking stubs"""
112766
+ pass
112767
+
112768
+ def _typecheckingstub__58ed17da8e00760b83a59e1e504bfc8914d4d0783ebb460d52132e6d22c7c5f5(
112769
+ value: typing.Union[_IResolvable_da3f097b, CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty],
112770
+ ) -> None:
112771
+ """Type checking stubs"""
112772
+ pass
112773
+
112774
+ def _typecheckingstub__b2909b9fd1cf53285718444b2e767681f76b6ed629fb8bd9cac90f9dfa879a82(
112775
+ value: builtins.str,
112776
+ ) -> None:
112777
+ """Type checking stubs"""
112778
+ pass
112779
+
112780
+ def _typecheckingstub__6eada39e62da78a0081621fc2e53f369626e0a8daba2db28d9f8ab73bf02a2fd(
112781
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
112782
+ ) -> None:
112783
+ """Type checking stubs"""
112784
+ pass
112785
+
112786
+ def _typecheckingstub__d0f30598b4049c4e4e643a34da7497413353b78ba0ca8e5b1eb98867ba0a56b2(
112787
+ *,
112788
+ bgp_status: typing.Optional[builtins.str] = None,
112789
+ peer_address: typing.Optional[builtins.str] = None,
112790
+ peer_asn: typing.Optional[jsii.Number] = None,
112791
+ transit_gateway_address: typing.Optional[builtins.str] = None,
112792
+ transit_gateway_asn: typing.Optional[jsii.Number] = None,
112793
+ ) -> None:
112794
+ """Type checking stubs"""
112795
+ pass
112796
+
112797
+ def _typecheckingstub__ed11c27aeee7d87fa8fd9b18c1c8885352346e3191deb89b80e860c9891e5b56(
112798
+ *,
112799
+ inside_cidr_blocks: typing.Sequence[builtins.str],
112800
+ peer_address: builtins.str,
112801
+ 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,
112802
+ protocol: typing.Optional[builtins.str] = None,
112803
+ transit_gateway_address: typing.Optional[builtins.str] = None,
112804
+ ) -> None:
112805
+ """Type checking stubs"""
112806
+ pass
112807
+
112808
+ def _typecheckingstub__32b3081584f3dcc39f1077e0e7bc1b3a6c7b2678c8e23fa6b66e94bc04676ed3(
112809
+ *,
112810
+ connect_peer_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
112811
+ transit_gateway_attachment_id: builtins.str,
112812
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
112813
+ ) -> None:
112814
+ """Type checking stubs"""
112815
+ pass
112816
+
112100
112817
  def _typecheckingstub__ae4b1efff7cf5a4fab7c16d5ffad18f9c18dbd0d23dd3fa072685e3264ade5e1(
112101
112818
  *,
112102
112819
  options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnTransitGatewayConnect.TransitGatewayConnectOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -115155,6 +115872,7 @@ def _typecheckingstub__a8399f0a6a7650e1c02d00770e21cad422b9760a1fdc24465cf546371
115155
115872
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115156
115873
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115157
115874
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
115875
+ service_region: typing.Optional[builtins.str] = None,
115158
115876
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115159
115877
  ) -> None:
115160
115878
  """Type checking stubs"""
@@ -115770,6 +116488,7 @@ def _typecheckingstub__1a6dd0208e338cbe286ecaa3bcf5f95a5f0a0c1e1b3565ca6de058b5f
115770
116488
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115771
116489
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115772
116490
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
116491
+ service_region: typing.Optional[builtins.str] = None,
115773
116492
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115774
116493
  ) -> None:
115775
116494
  """Type checking stubs"""
@@ -115785,6 +116504,7 @@ def _typecheckingstub__6606ba3de030c44ce43dee44afe64adc59231bfc542799d1354e0732a
115785
116504
  private_dns_enabled: typing.Optional[builtins.bool] = None,
115786
116505
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
115787
116506
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
116507
+ service_region: typing.Optional[builtins.str] = None,
115788
116508
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
115789
116509
  vpc: IVpc,
115790
116510
  ) -> None:
@@ -117041,6 +117761,7 @@ def _typecheckingstub__00d64fd969958beb796ccf5d1bc5d808fd3e751c9e3c2237abfaf2dbe
117041
117761
  private_dns_enabled: typing.Optional[builtins.bool] = None,
117042
117762
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
117043
117763
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
117764
+ service_region: typing.Optional[builtins.str] = None,
117044
117765
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
117045
117766
  ) -> None:
117046
117767
  """Type checking stubs"""
@@ -117631,6 +118352,7 @@ def _typecheckingstub__a11756d82f1033710d89b4b10b111462f7a99734ff79d3648bd84d0e5
117631
118352
  private_dns_enabled: typing.Optional[builtins.bool] = None,
117632
118353
  private_dns_only_for_inbound_resolver_endpoint: typing.Optional[VpcEndpointPrivateDnsOnlyForInboundResolverEndpoint] = None,
117633
118354
  security_groups: typing.Optional[typing.Sequence[ISecurityGroup]] = None,
118355
+ service_region: typing.Optional[builtins.str] = None,
117634
118356
  subnets: typing.Optional[typing.Union[SubnetSelection, typing.Dict[builtins.str, typing.Any]]] = None,
117635
118357
  ) -> None:
117636
118358
  """Type checking stubs"""