aws-cdk-lib 2.186.0__py3-none-any.whl → 2.188.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 (85) hide show
  1. aws_cdk/__init__.py +303 -119
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.188.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +136 -0
  5. aws_cdk/aws_apigateway/__init__.py +69 -17
  6. aws_cdk/aws_apigatewayv2/__init__.py +88 -0
  7. aws_cdk/aws_appconfig/__init__.py +30 -14
  8. aws_cdk/aws_appsync/__init__.py +14 -5
  9. aws_cdk/aws_arczonalshift/__init__.py +4 -4
  10. aws_cdk/aws_bedrock/__init__.py +637 -32
  11. aws_cdk/aws_budgets/__init__.py +8 -8
  12. aws_cdk/aws_cassandra/__init__.py +4 -2
  13. aws_cdk/aws_ce/__init__.py +2 -2
  14. aws_cdk/aws_cloudformation/__init__.py +3 -3
  15. aws_cdk/aws_cloudfront/__init__.py +11 -0
  16. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  17. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  18. aws_cdk/aws_codebuild/__init__.py +32 -1
  19. aws_cdk/aws_codepipeline/__init__.py +47 -32
  20. aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
  21. aws_cdk/aws_codestarnotifications/__init__.py +16 -16
  22. aws_cdk/aws_cognito/__init__.py +8 -2
  23. aws_cdk/aws_config/__init__.py +2 -5
  24. aws_cdk/aws_datazone/__init__.py +287 -226
  25. aws_cdk/aws_detective/__init__.py +3 -3
  26. aws_cdk/aws_dynamodb/__init__.py +37 -0
  27. aws_cdk/aws_ec2/__init__.py +2448 -442
  28. aws_cdk/aws_ecr/__init__.py +143 -0
  29. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  30. aws_cdk/aws_ecs/__init__.py +51 -0
  31. aws_cdk/aws_eks/__init__.py +222 -6
  32. aws_cdk/aws_events/__init__.py +8 -11
  33. aws_cdk/aws_events_targets/__init__.py +136 -0
  34. aws_cdk/aws_forecast/__init__.py +1 -1
  35. aws_cdk/aws_fsx/__init__.py +2 -2
  36. aws_cdk/aws_gamelift/__init__.py +11 -11
  37. aws_cdk/aws_iam/__init__.py +6 -4
  38. aws_cdk/aws_identitystore/__init__.py +6 -4
  39. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  40. aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
  41. aws_cdk/aws_kms/__init__.py +10 -11
  42. aws_cdk/aws_lakeformation/__init__.py +3 -3
  43. aws_cdk/aws_lambda/__init__.py +105 -4
  44. aws_cdk/aws_lambda_event_sources/__init__.py +87 -25
  45. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  46. aws_cdk/aws_lex/__init__.py +985 -5
  47. aws_cdk/aws_logs/__init__.py +18 -0
  48. aws_cdk/aws_logs_destinations/__init__.py +146 -0
  49. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  50. aws_cdk/aws_mwaa/__init__.py +9 -9
  51. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  52. aws_cdk/aws_notifications/__init__.py +4 -4
  53. aws_cdk/aws_omics/__init__.py +225 -1
  54. aws_cdk/aws_opensearchserverless/__init__.py +31 -23
  55. aws_cdk/aws_organizations/__init__.py +1 -1
  56. aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
  57. aws_cdk/aws_quicksight/__init__.py +268 -50
  58. aws_cdk/aws_rds/__init__.py +186 -10
  59. aws_cdk/aws_route53/__init__.py +5 -5
  60. aws_cdk/aws_route53recoverycontrol/__init__.py +41 -2
  61. aws_cdk/aws_rum/__init__.py +13 -10
  62. aws_cdk/aws_s3/__init__.py +3 -6
  63. aws_cdk/aws_s3_assets/__init__.py +70 -1
  64. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  65. aws_cdk/aws_sagemaker/__init__.py +47 -4
  66. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  67. aws_cdk/aws_securitylake/__init__.py +2 -2
  68. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  69. aws_cdk/aws_sns/__init__.py +1 -1
  70. aws_cdk/aws_ssmincidents/__init__.py +10 -10
  71. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  72. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  73. aws_cdk/aws_synthetics/__init__.py +9 -0
  74. aws_cdk/aws_systemsmanagersap/__init__.py +160 -0
  75. aws_cdk/aws_transfer/__init__.py +19 -10
  76. aws_cdk/aws_wafv2/__init__.py +512 -1141
  77. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  78. aws_cdk/cx_api/__init__.py +38 -2
  79. aws_cdk/pipelines/__init__.py +52 -2
  80. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/METADATA +4 -4
  81. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/RECORD +85 -85
  82. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/WHEEL +1 -1
  83. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/LICENSE +0 -0
  84. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/NOTICE +0 -0
  85. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/top_level.txt +0 -0
@@ -1244,6 +1244,19 @@ ec2.VpcEndpointService(self, "EndpointService",
1244
1244
  )
1245
1245
  ```
1246
1246
 
1247
+ You can restrict access to your endpoint service to specific AWS regions:
1248
+
1249
+ ```python
1250
+ # network_load_balancer: elbv2.NetworkLoadBalancer
1251
+
1252
+
1253
+ ec2.VpcEndpointService(self, "EndpointService",
1254
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
1255
+ # Allow service consumers from these regions only
1256
+ allowed_regions=["us-east-1", "eu-west-1"]
1257
+ )
1258
+ ```
1259
+
1247
1260
  Endpoint services support private DNS, which makes it easier for clients to connect to your service by automatically setting up DNS in their VPC.
1248
1261
  You can enable private DNS on an endpoint service like so:
1249
1262
 
@@ -2556,6 +2569,25 @@ launch_template = ec2.LaunchTemplate(self, "LaunchTemplate",
2556
2569
  )
2557
2570
  ```
2558
2571
 
2572
+ ### Placement Group
2573
+
2574
+ Specify `placementGroup` to enable the placement group support:
2575
+
2576
+ ```python
2577
+ # instance_type: ec2.InstanceType
2578
+
2579
+
2580
+ pg = ec2.PlacementGroup(self, "test-pg",
2581
+ strategy=ec2.PlacementGroupStrategy.SPREAD
2582
+ )
2583
+
2584
+ ec2.LaunchTemplate(self, "LaunchTemplate",
2585
+ instance_type=instance_type,
2586
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
2587
+ placement_group=pg
2588
+ )
2589
+ ```
2590
+
2559
2591
  Please note this feature does not support Launch Configurations.
2560
2592
 
2561
2593
  ## Detailed Monitoring
@@ -20423,6 +20455,12 @@ class CfnInstance(
20423
20455
  associate_public_ip_address=False,
20424
20456
  delete_on_termination=False,
20425
20457
  description="description",
20458
+ ena_srd_specification=ec2.CfnInstance.EnaSrdSpecificationProperty(
20459
+ ena_srd_enabled=False,
20460
+ ena_srd_udp_specification=ec2.CfnInstance.EnaSrdUdpSpecificationProperty(
20461
+ ena_srd_udp_enabled=False
20462
+ )
20463
+ ),
20426
20464
  group_set=["groupSet"],
20427
20465
  ipv6_address_count=123,
20428
20466
  ipv6_addresses=[ec2.CfnInstance.InstanceIpv6AddressProperty(
@@ -22088,6 +22126,150 @@ class CfnInstance(
22088
22126
  k + "=" + repr(v) for k, v in self._values.items()
22089
22127
  )
22090
22128
 
22129
+ @jsii.data_type(
22130
+ jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.EnaSrdSpecificationProperty",
22131
+ jsii_struct_bases=[],
22132
+ name_mapping={
22133
+ "ena_srd_enabled": "enaSrdEnabled",
22134
+ "ena_srd_udp_specification": "enaSrdUdpSpecification",
22135
+ },
22136
+ )
22137
+ class EnaSrdSpecificationProperty:
22138
+ def __init__(
22139
+ self,
22140
+ *,
22141
+ ena_srd_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22142
+ ena_srd_udp_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.EnaSrdUdpSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
22143
+ ) -> None:
22144
+ '''ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.
22145
+
22146
+ With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.
22147
+
22148
+ To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.
22149
+
22150
+ :param ena_srd_enabled: Indicates whether ENA Express is enabled for the network interface.
22151
+ :param ena_srd_udp_specification: Configures ENA Express for UDP network traffic.
22152
+
22153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html
22154
+ :exampleMetadata: fixture=_generated
22155
+
22156
+ Example::
22157
+
22158
+ # The code below shows an example of how to instantiate this type.
22159
+ # The values are placeholders you should change.
22160
+ from aws_cdk import aws_ec2 as ec2
22161
+
22162
+ ena_srd_specification_property = ec2.CfnInstance.EnaSrdSpecificationProperty(
22163
+ ena_srd_enabled=False,
22164
+ ena_srd_udp_specification=ec2.CfnInstance.EnaSrdUdpSpecificationProperty(
22165
+ ena_srd_udp_enabled=False
22166
+ )
22167
+ )
22168
+ '''
22169
+ if __debug__:
22170
+ type_hints = typing.get_type_hints(_typecheckingstub__cb5cfa1ad0a955752d0fe5cf1fa975e214907046a3adab82f42c2cb294897482)
22171
+ check_type(argname="argument ena_srd_enabled", value=ena_srd_enabled, expected_type=type_hints["ena_srd_enabled"])
22172
+ check_type(argname="argument ena_srd_udp_specification", value=ena_srd_udp_specification, expected_type=type_hints["ena_srd_udp_specification"])
22173
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
22174
+ if ena_srd_enabled is not None:
22175
+ self._values["ena_srd_enabled"] = ena_srd_enabled
22176
+ if ena_srd_udp_specification is not None:
22177
+ self._values["ena_srd_udp_specification"] = ena_srd_udp_specification
22178
+
22179
+ @builtins.property
22180
+ def ena_srd_enabled(
22181
+ self,
22182
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
22183
+ '''Indicates whether ENA Express is enabled for the network interface.
22184
+
22185
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html#cfn-ec2-instance-enasrdspecification-enasrdenabled
22186
+ '''
22187
+ result = self._values.get("ena_srd_enabled")
22188
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
22189
+
22190
+ @builtins.property
22191
+ def ena_srd_udp_specification(
22192
+ self,
22193
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.EnaSrdUdpSpecificationProperty"]]:
22194
+ '''Configures ENA Express for UDP network traffic.
22195
+
22196
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html#cfn-ec2-instance-enasrdspecification-enasrdudpspecification
22197
+ '''
22198
+ result = self._values.get("ena_srd_udp_specification")
22199
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.EnaSrdUdpSpecificationProperty"]], result)
22200
+
22201
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
22202
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
22203
+
22204
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
22205
+ return not (rhs == self)
22206
+
22207
+ def __repr__(self) -> str:
22208
+ return "EnaSrdSpecificationProperty(%s)" % ", ".join(
22209
+ k + "=" + repr(v) for k, v in self._values.items()
22210
+ )
22211
+
22212
+ @jsii.data_type(
22213
+ jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.EnaSrdUdpSpecificationProperty",
22214
+ jsii_struct_bases=[],
22215
+ name_mapping={"ena_srd_udp_enabled": "enaSrdUdpEnabled"},
22216
+ )
22217
+ class EnaSrdUdpSpecificationProperty:
22218
+ def __init__(
22219
+ self,
22220
+ *,
22221
+ ena_srd_udp_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22222
+ ) -> None:
22223
+ '''ENA Express is compatible with both TCP and UDP transport protocols.
22224
+
22225
+ When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.
22226
+
22227
+ :param ena_srd_udp_enabled: Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.
22228
+
22229
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdudpspecification.html
22230
+ :exampleMetadata: fixture=_generated
22231
+
22232
+ Example::
22233
+
22234
+ # The code below shows an example of how to instantiate this type.
22235
+ # The values are placeholders you should change.
22236
+ from aws_cdk import aws_ec2 as ec2
22237
+
22238
+ ena_srd_udp_specification_property = ec2.CfnInstance.EnaSrdUdpSpecificationProperty(
22239
+ ena_srd_udp_enabled=False
22240
+ )
22241
+ '''
22242
+ if __debug__:
22243
+ type_hints = typing.get_type_hints(_typecheckingstub__2ca233cf2c335cfa3da294e921b5541acd4aaf5e78b3618e6108270995e3e826)
22244
+ check_type(argname="argument ena_srd_udp_enabled", value=ena_srd_udp_enabled, expected_type=type_hints["ena_srd_udp_enabled"])
22245
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
22246
+ if ena_srd_udp_enabled is not None:
22247
+ self._values["ena_srd_udp_enabled"] = ena_srd_udp_enabled
22248
+
22249
+ @builtins.property
22250
+ def ena_srd_udp_enabled(
22251
+ self,
22252
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
22253
+ '''Indicates whether UDP traffic to and from the instance uses ENA Express.
22254
+
22255
+ To specify this setting, you must first enable ENA Express.
22256
+
22257
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdudpspecification.html#cfn-ec2-instance-enasrdudpspecification-enasrdudpenabled
22258
+ '''
22259
+ result = self._values.get("ena_srd_udp_enabled")
22260
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
22261
+
22262
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
22263
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
22264
+
22265
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
22266
+ return not (rhs == self)
22267
+
22268
+ def __repr__(self) -> str:
22269
+ return "EnaSrdUdpSpecificationProperty(%s)" % ", ".join(
22270
+ k + "=" + repr(v) for k, v in self._values.items()
22271
+ )
22272
+
22091
22273
  @jsii.data_type(
22092
22274
  jsii_type="aws-cdk-lib.aws_ec2.CfnInstance.EnclaveOptionsProperty",
22093
22275
  jsii_struct_bases=[],
@@ -22437,6 +22619,7 @@ class CfnInstance(
22437
22619
  "associate_public_ip_address": "associatePublicIpAddress",
22438
22620
  "delete_on_termination": "deleteOnTermination",
22439
22621
  "description": "description",
22622
+ "ena_srd_specification": "enaSrdSpecification",
22440
22623
  "group_set": "groupSet",
22441
22624
  "ipv6_address_count": "ipv6AddressCount",
22442
22625
  "ipv6_addresses": "ipv6Addresses",
@@ -22456,6 +22639,7 @@ class CfnInstance(
22456
22639
  associate_public_ip_address: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22457
22640
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22458
22641
  description: typing.Optional[builtins.str] = None,
22642
+ ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.EnaSrdSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
22459
22643
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
22460
22644
  ipv6_address_count: typing.Optional[jsii.Number] = None,
22461
22645
  ipv6_addresses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstance.InstanceIpv6AddressProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -22476,6 +22660,7 @@ class CfnInstance(
22476
22660
  :param associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance. Applies only if creating a network interface when launching an instance. The network interface must be the primary network interface. If launching into a default subnet, the default value is ``true`` . AWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the `VPC pricing page <https://docs.aws.amazon.com/vpc/pricing/>`_ .
22477
22661
  :param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated. Applies only if creating a network interface when launching an instance.
22478
22662
  :param description: The description of the network interface. Applies only if creating a network interface when launching an instance.
22663
+ :param ena_srd_specification: Specifies the ENA Express settings for the network interface that's attached to the instance.
22479
22664
  :param group_set: The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.
22480
22665
  :param ipv6_address_count: A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.
22481
22666
  :param ipv6_addresses: The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.
@@ -22502,6 +22687,12 @@ class CfnInstance(
22502
22687
  associate_public_ip_address=False,
22503
22688
  delete_on_termination=False,
22504
22689
  description="description",
22690
+ ena_srd_specification=ec2.CfnInstance.EnaSrdSpecificationProperty(
22691
+ ena_srd_enabled=False,
22692
+ ena_srd_udp_specification=ec2.CfnInstance.EnaSrdUdpSpecificationProperty(
22693
+ ena_srd_udp_enabled=False
22694
+ )
22695
+ ),
22505
22696
  group_set=["groupSet"],
22506
22697
  ipv6_address_count=123,
22507
22698
  ipv6_addresses=[ec2.CfnInstance.InstanceIpv6AddressProperty(
@@ -22524,6 +22715,7 @@ class CfnInstance(
22524
22715
  check_type(argname="argument associate_public_ip_address", value=associate_public_ip_address, expected_type=type_hints["associate_public_ip_address"])
22525
22716
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
22526
22717
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
22718
+ check_type(argname="argument ena_srd_specification", value=ena_srd_specification, expected_type=type_hints["ena_srd_specification"])
22527
22719
  check_type(argname="argument group_set", value=group_set, expected_type=type_hints["group_set"])
22528
22720
  check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
22529
22721
  check_type(argname="argument ipv6_addresses", value=ipv6_addresses, expected_type=type_hints["ipv6_addresses"])
@@ -22543,6 +22735,8 @@ class CfnInstance(
22543
22735
  self._values["delete_on_termination"] = delete_on_termination
22544
22736
  if description is not None:
22545
22737
  self._values["description"] = description
22738
+ if ena_srd_specification is not None:
22739
+ self._values["ena_srd_specification"] = ena_srd_specification
22546
22740
  if group_set is not None:
22547
22741
  self._values["group_set"] = group_set
22548
22742
  if ipv6_address_count is not None:
@@ -22626,6 +22820,17 @@ class CfnInstance(
22626
22820
  result = self._values.get("description")
22627
22821
  return typing.cast(typing.Optional[builtins.str], result)
22628
22822
 
22823
+ @builtins.property
22824
+ def ena_srd_specification(
22825
+ self,
22826
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.EnaSrdSpecificationProperty"]]:
22827
+ '''Specifies the ENA Express settings for the network interface that's attached to the instance.
22828
+
22829
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-enasrdspecification
22830
+ '''
22831
+ result = self._values.get("ena_srd_specification")
22832
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.EnaSrdSpecificationProperty"]], result)
22833
+
22629
22834
  @builtins.property
22630
22835
  def group_set(self) -> typing.Optional[typing.List[builtins.str]]:
22631
22836
  '''The IDs of the security groups for the network interface.
@@ -23722,6 +23927,12 @@ class CfnInstanceProps:
23722
23927
  associate_public_ip_address=False,
23723
23928
  delete_on_termination=False,
23724
23929
  description="description",
23930
+ ena_srd_specification=ec2.CfnInstance.EnaSrdSpecificationProperty(
23931
+ ena_srd_enabled=False,
23932
+ ena_srd_udp_specification=ec2.CfnInstance.EnaSrdUdpSpecificationProperty(
23933
+ ena_srd_udp_enabled=False
23934
+ )
23935
+ ),
23725
23936
  group_set=["groupSet"],
23726
23937
  ipv6_address_count=123,
23727
23938
  ipv6_addresses=[ec2.CfnInstance.InstanceIpv6AddressProperty(
@@ -41386,25 +41597,1679 @@ class CfnRoute(
41386
41597
  :param vpc_peering_connection_id: The ID of a VPC peering connection.
41387
41598
  '''
41388
41599
  if __debug__:
41389
- type_hints = typing.get_type_hints(_typecheckingstub__418aadfc2c6984f0ac75cd67e36ca76f23d9cf7bc23846cf55d7b3cdbd691797)
41600
+ type_hints = typing.get_type_hints(_typecheckingstub__418aadfc2c6984f0ac75cd67e36ca76f23d9cf7bc23846cf55d7b3cdbd691797)
41601
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
41602
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
41603
+ props = CfnRouteProps(
41604
+ route_table_id=route_table_id,
41605
+ carrier_gateway_id=carrier_gateway_id,
41606
+ core_network_arn=core_network_arn,
41607
+ destination_cidr_block=destination_cidr_block,
41608
+ destination_ipv6_cidr_block=destination_ipv6_cidr_block,
41609
+ destination_prefix_list_id=destination_prefix_list_id,
41610
+ egress_only_internet_gateway_id=egress_only_internet_gateway_id,
41611
+ gateway_id=gateway_id,
41612
+ instance_id=instance_id,
41613
+ local_gateway_id=local_gateway_id,
41614
+ nat_gateway_id=nat_gateway_id,
41615
+ network_interface_id=network_interface_id,
41616
+ transit_gateway_id=transit_gateway_id,
41617
+ vpc_endpoint_id=vpc_endpoint_id,
41618
+ vpc_peering_connection_id=vpc_peering_connection_id,
41619
+ )
41620
+
41621
+ jsii.create(self.__class__, self, [scope, id, props])
41622
+
41623
+ @jsii.member(jsii_name="inspect")
41624
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
41625
+ '''Examines the CloudFormation resource and discloses attributes.
41626
+
41627
+ :param inspector: tree inspector to collect and process attributes.
41628
+ '''
41629
+ if __debug__:
41630
+ type_hints = typing.get_type_hints(_typecheckingstub__6be65f2a156289dba30c6b64726cb3622e229f7b1e4e152487bbd9e0ecfb9d7d)
41631
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
41632
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
41633
+
41634
+ @jsii.member(jsii_name="renderProperties")
41635
+ def _render_properties(
41636
+ self,
41637
+ props: typing.Mapping[builtins.str, typing.Any],
41638
+ ) -> typing.Mapping[builtins.str, typing.Any]:
41639
+ '''
41640
+ :param props: -
41641
+ '''
41642
+ if __debug__:
41643
+ type_hints = typing.get_type_hints(_typecheckingstub__9a9bb73be2078411a9f0d4740a463a6f77c635fe220f5351d3fc9e0f442d2061)
41644
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
41645
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
41646
+
41647
+ @jsii.python.classproperty
41648
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
41649
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
41650
+ '''The CloudFormation resource type name for this resource class.'''
41651
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
41652
+
41653
+ @builtins.property
41654
+ @jsii.member(jsii_name="attrCidrBlock")
41655
+ def attr_cidr_block(self) -> builtins.str:
41656
+ '''The IPv4 CIDR block.
41657
+
41658
+ :cloudformationAttribute: CidrBlock
41659
+ '''
41660
+ return typing.cast(builtins.str, jsii.get(self, "attrCidrBlock"))
41661
+
41662
+ @builtins.property
41663
+ @jsii.member(jsii_name="cfnProperties")
41664
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
41665
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
41666
+
41667
+ @builtins.property
41668
+ @jsii.member(jsii_name="routeTableId")
41669
+ def route_table_id(self) -> builtins.str:
41670
+ '''The ID of the route table for the route.'''
41671
+ return typing.cast(builtins.str, jsii.get(self, "routeTableId"))
41672
+
41673
+ @route_table_id.setter
41674
+ def route_table_id(self, value: builtins.str) -> None:
41675
+ if __debug__:
41676
+ type_hints = typing.get_type_hints(_typecheckingstub__f8db87996585873368487fc20df4ef16915a47f32a4459b4643d211faf6b65dc)
41677
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41678
+ jsii.set(self, "routeTableId", value) # pyright: ignore[reportArgumentType]
41679
+
41680
+ @builtins.property
41681
+ @jsii.member(jsii_name="carrierGatewayId")
41682
+ def carrier_gateway_id(self) -> typing.Optional[builtins.str]:
41683
+ '''The ID of the carrier gateway.'''
41684
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "carrierGatewayId"))
41685
+
41686
+ @carrier_gateway_id.setter
41687
+ def carrier_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41688
+ if __debug__:
41689
+ type_hints = typing.get_type_hints(_typecheckingstub__355c5c80f08453332882507836cf0441e37ed4a5c9fa46ef1c415dd739491b7e)
41690
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41691
+ jsii.set(self, "carrierGatewayId", value) # pyright: ignore[reportArgumentType]
41692
+
41693
+ @builtins.property
41694
+ @jsii.member(jsii_name="coreNetworkArn")
41695
+ def core_network_arn(self) -> typing.Optional[builtins.str]:
41696
+ '''The Amazon Resource Name (ARN) of the core network.'''
41697
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "coreNetworkArn"))
41698
+
41699
+ @core_network_arn.setter
41700
+ def core_network_arn(self, value: typing.Optional[builtins.str]) -> None:
41701
+ if __debug__:
41702
+ type_hints = typing.get_type_hints(_typecheckingstub__535edefe9ec250f819eacd60779bcf6b8d4afa9cd9b9ec8142ddfb03034be5ac)
41703
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41704
+ jsii.set(self, "coreNetworkArn", value) # pyright: ignore[reportArgumentType]
41705
+
41706
+ @builtins.property
41707
+ @jsii.member(jsii_name="destinationCidrBlock")
41708
+ def destination_cidr_block(self) -> typing.Optional[builtins.str]:
41709
+ '''The IPv4 CIDR address block used for the destination match.'''
41710
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationCidrBlock"))
41711
+
41712
+ @destination_cidr_block.setter
41713
+ def destination_cidr_block(self, value: typing.Optional[builtins.str]) -> None:
41714
+ if __debug__:
41715
+ type_hints = typing.get_type_hints(_typecheckingstub__1ae05f819fd9822a84fcac1033a9bd983835b0e75eb0d432aa89d5973585cc3e)
41716
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41717
+ jsii.set(self, "destinationCidrBlock", value) # pyright: ignore[reportArgumentType]
41718
+
41719
+ @builtins.property
41720
+ @jsii.member(jsii_name="destinationIpv6CidrBlock")
41721
+ def destination_ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
41722
+ '''The IPv6 CIDR block used for the destination match.'''
41723
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationIpv6CidrBlock"))
41724
+
41725
+ @destination_ipv6_cidr_block.setter
41726
+ def destination_ipv6_cidr_block(self, value: typing.Optional[builtins.str]) -> None:
41727
+ if __debug__:
41728
+ type_hints = typing.get_type_hints(_typecheckingstub__9053d56266f2ecaa5d8209e05a5af048fd6c8540eece0de592fa617598e87e30)
41729
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41730
+ jsii.set(self, "destinationIpv6CidrBlock", value) # pyright: ignore[reportArgumentType]
41731
+
41732
+ @builtins.property
41733
+ @jsii.member(jsii_name="destinationPrefixListId")
41734
+ def destination_prefix_list_id(self) -> typing.Optional[builtins.str]:
41735
+ '''The ID of a prefix list used for the destination match.'''
41736
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationPrefixListId"))
41737
+
41738
+ @destination_prefix_list_id.setter
41739
+ def destination_prefix_list_id(self, value: typing.Optional[builtins.str]) -> None:
41740
+ if __debug__:
41741
+ type_hints = typing.get_type_hints(_typecheckingstub__28b2d9e818763b23c1689ff8d32ac779a6cdf2e20e4e1b57f65f0f3474ae8878)
41742
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41743
+ jsii.set(self, "destinationPrefixListId", value) # pyright: ignore[reportArgumentType]
41744
+
41745
+ @builtins.property
41746
+ @jsii.member(jsii_name="egressOnlyInternetGatewayId")
41747
+ def egress_only_internet_gateway_id(self) -> typing.Optional[builtins.str]:
41748
+ '''[IPv6 traffic only] The ID of an egress-only internet gateway.'''
41749
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "egressOnlyInternetGatewayId"))
41750
+
41751
+ @egress_only_internet_gateway_id.setter
41752
+ def egress_only_internet_gateway_id(
41753
+ self,
41754
+ value: typing.Optional[builtins.str],
41755
+ ) -> None:
41756
+ if __debug__:
41757
+ type_hints = typing.get_type_hints(_typecheckingstub__d8f8dcc844a05743d981c217d51303c0c4cc6e46dadd5339a6eb261fe327b128)
41758
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41759
+ jsii.set(self, "egressOnlyInternetGatewayId", value) # pyright: ignore[reportArgumentType]
41760
+
41761
+ @builtins.property
41762
+ @jsii.member(jsii_name="gatewayId")
41763
+ def gateway_id(self) -> typing.Optional[builtins.str]:
41764
+ '''The ID of an internet gateway or virtual private gateway attached to your VPC.'''
41765
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "gatewayId"))
41766
+
41767
+ @gateway_id.setter
41768
+ def gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41769
+ if __debug__:
41770
+ type_hints = typing.get_type_hints(_typecheckingstub__c49944ede227d758c602f9702b54e035d5067af2a0424d3b194ba7311c44aea8)
41771
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41772
+ jsii.set(self, "gatewayId", value) # pyright: ignore[reportArgumentType]
41773
+
41774
+ @builtins.property
41775
+ @jsii.member(jsii_name="instanceId")
41776
+ def instance_id(self) -> typing.Optional[builtins.str]:
41777
+ '''The ID of a NAT instance in your VPC.'''
41778
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "instanceId"))
41779
+
41780
+ @instance_id.setter
41781
+ def instance_id(self, value: typing.Optional[builtins.str]) -> None:
41782
+ if __debug__:
41783
+ type_hints = typing.get_type_hints(_typecheckingstub__7d987c0fc0a014587365521959275a5a66f3fb9212aa1ef3e47b13ec24a3291a)
41784
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41785
+ jsii.set(self, "instanceId", value) # pyright: ignore[reportArgumentType]
41786
+
41787
+ @builtins.property
41788
+ @jsii.member(jsii_name="localGatewayId")
41789
+ def local_gateway_id(self) -> typing.Optional[builtins.str]:
41790
+ '''The ID of the local gateway.'''
41791
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "localGatewayId"))
41792
+
41793
+ @local_gateway_id.setter
41794
+ def local_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41795
+ if __debug__:
41796
+ type_hints = typing.get_type_hints(_typecheckingstub__46d262dfaa3881555d65a46e9b26bc3ad572270d792880fa9867825c43d6b51c)
41797
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41798
+ jsii.set(self, "localGatewayId", value) # pyright: ignore[reportArgumentType]
41799
+
41800
+ @builtins.property
41801
+ @jsii.member(jsii_name="natGatewayId")
41802
+ def nat_gateway_id(self) -> typing.Optional[builtins.str]:
41803
+ '''[IPv4 traffic only] The ID of a NAT gateway.'''
41804
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "natGatewayId"))
41805
+
41806
+ @nat_gateway_id.setter
41807
+ def nat_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41808
+ if __debug__:
41809
+ type_hints = typing.get_type_hints(_typecheckingstub__a847890b57b0439222d2d701c672a84c0722c931f9b262edafa5fed2a6e2f84b)
41810
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41811
+ jsii.set(self, "natGatewayId", value) # pyright: ignore[reportArgumentType]
41812
+
41813
+ @builtins.property
41814
+ @jsii.member(jsii_name="networkInterfaceId")
41815
+ def network_interface_id(self) -> typing.Optional[builtins.str]:
41816
+ '''The ID of a network interface.'''
41817
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkInterfaceId"))
41818
+
41819
+ @network_interface_id.setter
41820
+ def network_interface_id(self, value: typing.Optional[builtins.str]) -> None:
41821
+ if __debug__:
41822
+ type_hints = typing.get_type_hints(_typecheckingstub__266f068b50cc854a81450a8d5e3e82022666389ba782b94a359557a139812aef)
41823
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41824
+ jsii.set(self, "networkInterfaceId", value) # pyright: ignore[reportArgumentType]
41825
+
41826
+ @builtins.property
41827
+ @jsii.member(jsii_name="transitGatewayId")
41828
+ def transit_gateway_id(self) -> typing.Optional[builtins.str]:
41829
+ '''The ID of a transit gateway.'''
41830
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "transitGatewayId"))
41831
+
41832
+ @transit_gateway_id.setter
41833
+ def transit_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41834
+ if __debug__:
41835
+ type_hints = typing.get_type_hints(_typecheckingstub__82c38d5de8dba90584bc4953ed11041cd571a5742b7358ca8dbaa9d4ce4aa9bd)
41836
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41837
+ jsii.set(self, "transitGatewayId", value) # pyright: ignore[reportArgumentType]
41838
+
41839
+ @builtins.property
41840
+ @jsii.member(jsii_name="vpcEndpointId")
41841
+ def vpc_endpoint_id(self) -> typing.Optional[builtins.str]:
41842
+ '''The ID of a VPC endpoint.'''
41843
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcEndpointId"))
41844
+
41845
+ @vpc_endpoint_id.setter
41846
+ def vpc_endpoint_id(self, value: typing.Optional[builtins.str]) -> None:
41847
+ if __debug__:
41848
+ type_hints = typing.get_type_hints(_typecheckingstub__9b3588c8e5a495d9ab8a2699ed72f7253e15605bba594e43b65e5892bcbf1ca0)
41849
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41850
+ jsii.set(self, "vpcEndpointId", value) # pyright: ignore[reportArgumentType]
41851
+
41852
+ @builtins.property
41853
+ @jsii.member(jsii_name="vpcPeeringConnectionId")
41854
+ def vpc_peering_connection_id(self) -> typing.Optional[builtins.str]:
41855
+ '''The ID of a VPC peering connection.'''
41856
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcPeeringConnectionId"))
41857
+
41858
+ @vpc_peering_connection_id.setter
41859
+ def vpc_peering_connection_id(self, value: typing.Optional[builtins.str]) -> None:
41860
+ if __debug__:
41861
+ type_hints = typing.get_type_hints(_typecheckingstub__46892d5dd1581aee0dcf6410687f88cfaffdfdd18c726880534edc8f86e9919a)
41862
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41863
+ jsii.set(self, "vpcPeeringConnectionId", value) # pyright: ignore[reportArgumentType]
41864
+
41865
+
41866
+ @jsii.data_type(
41867
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteProps",
41868
+ jsii_struct_bases=[],
41869
+ name_mapping={
41870
+ "route_table_id": "routeTableId",
41871
+ "carrier_gateway_id": "carrierGatewayId",
41872
+ "core_network_arn": "coreNetworkArn",
41873
+ "destination_cidr_block": "destinationCidrBlock",
41874
+ "destination_ipv6_cidr_block": "destinationIpv6CidrBlock",
41875
+ "destination_prefix_list_id": "destinationPrefixListId",
41876
+ "egress_only_internet_gateway_id": "egressOnlyInternetGatewayId",
41877
+ "gateway_id": "gatewayId",
41878
+ "instance_id": "instanceId",
41879
+ "local_gateway_id": "localGatewayId",
41880
+ "nat_gateway_id": "natGatewayId",
41881
+ "network_interface_id": "networkInterfaceId",
41882
+ "transit_gateway_id": "transitGatewayId",
41883
+ "vpc_endpoint_id": "vpcEndpointId",
41884
+ "vpc_peering_connection_id": "vpcPeeringConnectionId",
41885
+ },
41886
+ )
41887
+ class CfnRouteProps:
41888
+ def __init__(
41889
+ self,
41890
+ *,
41891
+ route_table_id: builtins.str,
41892
+ carrier_gateway_id: typing.Optional[builtins.str] = None,
41893
+ core_network_arn: typing.Optional[builtins.str] = None,
41894
+ destination_cidr_block: typing.Optional[builtins.str] = None,
41895
+ destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
41896
+ destination_prefix_list_id: typing.Optional[builtins.str] = None,
41897
+ egress_only_internet_gateway_id: typing.Optional[builtins.str] = None,
41898
+ gateway_id: typing.Optional[builtins.str] = None,
41899
+ instance_id: typing.Optional[builtins.str] = None,
41900
+ local_gateway_id: typing.Optional[builtins.str] = None,
41901
+ nat_gateway_id: typing.Optional[builtins.str] = None,
41902
+ network_interface_id: typing.Optional[builtins.str] = None,
41903
+ transit_gateway_id: typing.Optional[builtins.str] = None,
41904
+ vpc_endpoint_id: typing.Optional[builtins.str] = None,
41905
+ vpc_peering_connection_id: typing.Optional[builtins.str] = None,
41906
+ ) -> None:
41907
+ '''Properties for defining a ``CfnRoute``.
41908
+
41909
+ :param route_table_id: The ID of the route table for the route.
41910
+ :param carrier_gateway_id: The ID of the carrier gateway. You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
41911
+ :param core_network_arn: The Amazon Resource Name (ARN) of the core network.
41912
+ :param destination_cidr_block: The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
41913
+ :param destination_ipv6_cidr_block: The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.
41914
+ :param destination_prefix_list_id: The ID of a prefix list used for the destination match.
41915
+ :param egress_only_internet_gateway_id: [IPv6 traffic only] The ID of an egress-only internet gateway.
41916
+ :param gateway_id: The ID of an internet gateway or virtual private gateway attached to your VPC.
41917
+ :param instance_id: The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.
41918
+ :param local_gateway_id: The ID of the local gateway.
41919
+ :param nat_gateway_id: [IPv4 traffic only] The ID of a NAT gateway.
41920
+ :param network_interface_id: The ID of a network interface.
41921
+ :param transit_gateway_id: The ID of a transit gateway.
41922
+ :param vpc_endpoint_id: The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
41923
+ :param vpc_peering_connection_id: The ID of a VPC peering connection.
41924
+
41925
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html
41926
+ :exampleMetadata: fixture=_generated
41927
+
41928
+ Example::
41929
+
41930
+ # The code below shows an example of how to instantiate this type.
41931
+ # The values are placeholders you should change.
41932
+ from aws_cdk import aws_ec2 as ec2
41933
+
41934
+ cfn_route_props = ec2.CfnRouteProps(
41935
+ route_table_id="routeTableId",
41936
+
41937
+ # the properties below are optional
41938
+ carrier_gateway_id="carrierGatewayId",
41939
+ core_network_arn="coreNetworkArn",
41940
+ destination_cidr_block="destinationCidrBlock",
41941
+ destination_ipv6_cidr_block="destinationIpv6CidrBlock",
41942
+ destination_prefix_list_id="destinationPrefixListId",
41943
+ egress_only_internet_gateway_id="egressOnlyInternetGatewayId",
41944
+ gateway_id="gatewayId",
41945
+ instance_id="instanceId",
41946
+ local_gateway_id="localGatewayId",
41947
+ nat_gateway_id="natGatewayId",
41948
+ network_interface_id="networkInterfaceId",
41949
+ transit_gateway_id="transitGatewayId",
41950
+ vpc_endpoint_id="vpcEndpointId",
41951
+ vpc_peering_connection_id="vpcPeeringConnectionId"
41952
+ )
41953
+ '''
41954
+ if __debug__:
41955
+ type_hints = typing.get_type_hints(_typecheckingstub__f90e7814d59b7c562ab4b24d54461eba6a4c88fbd5451ba2b2b0adf8441a452e)
41956
+ check_type(argname="argument route_table_id", value=route_table_id, expected_type=type_hints["route_table_id"])
41957
+ check_type(argname="argument carrier_gateway_id", value=carrier_gateway_id, expected_type=type_hints["carrier_gateway_id"])
41958
+ check_type(argname="argument core_network_arn", value=core_network_arn, expected_type=type_hints["core_network_arn"])
41959
+ check_type(argname="argument destination_cidr_block", value=destination_cidr_block, expected_type=type_hints["destination_cidr_block"])
41960
+ check_type(argname="argument destination_ipv6_cidr_block", value=destination_ipv6_cidr_block, expected_type=type_hints["destination_ipv6_cidr_block"])
41961
+ check_type(argname="argument destination_prefix_list_id", value=destination_prefix_list_id, expected_type=type_hints["destination_prefix_list_id"])
41962
+ check_type(argname="argument egress_only_internet_gateway_id", value=egress_only_internet_gateway_id, expected_type=type_hints["egress_only_internet_gateway_id"])
41963
+ check_type(argname="argument gateway_id", value=gateway_id, expected_type=type_hints["gateway_id"])
41964
+ check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
41965
+ check_type(argname="argument local_gateway_id", value=local_gateway_id, expected_type=type_hints["local_gateway_id"])
41966
+ check_type(argname="argument nat_gateway_id", value=nat_gateway_id, expected_type=type_hints["nat_gateway_id"])
41967
+ check_type(argname="argument network_interface_id", value=network_interface_id, expected_type=type_hints["network_interface_id"])
41968
+ check_type(argname="argument transit_gateway_id", value=transit_gateway_id, expected_type=type_hints["transit_gateway_id"])
41969
+ check_type(argname="argument vpc_endpoint_id", value=vpc_endpoint_id, expected_type=type_hints["vpc_endpoint_id"])
41970
+ check_type(argname="argument vpc_peering_connection_id", value=vpc_peering_connection_id, expected_type=type_hints["vpc_peering_connection_id"])
41971
+ self._values: typing.Dict[builtins.str, typing.Any] = {
41972
+ "route_table_id": route_table_id,
41973
+ }
41974
+ if carrier_gateway_id is not None:
41975
+ self._values["carrier_gateway_id"] = carrier_gateway_id
41976
+ if core_network_arn is not None:
41977
+ self._values["core_network_arn"] = core_network_arn
41978
+ if destination_cidr_block is not None:
41979
+ self._values["destination_cidr_block"] = destination_cidr_block
41980
+ if destination_ipv6_cidr_block is not None:
41981
+ self._values["destination_ipv6_cidr_block"] = destination_ipv6_cidr_block
41982
+ if destination_prefix_list_id is not None:
41983
+ self._values["destination_prefix_list_id"] = destination_prefix_list_id
41984
+ if egress_only_internet_gateway_id is not None:
41985
+ self._values["egress_only_internet_gateway_id"] = egress_only_internet_gateway_id
41986
+ if gateway_id is not None:
41987
+ self._values["gateway_id"] = gateway_id
41988
+ if instance_id is not None:
41989
+ self._values["instance_id"] = instance_id
41990
+ if local_gateway_id is not None:
41991
+ self._values["local_gateway_id"] = local_gateway_id
41992
+ if nat_gateway_id is not None:
41993
+ self._values["nat_gateway_id"] = nat_gateway_id
41994
+ if network_interface_id is not None:
41995
+ self._values["network_interface_id"] = network_interface_id
41996
+ if transit_gateway_id is not None:
41997
+ self._values["transit_gateway_id"] = transit_gateway_id
41998
+ if vpc_endpoint_id is not None:
41999
+ self._values["vpc_endpoint_id"] = vpc_endpoint_id
42000
+ if vpc_peering_connection_id is not None:
42001
+ self._values["vpc_peering_connection_id"] = vpc_peering_connection_id
42002
+
42003
+ @builtins.property
42004
+ def route_table_id(self) -> builtins.str:
42005
+ '''The ID of the route table for the route.
42006
+
42007
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-routetableid
42008
+ '''
42009
+ result = self._values.get("route_table_id")
42010
+ assert result is not None, "Required property 'route_table_id' is missing"
42011
+ return typing.cast(builtins.str, result)
42012
+
42013
+ @builtins.property
42014
+ def carrier_gateway_id(self) -> typing.Optional[builtins.str]:
42015
+ '''The ID of the carrier gateway.
42016
+
42017
+ You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
42018
+
42019
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid
42020
+ '''
42021
+ result = self._values.get("carrier_gateway_id")
42022
+ return typing.cast(typing.Optional[builtins.str], result)
42023
+
42024
+ @builtins.property
42025
+ def core_network_arn(self) -> typing.Optional[builtins.str]:
42026
+ '''The Amazon Resource Name (ARN) of the core network.
42027
+
42028
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-corenetworkarn
42029
+ '''
42030
+ result = self._values.get("core_network_arn")
42031
+ return typing.cast(typing.Optional[builtins.str], result)
42032
+
42033
+ @builtins.property
42034
+ def destination_cidr_block(self) -> typing.Optional[builtins.str]:
42035
+ '''The IPv4 CIDR address block used for the destination match.
42036
+
42037
+ Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
42038
+
42039
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock
42040
+ '''
42041
+ result = self._values.get("destination_cidr_block")
42042
+ return typing.cast(typing.Optional[builtins.str], result)
42043
+
42044
+ @builtins.property
42045
+ def destination_ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
42046
+ '''The IPv6 CIDR block used for the destination match.
42047
+
42048
+ Routing decisions are based on the most specific match.
42049
+
42050
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock
42051
+ '''
42052
+ result = self._values.get("destination_ipv6_cidr_block")
42053
+ return typing.cast(typing.Optional[builtins.str], result)
42054
+
42055
+ @builtins.property
42056
+ def destination_prefix_list_id(self) -> typing.Optional[builtins.str]:
42057
+ '''The ID of a prefix list used for the destination match.
42058
+
42059
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationprefixlistid
42060
+ '''
42061
+ result = self._values.get("destination_prefix_list_id")
42062
+ return typing.cast(typing.Optional[builtins.str], result)
42063
+
42064
+ @builtins.property
42065
+ def egress_only_internet_gateway_id(self) -> typing.Optional[builtins.str]:
42066
+ '''[IPv6 traffic only] The ID of an egress-only internet gateway.
42067
+
42068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid
42069
+ '''
42070
+ result = self._values.get("egress_only_internet_gateway_id")
42071
+ return typing.cast(typing.Optional[builtins.str], result)
42072
+
42073
+ @builtins.property
42074
+ def gateway_id(self) -> typing.Optional[builtins.str]:
42075
+ '''The ID of an internet gateway or virtual private gateway attached to your VPC.
42076
+
42077
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-gatewayid
42078
+ '''
42079
+ result = self._values.get("gateway_id")
42080
+ return typing.cast(typing.Optional[builtins.str], result)
42081
+
42082
+ @builtins.property
42083
+ def instance_id(self) -> typing.Optional[builtins.str]:
42084
+ '''The ID of a NAT instance in your VPC.
42085
+
42086
+ The operation fails if you specify an instance ID unless exactly one network interface is attached.
42087
+
42088
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid
42089
+ '''
42090
+ result = self._values.get("instance_id")
42091
+ return typing.cast(typing.Optional[builtins.str], result)
42092
+
42093
+ @builtins.property
42094
+ def local_gateway_id(self) -> typing.Optional[builtins.str]:
42095
+ '''The ID of the local gateway.
42096
+
42097
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-localgatewayid
42098
+ '''
42099
+ result = self._values.get("local_gateway_id")
42100
+ return typing.cast(typing.Optional[builtins.str], result)
42101
+
42102
+ @builtins.property
42103
+ def nat_gateway_id(self) -> typing.Optional[builtins.str]:
42104
+ '''[IPv4 traffic only] The ID of a NAT gateway.
42105
+
42106
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid
42107
+ '''
42108
+ result = self._values.get("nat_gateway_id")
42109
+ return typing.cast(typing.Optional[builtins.str], result)
42110
+
42111
+ @builtins.property
42112
+ def network_interface_id(self) -> typing.Optional[builtins.str]:
42113
+ '''The ID of a network interface.
42114
+
42115
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-networkinterfaceid
42116
+ '''
42117
+ result = self._values.get("network_interface_id")
42118
+ return typing.cast(typing.Optional[builtins.str], result)
42119
+
42120
+ @builtins.property
42121
+ def transit_gateway_id(self) -> typing.Optional[builtins.str]:
42122
+ '''The ID of a transit gateway.
42123
+
42124
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid
42125
+ '''
42126
+ result = self._values.get("transit_gateway_id")
42127
+ return typing.cast(typing.Optional[builtins.str], result)
42128
+
42129
+ @builtins.property
42130
+ def vpc_endpoint_id(self) -> typing.Optional[builtins.str]:
42131
+ '''The ID of a VPC endpoint.
42132
+
42133
+ Supported for Gateway Load Balancer endpoints only.
42134
+
42135
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcendpointid
42136
+ '''
42137
+ result = self._values.get("vpc_endpoint_id")
42138
+ return typing.cast(typing.Optional[builtins.str], result)
42139
+
42140
+ @builtins.property
42141
+ def vpc_peering_connection_id(self) -> typing.Optional[builtins.str]:
42142
+ '''The ID of a VPC peering connection.
42143
+
42144
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid
42145
+ '''
42146
+ result = self._values.get("vpc_peering_connection_id")
42147
+ return typing.cast(typing.Optional[builtins.str], result)
42148
+
42149
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
42150
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
42151
+
42152
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
42153
+ return not (rhs == self)
42154
+
42155
+ def __repr__(self) -> str:
42156
+ return "CfnRouteProps(%s)" % ", ".join(
42157
+ k + "=" + repr(v) for k, v in self._values.items()
42158
+ )
42159
+
42160
+
42161
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
42162
+ class CfnRouteServer(
42163
+ _CfnResource_9df397a6,
42164
+ metaclass=jsii.JSIIMeta,
42165
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServer",
42166
+ ):
42167
+ '''VPC Route Server.
42168
+
42169
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html
42170
+ :cloudformationResource: AWS::EC2::RouteServer
42171
+ :exampleMetadata: fixture=_generated
42172
+
42173
+ Example::
42174
+
42175
+ # The code below shows an example of how to instantiate this type.
42176
+ # The values are placeholders you should change.
42177
+ from aws_cdk import aws_ec2 as ec2
42178
+
42179
+ cfn_route_server = ec2.CfnRouteServer(self, "MyCfnRouteServer",
42180
+ amazon_side_asn=123,
42181
+
42182
+ # the properties below are optional
42183
+ persist_routes="persistRoutes",
42184
+ persist_routes_duration=123,
42185
+ sns_notifications_enabled=False,
42186
+ tags=[CfnTag(
42187
+ key="key",
42188
+ value="value"
42189
+ )]
42190
+ )
42191
+ '''
42192
+
42193
+ def __init__(
42194
+ self,
42195
+ scope: _constructs_77d1e7e8.Construct,
42196
+ id: builtins.str,
42197
+ *,
42198
+ amazon_side_asn: jsii.Number,
42199
+ persist_routes: typing.Optional[builtins.str] = None,
42200
+ persist_routes_duration: typing.Optional[jsii.Number] = None,
42201
+ sns_notifications_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
42202
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42203
+ ) -> None:
42204
+ '''
42205
+ :param scope: Scope in which this resource is defined.
42206
+ :param id: Construct identifier for this resource (unique in its scope).
42207
+ :param amazon_side_asn: The Amazon-side ASN of the Route Server.
42208
+ :param persist_routes: Whether to enable persistent routes.
42209
+ :param persist_routes_duration: The duration of persistent routes in minutes.
42210
+ :param sns_notifications_enabled: Whether to enable SNS notifications.
42211
+ :param tags: An array of key-value pairs to apply to this resource.
42212
+ '''
42213
+ if __debug__:
42214
+ type_hints = typing.get_type_hints(_typecheckingstub__e744a2467360e6327da0cb79726e11e01d594dbeec11f2982a422bcb176447d5)
42215
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
42216
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
42217
+ props = CfnRouteServerProps(
42218
+ amazon_side_asn=amazon_side_asn,
42219
+ persist_routes=persist_routes,
42220
+ persist_routes_duration=persist_routes_duration,
42221
+ sns_notifications_enabled=sns_notifications_enabled,
42222
+ tags=tags,
42223
+ )
42224
+
42225
+ jsii.create(self.__class__, self, [scope, id, props])
42226
+
42227
+ @jsii.member(jsii_name="inspect")
42228
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
42229
+ '''Examines the CloudFormation resource and discloses attributes.
42230
+
42231
+ :param inspector: tree inspector to collect and process attributes.
42232
+ '''
42233
+ if __debug__:
42234
+ type_hints = typing.get_type_hints(_typecheckingstub__3d4e9ce25bdead6fc034e09d4bd133ca6d8a9bdb28edabd76818abeb5861c650)
42235
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
42236
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
42237
+
42238
+ @jsii.member(jsii_name="renderProperties")
42239
+ def _render_properties(
42240
+ self,
42241
+ props: typing.Mapping[builtins.str, typing.Any],
42242
+ ) -> typing.Mapping[builtins.str, typing.Any]:
42243
+ '''
42244
+ :param props: -
42245
+ '''
42246
+ if __debug__:
42247
+ type_hints = typing.get_type_hints(_typecheckingstub__e93eb022fd962b1a573488d55ae2a6f533460dcd1478ae568a1ca2cbaec1166c)
42248
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
42249
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
42250
+
42251
+ @jsii.python.classproperty
42252
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
42253
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
42254
+ '''The CloudFormation resource type name for this resource class.'''
42255
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
42256
+
42257
+ @builtins.property
42258
+ @jsii.member(jsii_name="attrArn")
42259
+ def attr_arn(self) -> builtins.str:
42260
+ '''The Amazon Resource Name (ARN) of the Route Server.
42261
+
42262
+ :cloudformationAttribute: Arn
42263
+ '''
42264
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
42265
+
42266
+ @builtins.property
42267
+ @jsii.member(jsii_name="attrId")
42268
+ def attr_id(self) -> builtins.str:
42269
+ '''The ID of the Route Server.
42270
+
42271
+ :cloudformationAttribute: Id
42272
+ '''
42273
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
42274
+
42275
+ @builtins.property
42276
+ @jsii.member(jsii_name="cdkTagManager")
42277
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
42278
+ '''Tag Manager which manages the tags for this resource.'''
42279
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
42280
+
42281
+ @builtins.property
42282
+ @jsii.member(jsii_name="cfnProperties")
42283
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
42284
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
42285
+
42286
+ @builtins.property
42287
+ @jsii.member(jsii_name="amazonSideAsn")
42288
+ def amazon_side_asn(self) -> jsii.Number:
42289
+ '''The Amazon-side ASN of the Route Server.'''
42290
+ return typing.cast(jsii.Number, jsii.get(self, "amazonSideAsn"))
42291
+
42292
+ @amazon_side_asn.setter
42293
+ def amazon_side_asn(self, value: jsii.Number) -> None:
42294
+ if __debug__:
42295
+ type_hints = typing.get_type_hints(_typecheckingstub__e13de778bf88a0d2426e3072806feaf234141e06da104df8828fa31858466ede)
42296
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42297
+ jsii.set(self, "amazonSideAsn", value) # pyright: ignore[reportArgumentType]
42298
+
42299
+ @builtins.property
42300
+ @jsii.member(jsii_name="persistRoutes")
42301
+ def persist_routes(self) -> typing.Optional[builtins.str]:
42302
+ '''Whether to enable persistent routes.'''
42303
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "persistRoutes"))
42304
+
42305
+ @persist_routes.setter
42306
+ def persist_routes(self, value: typing.Optional[builtins.str]) -> None:
42307
+ if __debug__:
42308
+ type_hints = typing.get_type_hints(_typecheckingstub__4a44997a1e32efb135940b74f2a929e8036d94d6404f4bf5512259c997ca5c9e)
42309
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42310
+ jsii.set(self, "persistRoutes", value) # pyright: ignore[reportArgumentType]
42311
+
42312
+ @builtins.property
42313
+ @jsii.member(jsii_name="persistRoutesDuration")
42314
+ def persist_routes_duration(self) -> typing.Optional[jsii.Number]:
42315
+ '''The duration of persistent routes in minutes.'''
42316
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "persistRoutesDuration"))
42317
+
42318
+ @persist_routes_duration.setter
42319
+ def persist_routes_duration(self, value: typing.Optional[jsii.Number]) -> None:
42320
+ if __debug__:
42321
+ type_hints = typing.get_type_hints(_typecheckingstub__b356730d4d3fb48506651734b873006a73e7e68636b664817f9430f6064743e2)
42322
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42323
+ jsii.set(self, "persistRoutesDuration", value) # pyright: ignore[reportArgumentType]
42324
+
42325
+ @builtins.property
42326
+ @jsii.member(jsii_name="snsNotificationsEnabled")
42327
+ def sns_notifications_enabled(
42328
+ self,
42329
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
42330
+ '''Whether to enable SNS notifications.'''
42331
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "snsNotificationsEnabled"))
42332
+
42333
+ @sns_notifications_enabled.setter
42334
+ def sns_notifications_enabled(
42335
+ self,
42336
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
42337
+ ) -> None:
42338
+ if __debug__:
42339
+ type_hints = typing.get_type_hints(_typecheckingstub__3fb35650e2c20c86ca3846527e1fbe136cb8034d9a94e7934e14e7c78eddeadb)
42340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42341
+ jsii.set(self, "snsNotificationsEnabled", value) # pyright: ignore[reportArgumentType]
42342
+
42343
+ @builtins.property
42344
+ @jsii.member(jsii_name="tags")
42345
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
42346
+ '''An array of key-value pairs to apply to this resource.'''
42347
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
42348
+
42349
+ @tags.setter
42350
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
42351
+ if __debug__:
42352
+ type_hints = typing.get_type_hints(_typecheckingstub__2d586f2ad9d0305ceb1f3ece538490d14e9c96aeb12e951e59be8899a1412ea4)
42353
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42354
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
42355
+
42356
+
42357
+ @jsii.implements(_IInspectable_c2943556)
42358
+ class CfnRouteServerAssociation(
42359
+ _CfnResource_9df397a6,
42360
+ metaclass=jsii.JSIIMeta,
42361
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerAssociation",
42362
+ ):
42363
+ '''VPC Route Server Association.
42364
+
42365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html
42366
+ :cloudformationResource: AWS::EC2::RouteServerAssociation
42367
+ :exampleMetadata: fixture=_generated
42368
+
42369
+ Example::
42370
+
42371
+ # The code below shows an example of how to instantiate this type.
42372
+ # The values are placeholders you should change.
42373
+ from aws_cdk import aws_ec2 as ec2
42374
+
42375
+ cfn_route_server_association = ec2.CfnRouteServerAssociation(self, "MyCfnRouteServerAssociation",
42376
+ route_server_id="routeServerId",
42377
+ vpc_id="vpcId"
42378
+ )
42379
+ '''
42380
+
42381
+ def __init__(
42382
+ self,
42383
+ scope: _constructs_77d1e7e8.Construct,
42384
+ id: builtins.str,
42385
+ *,
42386
+ route_server_id: builtins.str,
42387
+ vpc_id: builtins.str,
42388
+ ) -> None:
42389
+ '''
42390
+ :param scope: Scope in which this resource is defined.
42391
+ :param id: Construct identifier for this resource (unique in its scope).
42392
+ :param route_server_id: Route Server ID.
42393
+ :param vpc_id: VPC ID.
42394
+ '''
42395
+ if __debug__:
42396
+ type_hints = typing.get_type_hints(_typecheckingstub__3e6189f73b644788c8019b72b4d8a2aa6c79c4d018333b9c657eba49644b2680)
42397
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
42398
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
42399
+ props = CfnRouteServerAssociationProps(
42400
+ route_server_id=route_server_id, vpc_id=vpc_id
42401
+ )
42402
+
42403
+ jsii.create(self.__class__, self, [scope, id, props])
42404
+
42405
+ @jsii.member(jsii_name="inspect")
42406
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
42407
+ '''Examines the CloudFormation resource and discloses attributes.
42408
+
42409
+ :param inspector: tree inspector to collect and process attributes.
42410
+ '''
42411
+ if __debug__:
42412
+ type_hints = typing.get_type_hints(_typecheckingstub__6b36f7b91f0c35572aea114010d9abe5eb6819cc14bf7a83fd8eaae89d84c513)
42413
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
42414
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
42415
+
42416
+ @jsii.member(jsii_name="renderProperties")
42417
+ def _render_properties(
42418
+ self,
42419
+ props: typing.Mapping[builtins.str, typing.Any],
42420
+ ) -> typing.Mapping[builtins.str, typing.Any]:
42421
+ '''
42422
+ :param props: -
42423
+ '''
42424
+ if __debug__:
42425
+ type_hints = typing.get_type_hints(_typecheckingstub__2061cfa69aa80401640d0ebfc6ecb03d4710d83371735dfda34e6b1a112f4b61)
42426
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
42427
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
42428
+
42429
+ @jsii.python.classproperty
42430
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
42431
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
42432
+ '''The CloudFormation resource type name for this resource class.'''
42433
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
42434
+
42435
+ @builtins.property
42436
+ @jsii.member(jsii_name="cfnProperties")
42437
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
42438
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
42439
+
42440
+ @builtins.property
42441
+ @jsii.member(jsii_name="routeServerId")
42442
+ def route_server_id(self) -> builtins.str:
42443
+ '''Route Server ID.'''
42444
+ return typing.cast(builtins.str, jsii.get(self, "routeServerId"))
42445
+
42446
+ @route_server_id.setter
42447
+ def route_server_id(self, value: builtins.str) -> None:
42448
+ if __debug__:
42449
+ type_hints = typing.get_type_hints(_typecheckingstub__a30a1dfa1b5b5a2238f1ea3896d581c69df96b4fc842c1511df6b0d0d8bfc0a5)
42450
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42451
+ jsii.set(self, "routeServerId", value) # pyright: ignore[reportArgumentType]
42452
+
42453
+ @builtins.property
42454
+ @jsii.member(jsii_name="vpcId")
42455
+ def vpc_id(self) -> builtins.str:
42456
+ '''VPC ID.'''
42457
+ return typing.cast(builtins.str, jsii.get(self, "vpcId"))
42458
+
42459
+ @vpc_id.setter
42460
+ def vpc_id(self, value: builtins.str) -> None:
42461
+ if __debug__:
42462
+ type_hints = typing.get_type_hints(_typecheckingstub__b5c4a6f8b540144e4bab65f284f718719b1d99a890e26010fe631a8f9b8d6c09)
42463
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42464
+ jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
42465
+
42466
+
42467
+ @jsii.data_type(
42468
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerAssociationProps",
42469
+ jsii_struct_bases=[],
42470
+ name_mapping={"route_server_id": "routeServerId", "vpc_id": "vpcId"},
42471
+ )
42472
+ class CfnRouteServerAssociationProps:
42473
+ def __init__(self, *, route_server_id: builtins.str, vpc_id: builtins.str) -> None:
42474
+ '''Properties for defining a ``CfnRouteServerAssociation``.
42475
+
42476
+ :param route_server_id: Route Server ID.
42477
+ :param vpc_id: VPC ID.
42478
+
42479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html
42480
+ :exampleMetadata: fixture=_generated
42481
+
42482
+ Example::
42483
+
42484
+ # The code below shows an example of how to instantiate this type.
42485
+ # The values are placeholders you should change.
42486
+ from aws_cdk import aws_ec2 as ec2
42487
+
42488
+ cfn_route_server_association_props = ec2.CfnRouteServerAssociationProps(
42489
+ route_server_id="routeServerId",
42490
+ vpc_id="vpcId"
42491
+ )
42492
+ '''
42493
+ if __debug__:
42494
+ type_hints = typing.get_type_hints(_typecheckingstub__486c86fa481692f6a9be14621c56393d4598ea52756029970e390e215a9f4e41)
42495
+ check_type(argname="argument route_server_id", value=route_server_id, expected_type=type_hints["route_server_id"])
42496
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
42497
+ self._values: typing.Dict[builtins.str, typing.Any] = {
42498
+ "route_server_id": route_server_id,
42499
+ "vpc_id": vpc_id,
42500
+ }
42501
+
42502
+ @builtins.property
42503
+ def route_server_id(self) -> builtins.str:
42504
+ '''Route Server ID.
42505
+
42506
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html#cfn-ec2-routeserverassociation-routeserverid
42507
+ '''
42508
+ result = self._values.get("route_server_id")
42509
+ assert result is not None, "Required property 'route_server_id' is missing"
42510
+ return typing.cast(builtins.str, result)
42511
+
42512
+ @builtins.property
42513
+ def vpc_id(self) -> builtins.str:
42514
+ '''VPC ID.
42515
+
42516
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html#cfn-ec2-routeserverassociation-vpcid
42517
+ '''
42518
+ result = self._values.get("vpc_id")
42519
+ assert result is not None, "Required property 'vpc_id' is missing"
42520
+ return typing.cast(builtins.str, result)
42521
+
42522
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
42523
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
42524
+
42525
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
42526
+ return not (rhs == self)
42527
+
42528
+ def __repr__(self) -> str:
42529
+ return "CfnRouteServerAssociationProps(%s)" % ", ".join(
42530
+ k + "=" + repr(v) for k, v in self._values.items()
42531
+ )
42532
+
42533
+
42534
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
42535
+ class CfnRouteServerEndpoint(
42536
+ _CfnResource_9df397a6,
42537
+ metaclass=jsii.JSIIMeta,
42538
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerEndpoint",
42539
+ ):
42540
+ '''VPC Route Server Endpoint.
42541
+
42542
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html
42543
+ :cloudformationResource: AWS::EC2::RouteServerEndpoint
42544
+ :exampleMetadata: fixture=_generated
42545
+
42546
+ Example::
42547
+
42548
+ # The code below shows an example of how to instantiate this type.
42549
+ # The values are placeholders you should change.
42550
+ from aws_cdk import aws_ec2 as ec2
42551
+
42552
+ cfn_route_server_endpoint = ec2.CfnRouteServerEndpoint(self, "MyCfnRouteServerEndpoint",
42553
+ route_server_id="routeServerId",
42554
+ subnet_id="subnetId",
42555
+
42556
+ # the properties below are optional
42557
+ tags=[CfnTag(
42558
+ key="key",
42559
+ value="value"
42560
+ )]
42561
+ )
42562
+ '''
42563
+
42564
+ def __init__(
42565
+ self,
42566
+ scope: _constructs_77d1e7e8.Construct,
42567
+ id: builtins.str,
42568
+ *,
42569
+ route_server_id: builtins.str,
42570
+ subnet_id: builtins.str,
42571
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42572
+ ) -> None:
42573
+ '''
42574
+ :param scope: Scope in which this resource is defined.
42575
+ :param id: Construct identifier for this resource (unique in its scope).
42576
+ :param route_server_id: Route Server ID.
42577
+ :param subnet_id: Subnet ID.
42578
+ :param tags: An array of key-value pairs to apply to this resource.
42579
+ '''
42580
+ if __debug__:
42581
+ type_hints = typing.get_type_hints(_typecheckingstub__bc6285d87d5119c3a92dc59ed8148d7d11adb84676a3fb4a32f638fcab96de86)
42582
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
42583
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
42584
+ props = CfnRouteServerEndpointProps(
42585
+ route_server_id=route_server_id, subnet_id=subnet_id, tags=tags
42586
+ )
42587
+
42588
+ jsii.create(self.__class__, self, [scope, id, props])
42589
+
42590
+ @jsii.member(jsii_name="inspect")
42591
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
42592
+ '''Examines the CloudFormation resource and discloses attributes.
42593
+
42594
+ :param inspector: tree inspector to collect and process attributes.
42595
+ '''
42596
+ if __debug__:
42597
+ type_hints = typing.get_type_hints(_typecheckingstub__1646f051eeeb9accd22a953e4c76242751791c83c2230b011e8bf14a01edee0b)
42598
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
42599
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
42600
+
42601
+ @jsii.member(jsii_name="renderProperties")
42602
+ def _render_properties(
42603
+ self,
42604
+ props: typing.Mapping[builtins.str, typing.Any],
42605
+ ) -> typing.Mapping[builtins.str, typing.Any]:
42606
+ '''
42607
+ :param props: -
42608
+ '''
42609
+ if __debug__:
42610
+ type_hints = typing.get_type_hints(_typecheckingstub__bcffaecc222403f9f7f3c1b77c8038cdf2a159c437c841195d90470dfcd48aee)
42611
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
42612
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
42613
+
42614
+ @jsii.python.classproperty
42615
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
42616
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
42617
+ '''The CloudFormation resource type name for this resource class.'''
42618
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
42619
+
42620
+ @builtins.property
42621
+ @jsii.member(jsii_name="attrArn")
42622
+ def attr_arn(self) -> builtins.str:
42623
+ '''The Amazon Resource Name (ARN) of the Route Server Endpoint.
42624
+
42625
+ :cloudformationAttribute: Arn
42626
+ '''
42627
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
42628
+
42629
+ @builtins.property
42630
+ @jsii.member(jsii_name="attrEniAddress")
42631
+ def attr_eni_address(self) -> builtins.str:
42632
+ '''Elastic Network Interface IP address owned by the Route Server Endpoint.
42633
+
42634
+ :cloudformationAttribute: EniAddress
42635
+ '''
42636
+ return typing.cast(builtins.str, jsii.get(self, "attrEniAddress"))
42637
+
42638
+ @builtins.property
42639
+ @jsii.member(jsii_name="attrEniId")
42640
+ def attr_eni_id(self) -> builtins.str:
42641
+ '''Elastic Network Interface ID owned by the Route Server Endpoint.
42642
+
42643
+ :cloudformationAttribute: EniId
42644
+ '''
42645
+ return typing.cast(builtins.str, jsii.get(self, "attrEniId"))
42646
+
42647
+ @builtins.property
42648
+ @jsii.member(jsii_name="attrId")
42649
+ def attr_id(self) -> builtins.str:
42650
+ '''The ID of the Route Server Endpoint.
42651
+
42652
+ :cloudformationAttribute: Id
42653
+ '''
42654
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
42655
+
42656
+ @builtins.property
42657
+ @jsii.member(jsii_name="attrVpcId")
42658
+ def attr_vpc_id(self) -> builtins.str:
42659
+ '''VPC ID.
42660
+
42661
+ :cloudformationAttribute: VpcId
42662
+ '''
42663
+ return typing.cast(builtins.str, jsii.get(self, "attrVpcId"))
42664
+
42665
+ @builtins.property
42666
+ @jsii.member(jsii_name="cdkTagManager")
42667
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
42668
+ '''Tag Manager which manages the tags for this resource.'''
42669
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
42670
+
42671
+ @builtins.property
42672
+ @jsii.member(jsii_name="cfnProperties")
42673
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
42674
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
42675
+
42676
+ @builtins.property
42677
+ @jsii.member(jsii_name="routeServerId")
42678
+ def route_server_id(self) -> builtins.str:
42679
+ '''Route Server ID.'''
42680
+ return typing.cast(builtins.str, jsii.get(self, "routeServerId"))
42681
+
42682
+ @route_server_id.setter
42683
+ def route_server_id(self, value: builtins.str) -> None:
42684
+ if __debug__:
42685
+ type_hints = typing.get_type_hints(_typecheckingstub__d8293a15458c2f707e5aad3c3e7963f25efd74f21e1827293cc0d47398b11f95)
42686
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42687
+ jsii.set(self, "routeServerId", value) # pyright: ignore[reportArgumentType]
42688
+
42689
+ @builtins.property
42690
+ @jsii.member(jsii_name="subnetId")
42691
+ def subnet_id(self) -> builtins.str:
42692
+ '''Subnet ID.'''
42693
+ return typing.cast(builtins.str, jsii.get(self, "subnetId"))
42694
+
42695
+ @subnet_id.setter
42696
+ def subnet_id(self, value: builtins.str) -> None:
42697
+ if __debug__:
42698
+ type_hints = typing.get_type_hints(_typecheckingstub__eac409477ed07195dcf6725a9d25a19057a6b1c5b51f681223f2cab65c4f598a)
42699
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42700
+ jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
42701
+
42702
+ @builtins.property
42703
+ @jsii.member(jsii_name="tags")
42704
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
42705
+ '''An array of key-value pairs to apply to this resource.'''
42706
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
42707
+
42708
+ @tags.setter
42709
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
42710
+ if __debug__:
42711
+ type_hints = typing.get_type_hints(_typecheckingstub__78be2aa7fed6300c7b7b98f999bd9f022dcc25e5d7385d9c47220e274abcbc51)
42712
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42713
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
42714
+
42715
+
42716
+ @jsii.data_type(
42717
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerEndpointProps",
42718
+ jsii_struct_bases=[],
42719
+ name_mapping={
42720
+ "route_server_id": "routeServerId",
42721
+ "subnet_id": "subnetId",
42722
+ "tags": "tags",
42723
+ },
42724
+ )
42725
+ class CfnRouteServerEndpointProps:
42726
+ def __init__(
42727
+ self,
42728
+ *,
42729
+ route_server_id: builtins.str,
42730
+ subnet_id: builtins.str,
42731
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42732
+ ) -> None:
42733
+ '''Properties for defining a ``CfnRouteServerEndpoint``.
42734
+
42735
+ :param route_server_id: Route Server ID.
42736
+ :param subnet_id: Subnet ID.
42737
+ :param tags: An array of key-value pairs to apply to this resource.
42738
+
42739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html
42740
+ :exampleMetadata: fixture=_generated
42741
+
42742
+ Example::
42743
+
42744
+ # The code below shows an example of how to instantiate this type.
42745
+ # The values are placeholders you should change.
42746
+ from aws_cdk import aws_ec2 as ec2
42747
+
42748
+ cfn_route_server_endpoint_props = ec2.CfnRouteServerEndpointProps(
42749
+ route_server_id="routeServerId",
42750
+ subnet_id="subnetId",
42751
+
42752
+ # the properties below are optional
42753
+ tags=[CfnTag(
42754
+ key="key",
42755
+ value="value"
42756
+ )]
42757
+ )
42758
+ '''
42759
+ if __debug__:
42760
+ type_hints = typing.get_type_hints(_typecheckingstub__15c8f9c8c8d61903f1fbf4887a562f523716b17fed0a8b0f9948078c468b4e0d)
42761
+ check_type(argname="argument route_server_id", value=route_server_id, expected_type=type_hints["route_server_id"])
42762
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
42763
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
42764
+ self._values: typing.Dict[builtins.str, typing.Any] = {
42765
+ "route_server_id": route_server_id,
42766
+ "subnet_id": subnet_id,
42767
+ }
42768
+ if tags is not None:
42769
+ self._values["tags"] = tags
42770
+
42771
+ @builtins.property
42772
+ def route_server_id(self) -> builtins.str:
42773
+ '''Route Server ID.
42774
+
42775
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-routeserverid
42776
+ '''
42777
+ result = self._values.get("route_server_id")
42778
+ assert result is not None, "Required property 'route_server_id' is missing"
42779
+ return typing.cast(builtins.str, result)
42780
+
42781
+ @builtins.property
42782
+ def subnet_id(self) -> builtins.str:
42783
+ '''Subnet ID.
42784
+
42785
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-subnetid
42786
+ '''
42787
+ result = self._values.get("subnet_id")
42788
+ assert result is not None, "Required property 'subnet_id' is missing"
42789
+ return typing.cast(builtins.str, result)
42790
+
42791
+ @builtins.property
42792
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
42793
+ '''An array of key-value pairs to apply to this resource.
42794
+
42795
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-tags
42796
+ '''
42797
+ result = self._values.get("tags")
42798
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
42799
+
42800
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
42801
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
42802
+
42803
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
42804
+ return not (rhs == self)
42805
+
42806
+ def __repr__(self) -> str:
42807
+ return "CfnRouteServerEndpointProps(%s)" % ", ".join(
42808
+ k + "=" + repr(v) for k, v in self._values.items()
42809
+ )
42810
+
42811
+
42812
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
42813
+ class CfnRouteServerPeer(
42814
+ _CfnResource_9df397a6,
42815
+ metaclass=jsii.JSIIMeta,
42816
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerPeer",
42817
+ ):
42818
+ '''VPC Route Server Peer.
42819
+
42820
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html
42821
+ :cloudformationResource: AWS::EC2::RouteServerPeer
42822
+ :exampleMetadata: fixture=_generated
42823
+
42824
+ Example::
42825
+
42826
+ # The code below shows an example of how to instantiate this type.
42827
+ # The values are placeholders you should change.
42828
+ from aws_cdk import aws_ec2 as ec2
42829
+
42830
+ cfn_route_server_peer = ec2.CfnRouteServerPeer(self, "MyCfnRouteServerPeer",
42831
+ bgp_options=ec2.CfnRouteServerPeer.BgpOptionsProperty(
42832
+ peer_asn=123,
42833
+ peer_liveness_detection="peerLivenessDetection"
42834
+ ),
42835
+ peer_address="peerAddress",
42836
+ route_server_endpoint_id="routeServerEndpointId",
42837
+
42838
+ # the properties below are optional
42839
+ tags=[CfnTag(
42840
+ key="key",
42841
+ value="value"
42842
+ )]
42843
+ )
42844
+ '''
42845
+
42846
+ def __init__(
42847
+ self,
42848
+ scope: _constructs_77d1e7e8.Construct,
42849
+ id: builtins.str,
42850
+ *,
42851
+ bgp_options: typing.Union[_IResolvable_da3f097b, typing.Union["CfnRouteServerPeer.BgpOptionsProperty", typing.Dict[builtins.str, typing.Any]]],
42852
+ peer_address: builtins.str,
42853
+ route_server_endpoint_id: builtins.str,
42854
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42855
+ ) -> None:
42856
+ '''
42857
+ :param scope: Scope in which this resource is defined.
42858
+ :param id: Construct identifier for this resource (unique in its scope).
42859
+ :param bgp_options: BGP Options.
42860
+ :param peer_address: IP address of the Route Server Peer.
42861
+ :param route_server_endpoint_id: Route Server Endpoint ID.
42862
+ :param tags: An array of key-value pairs to apply to this resource.
42863
+ '''
42864
+ if __debug__:
42865
+ type_hints = typing.get_type_hints(_typecheckingstub__1a1790ead48cbfa3b30bad1ac0c338d415fa3cdaeb20762a23ab6b7030c2266d)
42866
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
42867
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
42868
+ props = CfnRouteServerPeerProps(
42869
+ bgp_options=bgp_options,
42870
+ peer_address=peer_address,
42871
+ route_server_endpoint_id=route_server_endpoint_id,
42872
+ tags=tags,
42873
+ )
42874
+
42875
+ jsii.create(self.__class__, self, [scope, id, props])
42876
+
42877
+ @jsii.member(jsii_name="inspect")
42878
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
42879
+ '''Examines the CloudFormation resource and discloses attributes.
42880
+
42881
+ :param inspector: tree inspector to collect and process attributes.
42882
+ '''
42883
+ if __debug__:
42884
+ type_hints = typing.get_type_hints(_typecheckingstub__f16ce6f04d507826742aed952b4ee08df1a7f5e094ef81a6b1ff59953ab6d033)
42885
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
42886
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
42887
+
42888
+ @jsii.member(jsii_name="renderProperties")
42889
+ def _render_properties(
42890
+ self,
42891
+ props: typing.Mapping[builtins.str, typing.Any],
42892
+ ) -> typing.Mapping[builtins.str, typing.Any]:
42893
+ '''
42894
+ :param props: -
42895
+ '''
42896
+ if __debug__:
42897
+ type_hints = typing.get_type_hints(_typecheckingstub__324e991216c37d43fa3e580d243adc940b2ffe28390731ba008a2993c1eeaf46)
42898
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
42899
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
42900
+
42901
+ @jsii.python.classproperty
42902
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
42903
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
42904
+ '''The CloudFormation resource type name for this resource class.'''
42905
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
42906
+
42907
+ @builtins.property
42908
+ @jsii.member(jsii_name="attrArn")
42909
+ def attr_arn(self) -> builtins.str:
42910
+ '''The Amazon Resource Name (ARN) of the Route Server Peer.
42911
+
42912
+ :cloudformationAttribute: Arn
42913
+ '''
42914
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
42915
+
42916
+ @builtins.property
42917
+ @jsii.member(jsii_name="attrEndpointEniAddress")
42918
+ def attr_endpoint_eni_address(self) -> builtins.str:
42919
+ '''Elastic Network Interface IP address owned by the Route Server Endpoint.
42920
+
42921
+ :cloudformationAttribute: EndpointEniAddress
42922
+ '''
42923
+ return typing.cast(builtins.str, jsii.get(self, "attrEndpointEniAddress"))
42924
+
42925
+ @builtins.property
42926
+ @jsii.member(jsii_name="attrEndpointEniId")
42927
+ def attr_endpoint_eni_id(self) -> builtins.str:
42928
+ '''Elastic Network Interface ID owned by the Route Server Endpoint.
42929
+
42930
+ :cloudformationAttribute: EndpointEniId
42931
+ '''
42932
+ return typing.cast(builtins.str, jsii.get(self, "attrEndpointEniId"))
42933
+
42934
+ @builtins.property
42935
+ @jsii.member(jsii_name="attrId")
42936
+ def attr_id(self) -> builtins.str:
42937
+ '''The ID of the Route Server Peer.
42938
+
42939
+ :cloudformationAttribute: Id
42940
+ '''
42941
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
42942
+
42943
+ @builtins.property
42944
+ @jsii.member(jsii_name="attrRouteServerId")
42945
+ def attr_route_server_id(self) -> builtins.str:
42946
+ '''Route Server ID.
42947
+
42948
+ :cloudformationAttribute: RouteServerId
42949
+ '''
42950
+ return typing.cast(builtins.str, jsii.get(self, "attrRouteServerId"))
42951
+
42952
+ @builtins.property
42953
+ @jsii.member(jsii_name="attrSubnetId")
42954
+ def attr_subnet_id(self) -> builtins.str:
42955
+ '''Subnet ID.
42956
+
42957
+ :cloudformationAttribute: SubnetId
42958
+ '''
42959
+ return typing.cast(builtins.str, jsii.get(self, "attrSubnetId"))
42960
+
42961
+ @builtins.property
42962
+ @jsii.member(jsii_name="attrVpcId")
42963
+ def attr_vpc_id(self) -> builtins.str:
42964
+ '''VPC ID.
42965
+
42966
+ :cloudformationAttribute: VpcId
42967
+ '''
42968
+ return typing.cast(builtins.str, jsii.get(self, "attrVpcId"))
42969
+
42970
+ @builtins.property
42971
+ @jsii.member(jsii_name="cdkTagManager")
42972
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
42973
+ '''Tag Manager which manages the tags for this resource.'''
42974
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
42975
+
42976
+ @builtins.property
42977
+ @jsii.member(jsii_name="cfnProperties")
42978
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
42979
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
42980
+
42981
+ @builtins.property
42982
+ @jsii.member(jsii_name="bgpOptions")
42983
+ def bgp_options(
42984
+ self,
42985
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnRouteServerPeer.BgpOptionsProperty"]:
42986
+ '''BGP Options.'''
42987
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnRouteServerPeer.BgpOptionsProperty"], jsii.get(self, "bgpOptions"))
42988
+
42989
+ @bgp_options.setter
42990
+ def bgp_options(
42991
+ self,
42992
+ value: typing.Union[_IResolvable_da3f097b, "CfnRouteServerPeer.BgpOptionsProperty"],
42993
+ ) -> None:
42994
+ if __debug__:
42995
+ type_hints = typing.get_type_hints(_typecheckingstub__14edeb8cd14c52bec2920709e09f35b87f1095d4eeb9788f5ace78bf28861ba3)
42996
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
42997
+ jsii.set(self, "bgpOptions", value) # pyright: ignore[reportArgumentType]
42998
+
42999
+ @builtins.property
43000
+ @jsii.member(jsii_name="peerAddress")
43001
+ def peer_address(self) -> builtins.str:
43002
+ '''IP address of the Route Server Peer.'''
43003
+ return typing.cast(builtins.str, jsii.get(self, "peerAddress"))
43004
+
43005
+ @peer_address.setter
43006
+ def peer_address(self, value: builtins.str) -> None:
43007
+ if __debug__:
43008
+ type_hints = typing.get_type_hints(_typecheckingstub__963224c073f81d69053b59f68248587a5cf06a83a818d216b7f2539be11c5eac)
43009
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
43010
+ jsii.set(self, "peerAddress", value) # pyright: ignore[reportArgumentType]
43011
+
43012
+ @builtins.property
43013
+ @jsii.member(jsii_name="routeServerEndpointId")
43014
+ def route_server_endpoint_id(self) -> builtins.str:
43015
+ '''Route Server Endpoint ID.'''
43016
+ return typing.cast(builtins.str, jsii.get(self, "routeServerEndpointId"))
43017
+
43018
+ @route_server_endpoint_id.setter
43019
+ def route_server_endpoint_id(self, value: builtins.str) -> None:
43020
+ if __debug__:
43021
+ type_hints = typing.get_type_hints(_typecheckingstub__db34b963306745d8d939b30678b68f972ef95f5f538d76ceb677355955f800be)
43022
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
43023
+ jsii.set(self, "routeServerEndpointId", value) # pyright: ignore[reportArgumentType]
43024
+
43025
+ @builtins.property
43026
+ @jsii.member(jsii_name="tags")
43027
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
43028
+ '''An array of key-value pairs to apply to this resource.'''
43029
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
43030
+
43031
+ @tags.setter
43032
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
43033
+ if __debug__:
43034
+ type_hints = typing.get_type_hints(_typecheckingstub__405a1707b0a270b215856d8cb1642bed0f93815e2b9a8382ed83b8f481a652c5)
43035
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
43036
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
43037
+
43038
+ @jsii.data_type(
43039
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerPeer.BgpOptionsProperty",
43040
+ jsii_struct_bases=[],
43041
+ name_mapping={
43042
+ "peer_asn": "peerAsn",
43043
+ "peer_liveness_detection": "peerLivenessDetection",
43044
+ },
43045
+ )
43046
+ class BgpOptionsProperty:
43047
+ def __init__(
43048
+ self,
43049
+ *,
43050
+ peer_asn: typing.Optional[jsii.Number] = None,
43051
+ peer_liveness_detection: typing.Optional[builtins.str] = None,
43052
+ ) -> None:
43053
+ '''BGP Options.
43054
+
43055
+ :param peer_asn: BGP ASN of the Route Server Peer.
43056
+ :param peer_liveness_detection: BGP Liveness Detection.
43057
+
43058
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html
43059
+ :exampleMetadata: fixture=_generated
43060
+
43061
+ Example::
43062
+
43063
+ # The code below shows an example of how to instantiate this type.
43064
+ # The values are placeholders you should change.
43065
+ from aws_cdk import aws_ec2 as ec2
43066
+
43067
+ bgp_options_property = ec2.CfnRouteServerPeer.BgpOptionsProperty(
43068
+ peer_asn=123,
43069
+ peer_liveness_detection="peerLivenessDetection"
43070
+ )
43071
+ '''
43072
+ if __debug__:
43073
+ type_hints = typing.get_type_hints(_typecheckingstub__d3762043f4004483da78ddbfb131e0b34dfcfe25c8154498f0b6c91bfe10ef28)
43074
+ check_type(argname="argument peer_asn", value=peer_asn, expected_type=type_hints["peer_asn"])
43075
+ check_type(argname="argument peer_liveness_detection", value=peer_liveness_detection, expected_type=type_hints["peer_liveness_detection"])
43076
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
43077
+ if peer_asn is not None:
43078
+ self._values["peer_asn"] = peer_asn
43079
+ if peer_liveness_detection is not None:
43080
+ self._values["peer_liveness_detection"] = peer_liveness_detection
43081
+
43082
+ @builtins.property
43083
+ def peer_asn(self) -> typing.Optional[jsii.Number]:
43084
+ '''BGP ASN of the Route Server Peer.
43085
+
43086
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html#cfn-ec2-routeserverpeer-bgpoptions-peerasn
43087
+ '''
43088
+ result = self._values.get("peer_asn")
43089
+ return typing.cast(typing.Optional[jsii.Number], result)
43090
+
43091
+ @builtins.property
43092
+ def peer_liveness_detection(self) -> typing.Optional[builtins.str]:
43093
+ '''BGP Liveness Detection.
43094
+
43095
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html#cfn-ec2-routeserverpeer-bgpoptions-peerlivenessdetection
43096
+ '''
43097
+ result = self._values.get("peer_liveness_detection")
43098
+ return typing.cast(typing.Optional[builtins.str], result)
43099
+
43100
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
43101
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
43102
+
43103
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
43104
+ return not (rhs == self)
43105
+
43106
+ def __repr__(self) -> str:
43107
+ return "BgpOptionsProperty(%s)" % ", ".join(
43108
+ k + "=" + repr(v) for k, v in self._values.items()
43109
+ )
43110
+
43111
+
43112
+ @jsii.data_type(
43113
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerPeerProps",
43114
+ jsii_struct_bases=[],
43115
+ name_mapping={
43116
+ "bgp_options": "bgpOptions",
43117
+ "peer_address": "peerAddress",
43118
+ "route_server_endpoint_id": "routeServerEndpointId",
43119
+ "tags": "tags",
43120
+ },
43121
+ )
43122
+ class CfnRouteServerPeerProps:
43123
+ def __init__(
43124
+ self,
43125
+ *,
43126
+ bgp_options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRouteServerPeer.BgpOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
43127
+ peer_address: builtins.str,
43128
+ route_server_endpoint_id: builtins.str,
43129
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
43130
+ ) -> None:
43131
+ '''Properties for defining a ``CfnRouteServerPeer``.
43132
+
43133
+ :param bgp_options: BGP Options.
43134
+ :param peer_address: IP address of the Route Server Peer.
43135
+ :param route_server_endpoint_id: Route Server Endpoint ID.
43136
+ :param tags: An array of key-value pairs to apply to this resource.
43137
+
43138
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html
43139
+ :exampleMetadata: fixture=_generated
43140
+
43141
+ Example::
43142
+
43143
+ # The code below shows an example of how to instantiate this type.
43144
+ # The values are placeholders you should change.
43145
+ from aws_cdk import aws_ec2 as ec2
43146
+
43147
+ cfn_route_server_peer_props = ec2.CfnRouteServerPeerProps(
43148
+ bgp_options=ec2.CfnRouteServerPeer.BgpOptionsProperty(
43149
+ peer_asn=123,
43150
+ peer_liveness_detection="peerLivenessDetection"
43151
+ ),
43152
+ peer_address="peerAddress",
43153
+ route_server_endpoint_id="routeServerEndpointId",
43154
+
43155
+ # the properties below are optional
43156
+ tags=[CfnTag(
43157
+ key="key",
43158
+ value="value"
43159
+ )]
43160
+ )
43161
+ '''
43162
+ if __debug__:
43163
+ type_hints = typing.get_type_hints(_typecheckingstub__41ecfe37cb908f7a1db9eac7ef3a64c49c0ee3fdade6d6c294d52f6341d911e3)
43164
+ check_type(argname="argument bgp_options", value=bgp_options, expected_type=type_hints["bgp_options"])
43165
+ check_type(argname="argument peer_address", value=peer_address, expected_type=type_hints["peer_address"])
43166
+ check_type(argname="argument route_server_endpoint_id", value=route_server_endpoint_id, expected_type=type_hints["route_server_endpoint_id"])
43167
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
43168
+ self._values: typing.Dict[builtins.str, typing.Any] = {
43169
+ "bgp_options": bgp_options,
43170
+ "peer_address": peer_address,
43171
+ "route_server_endpoint_id": route_server_endpoint_id,
43172
+ }
43173
+ if tags is not None:
43174
+ self._values["tags"] = tags
43175
+
43176
+ @builtins.property
43177
+ def bgp_options(
43178
+ self,
43179
+ ) -> typing.Union[_IResolvable_da3f097b, CfnRouteServerPeer.BgpOptionsProperty]:
43180
+ '''BGP Options.
43181
+
43182
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-bgpoptions
43183
+ '''
43184
+ result = self._values.get("bgp_options")
43185
+ assert result is not None, "Required property 'bgp_options' is missing"
43186
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnRouteServerPeer.BgpOptionsProperty], result)
43187
+
43188
+ @builtins.property
43189
+ def peer_address(self) -> builtins.str:
43190
+ '''IP address of the Route Server Peer.
43191
+
43192
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-peeraddress
43193
+ '''
43194
+ result = self._values.get("peer_address")
43195
+ assert result is not None, "Required property 'peer_address' is missing"
43196
+ return typing.cast(builtins.str, result)
43197
+
43198
+ @builtins.property
43199
+ def route_server_endpoint_id(self) -> builtins.str:
43200
+ '''Route Server Endpoint ID.
43201
+
43202
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-routeserverendpointid
43203
+ '''
43204
+ result = self._values.get("route_server_endpoint_id")
43205
+ assert result is not None, "Required property 'route_server_endpoint_id' is missing"
43206
+ return typing.cast(builtins.str, result)
43207
+
43208
+ @builtins.property
43209
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
43210
+ '''An array of key-value pairs to apply to this resource.
43211
+
43212
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-tags
43213
+ '''
43214
+ result = self._values.get("tags")
43215
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
43216
+
43217
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
43218
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
43219
+
43220
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
43221
+ return not (rhs == self)
43222
+
43223
+ def __repr__(self) -> str:
43224
+ return "CfnRouteServerPeerProps(%s)" % ", ".join(
43225
+ k + "=" + repr(v) for k, v in self._values.items()
43226
+ )
43227
+
43228
+
43229
+ @jsii.implements(_IInspectable_c2943556)
43230
+ class CfnRouteServerPropagation(
43231
+ _CfnResource_9df397a6,
43232
+ metaclass=jsii.JSIIMeta,
43233
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerPropagation",
43234
+ ):
43235
+ '''VPC Route Server Propagation.
43236
+
43237
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html
43238
+ :cloudformationResource: AWS::EC2::RouteServerPropagation
43239
+ :exampleMetadata: fixture=_generated
43240
+
43241
+ Example::
43242
+
43243
+ # The code below shows an example of how to instantiate this type.
43244
+ # The values are placeholders you should change.
43245
+ from aws_cdk import aws_ec2 as ec2
43246
+
43247
+ cfn_route_server_propagation = ec2.CfnRouteServerPropagation(self, "MyCfnRouteServerPropagation",
43248
+ route_server_id="routeServerId",
43249
+ route_table_id="routeTableId"
43250
+ )
43251
+ '''
43252
+
43253
+ def __init__(
43254
+ self,
43255
+ scope: _constructs_77d1e7e8.Construct,
43256
+ id: builtins.str,
43257
+ *,
43258
+ route_server_id: builtins.str,
43259
+ route_table_id: builtins.str,
43260
+ ) -> None:
43261
+ '''
43262
+ :param scope: Scope in which this resource is defined.
43263
+ :param id: Construct identifier for this resource (unique in its scope).
43264
+ :param route_server_id: Route Server ID.
43265
+ :param route_table_id: Route Table ID.
43266
+ '''
43267
+ if __debug__:
43268
+ type_hints = typing.get_type_hints(_typecheckingstub__0d139e896cf279d926dd7b03bd4605d62bf6e6d336cab83c19f03f115f11332f)
41390
43269
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
41391
43270
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
41392
- props = CfnRouteProps(
41393
- route_table_id=route_table_id,
41394
- carrier_gateway_id=carrier_gateway_id,
41395
- core_network_arn=core_network_arn,
41396
- destination_cidr_block=destination_cidr_block,
41397
- destination_ipv6_cidr_block=destination_ipv6_cidr_block,
41398
- destination_prefix_list_id=destination_prefix_list_id,
41399
- egress_only_internet_gateway_id=egress_only_internet_gateway_id,
41400
- gateway_id=gateway_id,
41401
- instance_id=instance_id,
41402
- local_gateway_id=local_gateway_id,
41403
- nat_gateway_id=nat_gateway_id,
41404
- network_interface_id=network_interface_id,
41405
- transit_gateway_id=transit_gateway_id,
41406
- vpc_endpoint_id=vpc_endpoint_id,
41407
- vpc_peering_connection_id=vpc_peering_connection_id,
43271
+ props = CfnRouteServerPropagationProps(
43272
+ route_server_id=route_server_id, route_table_id=route_table_id
41408
43273
  )
41409
43274
 
41410
43275
  jsii.create(self.__class__, self, [scope, id, props])
@@ -41416,7 +43281,7 @@ class CfnRoute(
41416
43281
  :param inspector: tree inspector to collect and process attributes.
41417
43282
  '''
41418
43283
  if __debug__:
41419
- type_hints = typing.get_type_hints(_typecheckingstub__6be65f2a156289dba30c6b64726cb3622e229f7b1e4e152487bbd9e0ecfb9d7d)
43284
+ type_hints = typing.get_type_hints(_typecheckingstub__dcdd387ffc37afa195a7e25d5c44536188638f43cf7f40cca0453fa46b860ce5)
41420
43285
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
41421
43286
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
41422
43287
 
@@ -41429,7 +43294,7 @@ class CfnRoute(
41429
43294
  :param props: -
41430
43295
  '''
41431
43296
  if __debug__:
41432
- type_hints = typing.get_type_hints(_typecheckingstub__9a9bb73be2078411a9f0d4740a463a6f77c635fe220f5351d3fc9e0f442d2061)
43297
+ type_hints = typing.get_type_hints(_typecheckingstub__2dbcf0d472b0cc21729046719e317f1e14c0110825faf1f017c05e237f61aeba)
41433
43298
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
41434
43299
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
41435
43300
 
@@ -41439,279 +43304,59 @@ class CfnRoute(
41439
43304
  '''The CloudFormation resource type name for this resource class.'''
41440
43305
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
41441
43306
 
41442
- @builtins.property
41443
- @jsii.member(jsii_name="attrCidrBlock")
41444
- def attr_cidr_block(self) -> builtins.str:
41445
- '''The IPv4 CIDR block.
41446
-
41447
- :cloudformationAttribute: CidrBlock
41448
- '''
41449
- return typing.cast(builtins.str, jsii.get(self, "attrCidrBlock"))
41450
-
41451
43307
  @builtins.property
41452
43308
  @jsii.member(jsii_name="cfnProperties")
41453
43309
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
41454
43310
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
41455
43311
 
43312
+ @builtins.property
43313
+ @jsii.member(jsii_name="routeServerId")
43314
+ def route_server_id(self) -> builtins.str:
43315
+ '''Route Server ID.'''
43316
+ return typing.cast(builtins.str, jsii.get(self, "routeServerId"))
43317
+
43318
+ @route_server_id.setter
43319
+ def route_server_id(self, value: builtins.str) -> None:
43320
+ if __debug__:
43321
+ type_hints = typing.get_type_hints(_typecheckingstub__a1d3bdf36fee55ea70a83f37033fadc68a67310d7a4f2d403cb0ad237e57c622)
43322
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
43323
+ jsii.set(self, "routeServerId", value) # pyright: ignore[reportArgumentType]
43324
+
41456
43325
  @builtins.property
41457
43326
  @jsii.member(jsii_name="routeTableId")
41458
43327
  def route_table_id(self) -> builtins.str:
41459
- '''The ID of the route table for the route.'''
43328
+ '''Route Table ID.'''
41460
43329
  return typing.cast(builtins.str, jsii.get(self, "routeTableId"))
41461
43330
 
41462
43331
  @route_table_id.setter
41463
43332
  def route_table_id(self, value: builtins.str) -> None:
41464
43333
  if __debug__:
41465
- type_hints = typing.get_type_hints(_typecheckingstub__f8db87996585873368487fc20df4ef16915a47f32a4459b4643d211faf6b65dc)
43334
+ type_hints = typing.get_type_hints(_typecheckingstub__7fc992ffac821b5511c01446ca80e457d3120cdf8e1bbe982c1dcd5b3bf2a9e0)
41466
43335
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41467
43336
  jsii.set(self, "routeTableId", value) # pyright: ignore[reportArgumentType]
41468
43337
 
41469
- @builtins.property
41470
- @jsii.member(jsii_name="carrierGatewayId")
41471
- def carrier_gateway_id(self) -> typing.Optional[builtins.str]:
41472
- '''The ID of the carrier gateway.'''
41473
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "carrierGatewayId"))
41474
-
41475
- @carrier_gateway_id.setter
41476
- def carrier_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41477
- if __debug__:
41478
- type_hints = typing.get_type_hints(_typecheckingstub__355c5c80f08453332882507836cf0441e37ed4a5c9fa46ef1c415dd739491b7e)
41479
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41480
- jsii.set(self, "carrierGatewayId", value) # pyright: ignore[reportArgumentType]
41481
-
41482
- @builtins.property
41483
- @jsii.member(jsii_name="coreNetworkArn")
41484
- def core_network_arn(self) -> typing.Optional[builtins.str]:
41485
- '''The Amazon Resource Name (ARN) of the core network.'''
41486
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "coreNetworkArn"))
41487
-
41488
- @core_network_arn.setter
41489
- def core_network_arn(self, value: typing.Optional[builtins.str]) -> None:
41490
- if __debug__:
41491
- type_hints = typing.get_type_hints(_typecheckingstub__535edefe9ec250f819eacd60779bcf6b8d4afa9cd9b9ec8142ddfb03034be5ac)
41492
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41493
- jsii.set(self, "coreNetworkArn", value) # pyright: ignore[reportArgumentType]
41494
-
41495
- @builtins.property
41496
- @jsii.member(jsii_name="destinationCidrBlock")
41497
- def destination_cidr_block(self) -> typing.Optional[builtins.str]:
41498
- '''The IPv4 CIDR address block used for the destination match.'''
41499
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationCidrBlock"))
41500
-
41501
- @destination_cidr_block.setter
41502
- def destination_cidr_block(self, value: typing.Optional[builtins.str]) -> None:
41503
- if __debug__:
41504
- type_hints = typing.get_type_hints(_typecheckingstub__1ae05f819fd9822a84fcac1033a9bd983835b0e75eb0d432aa89d5973585cc3e)
41505
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41506
- jsii.set(self, "destinationCidrBlock", value) # pyright: ignore[reportArgumentType]
41507
-
41508
- @builtins.property
41509
- @jsii.member(jsii_name="destinationIpv6CidrBlock")
41510
- def destination_ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
41511
- '''The IPv6 CIDR block used for the destination match.'''
41512
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationIpv6CidrBlock"))
41513
-
41514
- @destination_ipv6_cidr_block.setter
41515
- def destination_ipv6_cidr_block(self, value: typing.Optional[builtins.str]) -> None:
41516
- if __debug__:
41517
- type_hints = typing.get_type_hints(_typecheckingstub__9053d56266f2ecaa5d8209e05a5af048fd6c8540eece0de592fa617598e87e30)
41518
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41519
- jsii.set(self, "destinationIpv6CidrBlock", value) # pyright: ignore[reportArgumentType]
41520
-
41521
- @builtins.property
41522
- @jsii.member(jsii_name="destinationPrefixListId")
41523
- def destination_prefix_list_id(self) -> typing.Optional[builtins.str]:
41524
- '''The ID of a prefix list used for the destination match.'''
41525
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "destinationPrefixListId"))
41526
-
41527
- @destination_prefix_list_id.setter
41528
- def destination_prefix_list_id(self, value: typing.Optional[builtins.str]) -> None:
41529
- if __debug__:
41530
- type_hints = typing.get_type_hints(_typecheckingstub__28b2d9e818763b23c1689ff8d32ac779a6cdf2e20e4e1b57f65f0f3474ae8878)
41531
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41532
- jsii.set(self, "destinationPrefixListId", value) # pyright: ignore[reportArgumentType]
41533
-
41534
- @builtins.property
41535
- @jsii.member(jsii_name="egressOnlyInternetGatewayId")
41536
- def egress_only_internet_gateway_id(self) -> typing.Optional[builtins.str]:
41537
- '''[IPv6 traffic only] The ID of an egress-only internet gateway.'''
41538
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "egressOnlyInternetGatewayId"))
41539
-
41540
- @egress_only_internet_gateway_id.setter
41541
- def egress_only_internet_gateway_id(
41542
- self,
41543
- value: typing.Optional[builtins.str],
41544
- ) -> None:
41545
- if __debug__:
41546
- type_hints = typing.get_type_hints(_typecheckingstub__d8f8dcc844a05743d981c217d51303c0c4cc6e46dadd5339a6eb261fe327b128)
41547
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41548
- jsii.set(self, "egressOnlyInternetGatewayId", value) # pyright: ignore[reportArgumentType]
41549
-
41550
- @builtins.property
41551
- @jsii.member(jsii_name="gatewayId")
41552
- def gateway_id(self) -> typing.Optional[builtins.str]:
41553
- '''The ID of an internet gateway or virtual private gateway attached to your VPC.'''
41554
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "gatewayId"))
41555
-
41556
- @gateway_id.setter
41557
- def gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41558
- if __debug__:
41559
- type_hints = typing.get_type_hints(_typecheckingstub__c49944ede227d758c602f9702b54e035d5067af2a0424d3b194ba7311c44aea8)
41560
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41561
- jsii.set(self, "gatewayId", value) # pyright: ignore[reportArgumentType]
41562
-
41563
- @builtins.property
41564
- @jsii.member(jsii_name="instanceId")
41565
- def instance_id(self) -> typing.Optional[builtins.str]:
41566
- '''The ID of a NAT instance in your VPC.'''
41567
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "instanceId"))
41568
-
41569
- @instance_id.setter
41570
- def instance_id(self, value: typing.Optional[builtins.str]) -> None:
41571
- if __debug__:
41572
- type_hints = typing.get_type_hints(_typecheckingstub__7d987c0fc0a014587365521959275a5a66f3fb9212aa1ef3e47b13ec24a3291a)
41573
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41574
- jsii.set(self, "instanceId", value) # pyright: ignore[reportArgumentType]
41575
-
41576
- @builtins.property
41577
- @jsii.member(jsii_name="localGatewayId")
41578
- def local_gateway_id(self) -> typing.Optional[builtins.str]:
41579
- '''The ID of the local gateway.'''
41580
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "localGatewayId"))
41581
-
41582
- @local_gateway_id.setter
41583
- def local_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41584
- if __debug__:
41585
- type_hints = typing.get_type_hints(_typecheckingstub__46d262dfaa3881555d65a46e9b26bc3ad572270d792880fa9867825c43d6b51c)
41586
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41587
- jsii.set(self, "localGatewayId", value) # pyright: ignore[reportArgumentType]
41588
-
41589
- @builtins.property
41590
- @jsii.member(jsii_name="natGatewayId")
41591
- def nat_gateway_id(self) -> typing.Optional[builtins.str]:
41592
- '''[IPv4 traffic only] The ID of a NAT gateway.'''
41593
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "natGatewayId"))
41594
-
41595
- @nat_gateway_id.setter
41596
- def nat_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41597
- if __debug__:
41598
- type_hints = typing.get_type_hints(_typecheckingstub__a847890b57b0439222d2d701c672a84c0722c931f9b262edafa5fed2a6e2f84b)
41599
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41600
- jsii.set(self, "natGatewayId", value) # pyright: ignore[reportArgumentType]
41601
-
41602
- @builtins.property
41603
- @jsii.member(jsii_name="networkInterfaceId")
41604
- def network_interface_id(self) -> typing.Optional[builtins.str]:
41605
- '''The ID of a network interface.'''
41606
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkInterfaceId"))
41607
-
41608
- @network_interface_id.setter
41609
- def network_interface_id(self, value: typing.Optional[builtins.str]) -> None:
41610
- if __debug__:
41611
- type_hints = typing.get_type_hints(_typecheckingstub__266f068b50cc854a81450a8d5e3e82022666389ba782b94a359557a139812aef)
41612
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41613
- jsii.set(self, "networkInterfaceId", value) # pyright: ignore[reportArgumentType]
41614
-
41615
- @builtins.property
41616
- @jsii.member(jsii_name="transitGatewayId")
41617
- def transit_gateway_id(self) -> typing.Optional[builtins.str]:
41618
- '''The ID of a transit gateway.'''
41619
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "transitGatewayId"))
41620
-
41621
- @transit_gateway_id.setter
41622
- def transit_gateway_id(self, value: typing.Optional[builtins.str]) -> None:
41623
- if __debug__:
41624
- type_hints = typing.get_type_hints(_typecheckingstub__82c38d5de8dba90584bc4953ed11041cd571a5742b7358ca8dbaa9d4ce4aa9bd)
41625
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41626
- jsii.set(self, "transitGatewayId", value) # pyright: ignore[reportArgumentType]
41627
-
41628
- @builtins.property
41629
- @jsii.member(jsii_name="vpcEndpointId")
41630
- def vpc_endpoint_id(self) -> typing.Optional[builtins.str]:
41631
- '''The ID of a VPC endpoint.'''
41632
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcEndpointId"))
41633
-
41634
- @vpc_endpoint_id.setter
41635
- def vpc_endpoint_id(self, value: typing.Optional[builtins.str]) -> None:
41636
- if __debug__:
41637
- type_hints = typing.get_type_hints(_typecheckingstub__9b3588c8e5a495d9ab8a2699ed72f7253e15605bba594e43b65e5892bcbf1ca0)
41638
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41639
- jsii.set(self, "vpcEndpointId", value) # pyright: ignore[reportArgumentType]
41640
-
41641
- @builtins.property
41642
- @jsii.member(jsii_name="vpcPeeringConnectionId")
41643
- def vpc_peering_connection_id(self) -> typing.Optional[builtins.str]:
41644
- '''The ID of a VPC peering connection.'''
41645
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcPeeringConnectionId"))
41646
-
41647
- @vpc_peering_connection_id.setter
41648
- def vpc_peering_connection_id(self, value: typing.Optional[builtins.str]) -> None:
41649
- if __debug__:
41650
- type_hints = typing.get_type_hints(_typecheckingstub__46892d5dd1581aee0dcf6410687f88cfaffdfdd18c726880534edc8f86e9919a)
41651
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
41652
- jsii.set(self, "vpcPeeringConnectionId", value) # pyright: ignore[reportArgumentType]
41653
-
41654
43338
 
41655
43339
  @jsii.data_type(
41656
- jsii_type="aws-cdk-lib.aws_ec2.CfnRouteProps",
43340
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerPropagationProps",
41657
43341
  jsii_struct_bases=[],
41658
43342
  name_mapping={
43343
+ "route_server_id": "routeServerId",
41659
43344
  "route_table_id": "routeTableId",
41660
- "carrier_gateway_id": "carrierGatewayId",
41661
- "core_network_arn": "coreNetworkArn",
41662
- "destination_cidr_block": "destinationCidrBlock",
41663
- "destination_ipv6_cidr_block": "destinationIpv6CidrBlock",
41664
- "destination_prefix_list_id": "destinationPrefixListId",
41665
- "egress_only_internet_gateway_id": "egressOnlyInternetGatewayId",
41666
- "gateway_id": "gatewayId",
41667
- "instance_id": "instanceId",
41668
- "local_gateway_id": "localGatewayId",
41669
- "nat_gateway_id": "natGatewayId",
41670
- "network_interface_id": "networkInterfaceId",
41671
- "transit_gateway_id": "transitGatewayId",
41672
- "vpc_endpoint_id": "vpcEndpointId",
41673
- "vpc_peering_connection_id": "vpcPeeringConnectionId",
41674
43345
  },
41675
43346
  )
41676
- class CfnRouteProps:
43347
+ class CfnRouteServerPropagationProps:
41677
43348
  def __init__(
41678
43349
  self,
41679
43350
  *,
43351
+ route_server_id: builtins.str,
41680
43352
  route_table_id: builtins.str,
41681
- carrier_gateway_id: typing.Optional[builtins.str] = None,
41682
- core_network_arn: typing.Optional[builtins.str] = None,
41683
- destination_cidr_block: typing.Optional[builtins.str] = None,
41684
- destination_ipv6_cidr_block: typing.Optional[builtins.str] = None,
41685
- destination_prefix_list_id: typing.Optional[builtins.str] = None,
41686
- egress_only_internet_gateway_id: typing.Optional[builtins.str] = None,
41687
- gateway_id: typing.Optional[builtins.str] = None,
41688
- instance_id: typing.Optional[builtins.str] = None,
41689
- local_gateway_id: typing.Optional[builtins.str] = None,
41690
- nat_gateway_id: typing.Optional[builtins.str] = None,
41691
- network_interface_id: typing.Optional[builtins.str] = None,
41692
- transit_gateway_id: typing.Optional[builtins.str] = None,
41693
- vpc_endpoint_id: typing.Optional[builtins.str] = None,
41694
- vpc_peering_connection_id: typing.Optional[builtins.str] = None,
41695
43353
  ) -> None:
41696
- '''Properties for defining a ``CfnRoute``.
43354
+ '''Properties for defining a ``CfnRouteServerPropagation``.
41697
43355
 
41698
- :param route_table_id: The ID of the route table for the route.
41699
- :param carrier_gateway_id: The ID of the carrier gateway. You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
41700
- :param core_network_arn: The Amazon Resource Name (ARN) of the core network.
41701
- :param destination_cidr_block: The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
41702
- :param destination_ipv6_cidr_block: The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.
41703
- :param destination_prefix_list_id: The ID of a prefix list used for the destination match.
41704
- :param egress_only_internet_gateway_id: [IPv6 traffic only] The ID of an egress-only internet gateway.
41705
- :param gateway_id: The ID of an internet gateway or virtual private gateway attached to your VPC.
41706
- :param instance_id: The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.
41707
- :param local_gateway_id: The ID of the local gateway.
41708
- :param nat_gateway_id: [IPv4 traffic only] The ID of a NAT gateway.
41709
- :param network_interface_id: The ID of a network interface.
41710
- :param transit_gateway_id: The ID of a transit gateway.
41711
- :param vpc_endpoint_id: The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
41712
- :param vpc_peering_connection_id: The ID of a VPC peering connection.
43356
+ :param route_server_id: Route Server ID.
43357
+ :param route_table_id: Route Table ID.
41713
43358
 
41714
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html
43359
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html
41715
43360
  :exampleMetadata: fixture=_generated
41716
43361
 
41717
43362
  Example::
@@ -41720,220 +43365,169 @@ class CfnRouteProps:
41720
43365
  # The values are placeholders you should change.
41721
43366
  from aws_cdk import aws_ec2 as ec2
41722
43367
 
41723
- cfn_route_props = ec2.CfnRouteProps(
41724
- route_table_id="routeTableId",
41725
-
41726
- # the properties below are optional
41727
- carrier_gateway_id="carrierGatewayId",
41728
- core_network_arn="coreNetworkArn",
41729
- destination_cidr_block="destinationCidrBlock",
41730
- destination_ipv6_cidr_block="destinationIpv6CidrBlock",
41731
- destination_prefix_list_id="destinationPrefixListId",
41732
- egress_only_internet_gateway_id="egressOnlyInternetGatewayId",
41733
- gateway_id="gatewayId",
41734
- instance_id="instanceId",
41735
- local_gateway_id="localGatewayId",
41736
- nat_gateway_id="natGatewayId",
41737
- network_interface_id="networkInterfaceId",
41738
- transit_gateway_id="transitGatewayId",
41739
- vpc_endpoint_id="vpcEndpointId",
41740
- vpc_peering_connection_id="vpcPeeringConnectionId"
43368
+ cfn_route_server_propagation_props = ec2.CfnRouteServerPropagationProps(
43369
+ route_server_id="routeServerId",
43370
+ route_table_id="routeTableId"
41741
43371
  )
41742
43372
  '''
41743
43373
  if __debug__:
41744
- type_hints = typing.get_type_hints(_typecheckingstub__f90e7814d59b7c562ab4b24d54461eba6a4c88fbd5451ba2b2b0adf8441a452e)
43374
+ type_hints = typing.get_type_hints(_typecheckingstub__4f93feed063aa24e3ccac40eb1b470367c4be09679255ec2cc2d4589ffd2f3b0)
43375
+ check_type(argname="argument route_server_id", value=route_server_id, expected_type=type_hints["route_server_id"])
41745
43376
  check_type(argname="argument route_table_id", value=route_table_id, expected_type=type_hints["route_table_id"])
41746
- check_type(argname="argument carrier_gateway_id", value=carrier_gateway_id, expected_type=type_hints["carrier_gateway_id"])
41747
- check_type(argname="argument core_network_arn", value=core_network_arn, expected_type=type_hints["core_network_arn"])
41748
- check_type(argname="argument destination_cidr_block", value=destination_cidr_block, expected_type=type_hints["destination_cidr_block"])
41749
- check_type(argname="argument destination_ipv6_cidr_block", value=destination_ipv6_cidr_block, expected_type=type_hints["destination_ipv6_cidr_block"])
41750
- check_type(argname="argument destination_prefix_list_id", value=destination_prefix_list_id, expected_type=type_hints["destination_prefix_list_id"])
41751
- check_type(argname="argument egress_only_internet_gateway_id", value=egress_only_internet_gateway_id, expected_type=type_hints["egress_only_internet_gateway_id"])
41752
- check_type(argname="argument gateway_id", value=gateway_id, expected_type=type_hints["gateway_id"])
41753
- check_type(argname="argument instance_id", value=instance_id, expected_type=type_hints["instance_id"])
41754
- check_type(argname="argument local_gateway_id", value=local_gateway_id, expected_type=type_hints["local_gateway_id"])
41755
- check_type(argname="argument nat_gateway_id", value=nat_gateway_id, expected_type=type_hints["nat_gateway_id"])
41756
- check_type(argname="argument network_interface_id", value=network_interface_id, expected_type=type_hints["network_interface_id"])
41757
- check_type(argname="argument transit_gateway_id", value=transit_gateway_id, expected_type=type_hints["transit_gateway_id"])
41758
- check_type(argname="argument vpc_endpoint_id", value=vpc_endpoint_id, expected_type=type_hints["vpc_endpoint_id"])
41759
- check_type(argname="argument vpc_peering_connection_id", value=vpc_peering_connection_id, expected_type=type_hints["vpc_peering_connection_id"])
41760
43377
  self._values: typing.Dict[builtins.str, typing.Any] = {
43378
+ "route_server_id": route_server_id,
41761
43379
  "route_table_id": route_table_id,
41762
43380
  }
41763
- if carrier_gateway_id is not None:
41764
- self._values["carrier_gateway_id"] = carrier_gateway_id
41765
- if core_network_arn is not None:
41766
- self._values["core_network_arn"] = core_network_arn
41767
- if destination_cidr_block is not None:
41768
- self._values["destination_cidr_block"] = destination_cidr_block
41769
- if destination_ipv6_cidr_block is not None:
41770
- self._values["destination_ipv6_cidr_block"] = destination_ipv6_cidr_block
41771
- if destination_prefix_list_id is not None:
41772
- self._values["destination_prefix_list_id"] = destination_prefix_list_id
41773
- if egress_only_internet_gateway_id is not None:
41774
- self._values["egress_only_internet_gateway_id"] = egress_only_internet_gateway_id
41775
- if gateway_id is not None:
41776
- self._values["gateway_id"] = gateway_id
41777
- if instance_id is not None:
41778
- self._values["instance_id"] = instance_id
41779
- if local_gateway_id is not None:
41780
- self._values["local_gateway_id"] = local_gateway_id
41781
- if nat_gateway_id is not None:
41782
- self._values["nat_gateway_id"] = nat_gateway_id
41783
- if network_interface_id is not None:
41784
- self._values["network_interface_id"] = network_interface_id
41785
- if transit_gateway_id is not None:
41786
- self._values["transit_gateway_id"] = transit_gateway_id
41787
- if vpc_endpoint_id is not None:
41788
- self._values["vpc_endpoint_id"] = vpc_endpoint_id
41789
- if vpc_peering_connection_id is not None:
41790
- self._values["vpc_peering_connection_id"] = vpc_peering_connection_id
41791
43381
 
41792
43382
  @builtins.property
41793
- def route_table_id(self) -> builtins.str:
41794
- '''The ID of the route table for the route.
43383
+ def route_server_id(self) -> builtins.str:
43384
+ '''Route Server ID.
41795
43385
 
41796
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-routetableid
43386
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html#cfn-ec2-routeserverpropagation-routeserverid
41797
43387
  '''
41798
- result = self._values.get("route_table_id")
41799
- assert result is not None, "Required property 'route_table_id' is missing"
43388
+ result = self._values.get("route_server_id")
43389
+ assert result is not None, "Required property 'route_server_id' is missing"
41800
43390
  return typing.cast(builtins.str, result)
41801
43391
 
41802
43392
  @builtins.property
41803
- def carrier_gateway_id(self) -> typing.Optional[builtins.str]:
41804
- '''The ID of the carrier gateway.
41805
-
41806
- You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.
41807
-
41808
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid
41809
- '''
41810
- result = self._values.get("carrier_gateway_id")
41811
- return typing.cast(typing.Optional[builtins.str], result)
41812
-
41813
- @builtins.property
41814
- def core_network_arn(self) -> typing.Optional[builtins.str]:
41815
- '''The Amazon Resource Name (ARN) of the core network.
41816
-
41817
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-corenetworkarn
41818
- '''
41819
- result = self._values.get("core_network_arn")
41820
- return typing.cast(typing.Optional[builtins.str], result)
41821
-
41822
- @builtins.property
41823
- def destination_cidr_block(self) -> typing.Optional[builtins.str]:
41824
- '''The IPv4 CIDR address block used for the destination match.
41825
-
41826
- Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18`` , we modify it to ``100.68.0.0/18`` .
41827
-
41828
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock
41829
- '''
41830
- result = self._values.get("destination_cidr_block")
41831
- return typing.cast(typing.Optional[builtins.str], result)
41832
-
41833
- @builtins.property
41834
- def destination_ipv6_cidr_block(self) -> typing.Optional[builtins.str]:
41835
- '''The IPv6 CIDR block used for the destination match.
41836
-
41837
- Routing decisions are based on the most specific match.
41838
-
41839
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock
41840
- '''
41841
- result = self._values.get("destination_ipv6_cidr_block")
41842
- return typing.cast(typing.Optional[builtins.str], result)
41843
-
41844
- @builtins.property
41845
- def destination_prefix_list_id(self) -> typing.Optional[builtins.str]:
41846
- '''The ID of a prefix list used for the destination match.
43393
+ def route_table_id(self) -> builtins.str:
43394
+ '''Route Table ID.
41847
43395
 
41848
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationprefixlistid
43396
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html#cfn-ec2-routeserverpropagation-routetableid
41849
43397
  '''
41850
- result = self._values.get("destination_prefix_list_id")
41851
- return typing.cast(typing.Optional[builtins.str], result)
43398
+ result = self._values.get("route_table_id")
43399
+ assert result is not None, "Required property 'route_table_id' is missing"
43400
+ return typing.cast(builtins.str, result)
41852
43401
 
41853
- @builtins.property
41854
- def egress_only_internet_gateway_id(self) -> typing.Optional[builtins.str]:
41855
- '''[IPv6 traffic only] The ID of an egress-only internet gateway.
43402
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
43403
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
41856
43404
 
41857
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid
41858
- '''
41859
- result = self._values.get("egress_only_internet_gateway_id")
41860
- return typing.cast(typing.Optional[builtins.str], result)
43405
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
43406
+ return not (rhs == self)
41861
43407
 
41862
- @builtins.property
41863
- def gateway_id(self) -> typing.Optional[builtins.str]:
41864
- '''The ID of an internet gateway or virtual private gateway attached to your VPC.
43408
+ def __repr__(self) -> str:
43409
+ return "CfnRouteServerPropagationProps(%s)" % ", ".join(
43410
+ k + "=" + repr(v) for k, v in self._values.items()
43411
+ )
41865
43412
 
41866
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-gatewayid
41867
- '''
41868
- result = self._values.get("gateway_id")
41869
- return typing.cast(typing.Optional[builtins.str], result)
41870
43413
 
41871
- @builtins.property
41872
- def instance_id(self) -> typing.Optional[builtins.str]:
41873
- '''The ID of a NAT instance in your VPC.
43414
+ @jsii.data_type(
43415
+ jsii_type="aws-cdk-lib.aws_ec2.CfnRouteServerProps",
43416
+ jsii_struct_bases=[],
43417
+ name_mapping={
43418
+ "amazon_side_asn": "amazonSideAsn",
43419
+ "persist_routes": "persistRoutes",
43420
+ "persist_routes_duration": "persistRoutesDuration",
43421
+ "sns_notifications_enabled": "snsNotificationsEnabled",
43422
+ "tags": "tags",
43423
+ },
43424
+ )
43425
+ class CfnRouteServerProps:
43426
+ def __init__(
43427
+ self,
43428
+ *,
43429
+ amazon_side_asn: jsii.Number,
43430
+ persist_routes: typing.Optional[builtins.str] = None,
43431
+ persist_routes_duration: typing.Optional[jsii.Number] = None,
43432
+ sns_notifications_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
43433
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
43434
+ ) -> None:
43435
+ '''Properties for defining a ``CfnRouteServer``.
41874
43436
 
41875
- The operation fails if you specify an instance ID unless exactly one network interface is attached.
43437
+ :param amazon_side_asn: The Amazon-side ASN of the Route Server.
43438
+ :param persist_routes: Whether to enable persistent routes.
43439
+ :param persist_routes_duration: The duration of persistent routes in minutes.
43440
+ :param sns_notifications_enabled: Whether to enable SNS notifications.
43441
+ :param tags: An array of key-value pairs to apply to this resource.
41876
43442
 
41877
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid
41878
- '''
41879
- result = self._values.get("instance_id")
41880
- return typing.cast(typing.Optional[builtins.str], result)
43443
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html
43444
+ :exampleMetadata: fixture=_generated
41881
43445
 
41882
- @builtins.property
41883
- def local_gateway_id(self) -> typing.Optional[builtins.str]:
41884
- '''The ID of the local gateway.
43446
+ Example::
41885
43447
 
41886
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-localgatewayid
43448
+ # The code below shows an example of how to instantiate this type.
43449
+ # The values are placeholders you should change.
43450
+ from aws_cdk import aws_ec2 as ec2
43451
+
43452
+ cfn_route_server_props = ec2.CfnRouteServerProps(
43453
+ amazon_side_asn=123,
43454
+
43455
+ # the properties below are optional
43456
+ persist_routes="persistRoutes",
43457
+ persist_routes_duration=123,
43458
+ sns_notifications_enabled=False,
43459
+ tags=[CfnTag(
43460
+ key="key",
43461
+ value="value"
43462
+ )]
43463
+ )
41887
43464
  '''
41888
- result = self._values.get("local_gateway_id")
41889
- return typing.cast(typing.Optional[builtins.str], result)
43465
+ if __debug__:
43466
+ type_hints = typing.get_type_hints(_typecheckingstub__db9a1c3babbc82d0464e4dc5d03d23f14024cadfb4a9c0aa32f743c5968b354c)
43467
+ check_type(argname="argument amazon_side_asn", value=amazon_side_asn, expected_type=type_hints["amazon_side_asn"])
43468
+ check_type(argname="argument persist_routes", value=persist_routes, expected_type=type_hints["persist_routes"])
43469
+ check_type(argname="argument persist_routes_duration", value=persist_routes_duration, expected_type=type_hints["persist_routes_duration"])
43470
+ check_type(argname="argument sns_notifications_enabled", value=sns_notifications_enabled, expected_type=type_hints["sns_notifications_enabled"])
43471
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
43472
+ self._values: typing.Dict[builtins.str, typing.Any] = {
43473
+ "amazon_side_asn": amazon_side_asn,
43474
+ }
43475
+ if persist_routes is not None:
43476
+ self._values["persist_routes"] = persist_routes
43477
+ if persist_routes_duration is not None:
43478
+ self._values["persist_routes_duration"] = persist_routes_duration
43479
+ if sns_notifications_enabled is not None:
43480
+ self._values["sns_notifications_enabled"] = sns_notifications_enabled
43481
+ if tags is not None:
43482
+ self._values["tags"] = tags
41890
43483
 
41891
43484
  @builtins.property
41892
- def nat_gateway_id(self) -> typing.Optional[builtins.str]:
41893
- '''[IPv4 traffic only] The ID of a NAT gateway.
43485
+ def amazon_side_asn(self) -> jsii.Number:
43486
+ '''The Amazon-side ASN of the Route Server.
41894
43487
 
41895
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid
43488
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-amazonsideasn
41896
43489
  '''
41897
- result = self._values.get("nat_gateway_id")
41898
- return typing.cast(typing.Optional[builtins.str], result)
43490
+ result = self._values.get("amazon_side_asn")
43491
+ assert result is not None, "Required property 'amazon_side_asn' is missing"
43492
+ return typing.cast(jsii.Number, result)
41899
43493
 
41900
43494
  @builtins.property
41901
- def network_interface_id(self) -> typing.Optional[builtins.str]:
41902
- '''The ID of a network interface.
43495
+ def persist_routes(self) -> typing.Optional[builtins.str]:
43496
+ '''Whether to enable persistent routes.
41903
43497
 
41904
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-networkinterfaceid
43498
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-persistroutes
41905
43499
  '''
41906
- result = self._values.get("network_interface_id")
43500
+ result = self._values.get("persist_routes")
41907
43501
  return typing.cast(typing.Optional[builtins.str], result)
41908
43502
 
41909
43503
  @builtins.property
41910
- def transit_gateway_id(self) -> typing.Optional[builtins.str]:
41911
- '''The ID of a transit gateway.
43504
+ def persist_routes_duration(self) -> typing.Optional[jsii.Number]:
43505
+ '''The duration of persistent routes in minutes.
41912
43506
 
41913
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid
43507
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-persistroutesduration
41914
43508
  '''
41915
- result = self._values.get("transit_gateway_id")
41916
- return typing.cast(typing.Optional[builtins.str], result)
43509
+ result = self._values.get("persist_routes_duration")
43510
+ return typing.cast(typing.Optional[jsii.Number], result)
41917
43511
 
41918
43512
  @builtins.property
41919
- def vpc_endpoint_id(self) -> typing.Optional[builtins.str]:
41920
- '''The ID of a VPC endpoint.
41921
-
41922
- Supported for Gateway Load Balancer endpoints only.
43513
+ def sns_notifications_enabled(
43514
+ self,
43515
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
43516
+ '''Whether to enable SNS notifications.
41923
43517
 
41924
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcendpointid
43518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-snsnotificationsenabled
41925
43519
  '''
41926
- result = self._values.get("vpc_endpoint_id")
41927
- return typing.cast(typing.Optional[builtins.str], result)
43520
+ result = self._values.get("sns_notifications_enabled")
43521
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
41928
43522
 
41929
43523
  @builtins.property
41930
- def vpc_peering_connection_id(self) -> typing.Optional[builtins.str]:
41931
- '''The ID of a VPC peering connection.
43524
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
43525
+ '''An array of key-value pairs to apply to this resource.
41932
43526
 
41933
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid
43527
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-tags
41934
43528
  '''
41935
- result = self._values.get("vpc_peering_connection_id")
41936
- return typing.cast(typing.Optional[builtins.str], result)
43529
+ result = self._values.get("tags")
43530
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
41937
43531
 
41938
43532
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
41939
43533
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -41942,7 +43536,7 @@ class CfnRouteProps:
41942
43536
  return not (rhs == self)
41943
43537
 
41944
43538
  def __repr__(self) -> str:
41945
- return "CfnRouteProps(%s)" % ", ".join(
43539
+ return "CfnRouteServerProps(%s)" % ", ".join(
41946
43540
  k + "=" + repr(v) for k, v in self._values.items()
41947
43541
  )
41948
43542
 
@@ -75648,6 +77242,7 @@ class InitFile(
75648
77242
  owner: typing.Optional[builtins.str] = None,
75649
77243
  service_restart_handles: typing.Optional[typing.Sequence["InitServiceRestartHandle"]] = None,
75650
77244
  deploy_time: typing.Optional[builtins.bool] = None,
77245
+ display_name: typing.Optional[builtins.str] = None,
75651
77246
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
75652
77247
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
75653
77248
  asset_hash: typing.Optional[builtins.str] = None,
@@ -75669,6 +77264,7 @@ class InitFile(
75669
77264
  :param owner: The name of the owning user for this file. Not supported for Windows systems. Default: 'root'
75670
77265
  :param service_restart_handles: Restart the given service after this file has been written. Default: - Do not restart any service
75671
77266
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
77267
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
75672
77268
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
75673
77269
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
75674
77270
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -75689,6 +77285,7 @@ class InitFile(
75689
77285
  owner=owner,
75690
77286
  service_restart_handles=service_restart_handles,
75691
77287
  deploy_time=deploy_time,
77288
+ display_name=display_name,
75692
77289
  readers=readers,
75693
77290
  source_kms_key=source_kms_key,
75694
77291
  asset_hash=asset_hash,
@@ -76812,6 +78409,7 @@ class InitSource(
76812
78409
  *,
76813
78410
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
76814
78411
  deploy_time: typing.Optional[builtins.bool] = None,
78412
+ display_name: typing.Optional[builtins.str] = None,
76815
78413
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
76816
78414
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
76817
78415
  asset_hash: typing.Optional[builtins.str] = None,
@@ -76827,6 +78425,7 @@ class InitSource(
76827
78425
  :param path: -
76828
78426
  :param service_restart_handles: Restart the given services after this archive has been extracted. Default: - Do not restart any service
76829
78427
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
78428
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
76830
78429
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
76831
78430
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
76832
78431
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -76843,6 +78442,7 @@ class InitSource(
76843
78442
  options = InitSourceAssetOptions(
76844
78443
  service_restart_handles=service_restart_handles,
76845
78444
  deploy_time=deploy_time,
78445
+ display_name=display_name,
76846
78446
  readers=readers,
76847
78447
  source_kms_key=source_kms_key,
76848
78448
  asset_hash=asset_hash,
@@ -80520,6 +82120,16 @@ class InterfaceVpcEndpointAwsService(
80520
82120
  def MACIE(cls) -> "InterfaceVpcEndpointAwsService":
80521
82121
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MACIE"))
80522
82122
 
82123
+ @jsii.python.classproperty
82124
+ @jsii.member(jsii_name="MAILMANAGER")
82125
+ def MAILMANAGER(cls) -> "InterfaceVpcEndpointAwsService":
82126
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MAILMANAGER"))
82127
+
82128
+ @jsii.python.classproperty
82129
+ @jsii.member(jsii_name="MAILMANAGER_FIPS")
82130
+ def MAILMANAGER_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
82131
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MAILMANAGER_FIPS"))
82132
+
80523
82133
  @jsii.python.classproperty
80524
82134
  @jsii.member(jsii_name="MAINFRAME_MODERNIZATION")
80525
82135
  def MAINFRAME_MODERNIZATION(cls) -> "InterfaceVpcEndpointAwsService":
@@ -82490,6 +84100,7 @@ class LaunchTemplate(
82490
84100
  launch_template_name: typing.Optional[builtins.str] = None,
82491
84101
  machine_image: typing.Optional[IMachineImage] = None,
82492
84102
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
84103
+ placement_group: typing.Optional[IPlacementGroup] = None,
82493
84104
  require_imdsv2: typing.Optional[builtins.bool] = None,
82494
84105
  role: typing.Optional[_IRole_235f5d8e] = None,
82495
84106
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -82520,6 +84131,7 @@ class LaunchTemplate(
82520
84131
  :param launch_template_name: Name for this launch template. Default: Automatically generated name
82521
84132
  :param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
82522
84133
  :param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
84134
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this launch template.
82523
84135
  :param require_imdsv2: Whether IMDSv2 should be required on launched instances. Default: - false
82524
84136
  :param role: An IAM role to associate with the instance profile that is used by instances. The role must be assumable by the service principal ``ec2.amazonaws.com``. Note: You can provide an instanceProfile or a role, but not both. Default: - No new role is created.
82525
84137
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
@@ -82552,6 +84164,7 @@ class LaunchTemplate(
82552
84164
  launch_template_name=launch_template_name,
82553
84165
  machine_image=machine_image,
82554
84166
  nitro_enclave_enabled=nitro_enclave_enabled,
84167
+ placement_group=placement_group,
82555
84168
  require_imdsv2=require_imdsv2,
82556
84169
  role=role,
82557
84170
  security_group=security_group,
@@ -82861,6 +84474,7 @@ class LaunchTemplateHttpTokens(enum.Enum):
82861
84474
  "launch_template_name": "launchTemplateName",
82862
84475
  "machine_image": "machineImage",
82863
84476
  "nitro_enclave_enabled": "nitroEnclaveEnabled",
84477
+ "placement_group": "placementGroup",
82864
84478
  "require_imdsv2": "requireImdsv2",
82865
84479
  "role": "role",
82866
84480
  "security_group": "securityGroup",
@@ -82893,6 +84507,7 @@ class LaunchTemplateProps:
82893
84507
  launch_template_name: typing.Optional[builtins.str] = None,
82894
84508
  machine_image: typing.Optional[IMachineImage] = None,
82895
84509
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
84510
+ placement_group: typing.Optional[IPlacementGroup] = None,
82896
84511
  require_imdsv2: typing.Optional[builtins.bool] = None,
82897
84512
  role: typing.Optional[_IRole_235f5d8e] = None,
82898
84513
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -82922,6 +84537,7 @@ class LaunchTemplateProps:
82922
84537
  :param launch_template_name: Name for this launch template. Default: Automatically generated name
82923
84538
  :param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
82924
84539
  :param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
84540
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this launch template.
82925
84541
  :param require_imdsv2: Whether IMDSv2 should be required on launched instances. Default: - false
82926
84542
  :param role: An IAM role to associate with the instance profile that is used by instances. The role must be assumable by the service principal ``ec2.amazonaws.com``. Note: You can provide an instanceProfile or a role, but not both. Default: - No new role is created.
82927
84543
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
@@ -82974,6 +84590,7 @@ class LaunchTemplateProps:
82974
84590
  check_type(argname="argument launch_template_name", value=launch_template_name, expected_type=type_hints["launch_template_name"])
82975
84591
  check_type(argname="argument machine_image", value=machine_image, expected_type=type_hints["machine_image"])
82976
84592
  check_type(argname="argument nitro_enclave_enabled", value=nitro_enclave_enabled, expected_type=type_hints["nitro_enclave_enabled"])
84593
+ check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
82977
84594
  check_type(argname="argument require_imdsv2", value=require_imdsv2, expected_type=type_hints["require_imdsv2"])
82978
84595
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
82979
84596
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
@@ -83021,6 +84638,8 @@ class LaunchTemplateProps:
83021
84638
  self._values["machine_image"] = machine_image
83022
84639
  if nitro_enclave_enabled is not None:
83023
84640
  self._values["nitro_enclave_enabled"] = nitro_enclave_enabled
84641
+ if placement_group is not None:
84642
+ self._values["placement_group"] = placement_group
83024
84643
  if require_imdsv2 is not None:
83025
84644
  self._values["require_imdsv2"] = require_imdsv2
83026
84645
  if role is not None:
@@ -83260,6 +84879,15 @@ class LaunchTemplateProps:
83260
84879
  result = self._values.get("nitro_enclave_enabled")
83261
84880
  return typing.cast(typing.Optional[builtins.bool], result)
83262
84881
 
84882
+ @builtins.property
84883
+ def placement_group(self) -> typing.Optional[IPlacementGroup]:
84884
+ '''The placement group that you want to launch the instance into.
84885
+
84886
+ :default: - no placement group will be used for this launch template.
84887
+ '''
84888
+ result = self._values.get("placement_group")
84889
+ return typing.cast(typing.Optional[IPlacementGroup], result)
84890
+
83263
84891
  @builtins.property
83264
84892
  def require_imdsv2(self) -> typing.Optional[builtins.bool]:
83265
84893
  '''Whether IMDSv2 should be required on launched instances.
@@ -92702,15 +94330,14 @@ class VpcEndpointService(
92702
94330
 
92703
94331
  Example::
92704
94332
 
92705
- # network_load_balancer1: elbv2.NetworkLoadBalancer
92706
- # network_load_balancer2: elbv2.NetworkLoadBalancer
94333
+ # network_load_balancer: elbv2.NetworkLoadBalancer
92707
94334
 
92708
94335
 
92709
94336
  ec2.VpcEndpointService(self, "EndpointService",
92710
- vpc_endpoint_service_load_balancers=[network_load_balancer1, network_load_balancer2],
92711
- acceptance_required=True,
92712
- allowed_principals=[iam.ArnPrincipal("arn:aws:iam::123456789012:root")],
92713
- contributor_insights=True
94337
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
94338
+ # Support both IPv4 and IPv6 connections to the endpoint service
94339
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
94340
+ ]
92714
94341
  )
92715
94342
  '''
92716
94343
 
@@ -92722,6 +94349,7 @@ class VpcEndpointService(
92722
94349
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
92723
94350
  acceptance_required: typing.Optional[builtins.bool] = None,
92724
94351
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
94352
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
92725
94353
  contributor_insights: typing.Optional[builtins.bool] = None,
92726
94354
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92727
94355
  ) -> None:
@@ -92731,6 +94359,7 @@ class VpcEndpointService(
92731
94359
  :param vpc_endpoint_service_load_balancers: One or more load balancers to host the VPC Endpoint Service.
92732
94360
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92733
94361
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
94362
+ :param allowed_regions: The Regions from which service consumers can access the service. Default: - No Region restrictions
92734
94363
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92735
94364
  :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92736
94365
  '''
@@ -92742,6 +94371,7 @@ class VpcEndpointService(
92742
94371
  vpc_endpoint_service_load_balancers=vpc_endpoint_service_load_balancers,
92743
94372
  acceptance_required=acceptance_required,
92744
94373
  allowed_principals=allowed_principals,
94374
+ allowed_regions=allowed_regions,
92745
94375
  contributor_insights=contributor_insights,
92746
94376
  supported_ip_address_types=supported_ip_address_types,
92747
94377
  )
@@ -92809,6 +94439,7 @@ class VpcEndpointService(
92809
94439
  "vpc_endpoint_service_load_balancers": "vpcEndpointServiceLoadBalancers",
92810
94440
  "acceptance_required": "acceptanceRequired",
92811
94441
  "allowed_principals": "allowedPrincipals",
94442
+ "allowed_regions": "allowedRegions",
92812
94443
  "contributor_insights": "contributorInsights",
92813
94444
  "supported_ip_address_types": "supportedIpAddressTypes",
92814
94445
  },
@@ -92820,6 +94451,7 @@ class VpcEndpointServiceProps:
92820
94451
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
92821
94452
  acceptance_required: typing.Optional[builtins.bool] = None,
92822
94453
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
94454
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
92823
94455
  contributor_insights: typing.Optional[builtins.bool] = None,
92824
94456
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92825
94457
  ) -> None:
@@ -92828,6 +94460,7 @@ class VpcEndpointServiceProps:
92828
94460
  :param vpc_endpoint_service_load_balancers: One or more load balancers to host the VPC Endpoint Service.
92829
94461
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92830
94462
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
94463
+ :param allowed_regions: The Regions from which service consumers can access the service. Default: - No Region restrictions
92831
94464
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92832
94465
  :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92833
94466
 
@@ -92835,15 +94468,14 @@ class VpcEndpointServiceProps:
92835
94468
 
92836
94469
  Example::
92837
94470
 
92838
- # network_load_balancer1: elbv2.NetworkLoadBalancer
92839
- # network_load_balancer2: elbv2.NetworkLoadBalancer
94471
+ # network_load_balancer: elbv2.NetworkLoadBalancer
92840
94472
 
92841
94473
 
92842
94474
  ec2.VpcEndpointService(self, "EndpointService",
92843
- vpc_endpoint_service_load_balancers=[network_load_balancer1, network_load_balancer2],
92844
- acceptance_required=True,
92845
- allowed_principals=[iam.ArnPrincipal("arn:aws:iam::123456789012:root")],
92846
- contributor_insights=True
94475
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
94476
+ # Support both IPv4 and IPv6 connections to the endpoint service
94477
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
94478
+ ]
92847
94479
  )
92848
94480
  '''
92849
94481
  if __debug__:
@@ -92851,6 +94483,7 @@ class VpcEndpointServiceProps:
92851
94483
  check_type(argname="argument vpc_endpoint_service_load_balancers", value=vpc_endpoint_service_load_balancers, expected_type=type_hints["vpc_endpoint_service_load_balancers"])
92852
94484
  check_type(argname="argument acceptance_required", value=acceptance_required, expected_type=type_hints["acceptance_required"])
92853
94485
  check_type(argname="argument allowed_principals", value=allowed_principals, expected_type=type_hints["allowed_principals"])
94486
+ check_type(argname="argument allowed_regions", value=allowed_regions, expected_type=type_hints["allowed_regions"])
92854
94487
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
92855
94488
  check_type(argname="argument supported_ip_address_types", value=supported_ip_address_types, expected_type=type_hints["supported_ip_address_types"])
92856
94489
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -92860,6 +94493,8 @@ class VpcEndpointServiceProps:
92860
94493
  self._values["acceptance_required"] = acceptance_required
92861
94494
  if allowed_principals is not None:
92862
94495
  self._values["allowed_principals"] = allowed_principals
94496
+ if allowed_regions is not None:
94497
+ self._values["allowed_regions"] = allowed_regions
92863
94498
  if contributor_insights is not None:
92864
94499
  self._values["contributor_insights"] = contributor_insights
92865
94500
  if supported_ip_address_types is not None:
@@ -92897,6 +94532,15 @@ class VpcEndpointServiceProps:
92897
94532
  result = self._values.get("allowed_principals")
92898
94533
  return typing.cast(typing.Optional[typing.List[_ArnPrincipal_d31ca6bc]], result)
92899
94534
 
94535
+ @builtins.property
94536
+ def allowed_regions(self) -> typing.Optional[typing.List[builtins.str]]:
94537
+ '''The Regions from which service consumers can access the service.
94538
+
94539
+ :default: - No Region restrictions
94540
+ '''
94541
+ result = self._values.get("allowed_regions")
94542
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
94543
+
92900
94544
  @builtins.property
92901
94545
  def contributor_insights(self) -> typing.Optional[builtins.bool]:
92902
94546
  '''Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink.
@@ -97277,6 +98921,7 @@ class InitCommand(
97277
98921
  "follow_symlinks": "followSymlinks",
97278
98922
  "ignore_mode": "ignoreMode",
97279
98923
  "deploy_time": "deployTime",
98924
+ "display_name": "displayName",
97280
98925
  "readers": "readers",
97281
98926
  "source_kms_key": "sourceKMSKey",
97282
98927
  },
@@ -97297,6 +98942,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97297
98942
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
97298
98943
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
97299
98944
  deploy_time: typing.Optional[builtins.bool] = None,
98945
+ display_name: typing.Optional[builtins.str] = None,
97300
98946
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
97301
98947
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
97302
98948
  ) -> None:
@@ -97314,6 +98960,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97314
98960
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
97315
98961
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
97316
98962
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
98963
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
97317
98964
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
97318
98965
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
97319
98966
 
@@ -97365,6 +99012,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97365
99012
  working_directory="workingDirectory"
97366
99013
  ),
97367
99014
  deploy_time=False,
99015
+ display_name="displayName",
97368
99016
  exclude=["exclude"],
97369
99017
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
97370
99018
  group="group",
@@ -97392,6 +99040,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97392
99040
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
97393
99041
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
97394
99042
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
99043
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
97395
99044
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
97396
99045
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
97397
99046
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -97419,6 +99068,8 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97419
99068
  self._values["ignore_mode"] = ignore_mode
97420
99069
  if deploy_time is not None:
97421
99070
  self._values["deploy_time"] = deploy_time
99071
+ if display_name is not None:
99072
+ self._values["display_name"] = display_name
97422
99073
  if readers is not None:
97423
99074
  self._values["readers"] = readers
97424
99075
  if source_kms_key is not None:
@@ -97585,6 +99236,30 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97585
99236
  result = self._values.get("deploy_time")
97586
99237
  return typing.cast(typing.Optional[builtins.bool], result)
97587
99238
 
99239
+ @builtins.property
99240
+ def display_name(self) -> typing.Optional[builtins.str]:
99241
+ '''A display name for this asset.
99242
+
99243
+ If supplied, the display name will be used in locations where the asset
99244
+ identifier is printed, like in the CLI progress information. If the same
99245
+ asset is added multiple times, the display name of the first occurrence is
99246
+ used.
99247
+
99248
+ The default is the construct path of the Asset construct, with respect to
99249
+ the enclosing stack. If the asset is produced by a construct helper
99250
+ function (such as ``lambda.Code.fromAsset()``), this will look like
99251
+ ``MyFunction/Code``.
99252
+
99253
+ We use the stack-relative construct path so that in the common case where
99254
+ you have multiple stacks with the same asset, we won't show something like
99255
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
99256
+ production.
99257
+
99258
+ :default: - Stack-relative construct path
99259
+ '''
99260
+ result = self._values.get("display_name")
99261
+ return typing.cast(typing.Optional[builtins.str], result)
99262
+
97588
99263
  @builtins.property
97589
99264
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
97590
99265
  '''A list of principals that should be able to read this asset from S3.
@@ -97629,6 +99304,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97629
99304
  "follow_symlinks": "followSymlinks",
97630
99305
  "ignore_mode": "ignoreMode",
97631
99306
  "deploy_time": "deployTime",
99307
+ "display_name": "displayName",
97632
99308
  "readers": "readers",
97633
99309
  "source_kms_key": "sourceKMSKey",
97634
99310
  },
@@ -97645,6 +99321,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97645
99321
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
97646
99322
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
97647
99323
  deploy_time: typing.Optional[builtins.bool] = None,
99324
+ display_name: typing.Optional[builtins.str] = None,
97648
99325
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
97649
99326
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
97650
99327
  ) -> None:
@@ -97658,6 +99335,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97658
99335
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
97659
99336
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
97660
99337
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
99338
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
97661
99339
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
97662
99340
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
97663
99341
 
@@ -97708,6 +99386,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97708
99386
  working_directory="workingDirectory"
97709
99387
  ),
97710
99388
  deploy_time=False,
99389
+ display_name="displayName",
97711
99390
  exclude=["exclude"],
97712
99391
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
97713
99392
  ignore_mode=cdk.IgnoreMode.GLOB,
@@ -97728,6 +99407,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97728
99407
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
97729
99408
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
97730
99409
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
99410
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
97731
99411
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
97732
99412
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
97733
99413
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -97747,6 +99427,8 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97747
99427
  self._values["ignore_mode"] = ignore_mode
97748
99428
  if deploy_time is not None:
97749
99429
  self._values["deploy_time"] = deploy_time
99430
+ if display_name is not None:
99431
+ self._values["display_name"] = display_name
97750
99432
  if readers is not None:
97751
99433
  self._values["readers"] = readers
97752
99434
  if source_kms_key is not None:
@@ -97864,6 +99546,30 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97864
99546
  result = self._values.get("deploy_time")
97865
99547
  return typing.cast(typing.Optional[builtins.bool], result)
97866
99548
 
99549
+ @builtins.property
99550
+ def display_name(self) -> typing.Optional[builtins.str]:
99551
+ '''A display name for this asset.
99552
+
99553
+ If supplied, the display name will be used in locations where the asset
99554
+ identifier is printed, like in the CLI progress information. If the same
99555
+ asset is added multiple times, the display name of the first occurrence is
99556
+ used.
99557
+
99558
+ The default is the construct path of the Asset construct, with respect to
99559
+ the enclosing stack. If the asset is produced by a construct helper
99560
+ function (such as ``lambda.Code.fromAsset()``), this will look like
99561
+ ``MyFunction/Code``.
99562
+
99563
+ We use the stack-relative construct path so that in the common case where
99564
+ you have multiple stacks with the same asset, we won't show something like
99565
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
99566
+ production.
99567
+
99568
+ :default: - Stack-relative construct path
99569
+ '''
99570
+ result = self._values.get("display_name")
99571
+ return typing.cast(typing.Optional[builtins.str], result)
99572
+
97867
99573
  @builtins.property
97868
99574
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
97869
99575
  '''A list of principals that should be able to read this asset from S3.
@@ -100483,6 +102189,16 @@ __all__ = [
100483
102189
  "CfnPrefixListProps",
100484
102190
  "CfnRoute",
100485
102191
  "CfnRouteProps",
102192
+ "CfnRouteServer",
102193
+ "CfnRouteServerAssociation",
102194
+ "CfnRouteServerAssociationProps",
102195
+ "CfnRouteServerEndpoint",
102196
+ "CfnRouteServerEndpointProps",
102197
+ "CfnRouteServerPeer",
102198
+ "CfnRouteServerPeerProps",
102199
+ "CfnRouteServerPropagation",
102200
+ "CfnRouteServerPropagationProps",
102201
+ "CfnRouteServerProps",
100486
102202
  "CfnRouteTable",
100487
102203
  "CfnRouteTableProps",
100488
102204
  "CfnSecurityGroup",
@@ -103733,6 +105449,21 @@ def _typecheckingstub__9b0fb3dd7e11b3d77e5e684588da3e531072d536c01a1f2f8089cb89f
103733
105449
  """Type checking stubs"""
103734
105450
  pass
103735
105451
 
105452
+ def _typecheckingstub__cb5cfa1ad0a955752d0fe5cf1fa975e214907046a3adab82f42c2cb294897482(
105453
+ *,
105454
+ ena_srd_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
105455
+ ena_srd_udp_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.EnaSrdUdpSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
105456
+ ) -> None:
105457
+ """Type checking stubs"""
105458
+ pass
105459
+
105460
+ def _typecheckingstub__2ca233cf2c335cfa3da294e921b5541acd4aaf5e78b3618e6108270995e3e826(
105461
+ *,
105462
+ ena_srd_udp_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
105463
+ ) -> None:
105464
+ """Type checking stubs"""
105465
+ pass
105466
+
103736
105467
  def _typecheckingstub__a5c9ea6a0fe6571a95aa17f5c0b6f90e2695fa23c1a38965ff092c2938757847(
103737
105468
  *,
103738
105469
  enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -103777,6 +105508,7 @@ def _typecheckingstub__34d8c3e0456d2764eb1c3d4b68e63d75d3e51811fe46a5cc1a3cd7a84
103777
105508
  associate_public_ip_address: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
103778
105509
  delete_on_termination: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
103779
105510
  description: typing.Optional[builtins.str] = None,
105511
+ ena_srd_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.EnaSrdSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103780
105512
  group_set: typing.Optional[typing.Sequence[builtins.str]] = None,
103781
105513
  ipv6_address_count: typing.Optional[jsii.Number] = None,
103782
105514
  ipv6_addresses: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnInstance.InstanceIpv6AddressProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -106171,6 +107903,272 @@ def _typecheckingstub__f90e7814d59b7c562ab4b24d54461eba6a4c88fbd5451ba2b2b0adf84
106171
107903
  """Type checking stubs"""
106172
107904
  pass
106173
107905
 
107906
+ def _typecheckingstub__e744a2467360e6327da0cb79726e11e01d594dbeec11f2982a422bcb176447d5(
107907
+ scope: _constructs_77d1e7e8.Construct,
107908
+ id: builtins.str,
107909
+ *,
107910
+ amazon_side_asn: jsii.Number,
107911
+ persist_routes: typing.Optional[builtins.str] = None,
107912
+ persist_routes_duration: typing.Optional[jsii.Number] = None,
107913
+ sns_notifications_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
107914
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
107915
+ ) -> None:
107916
+ """Type checking stubs"""
107917
+ pass
107918
+
107919
+ def _typecheckingstub__3d4e9ce25bdead6fc034e09d4bd133ca6d8a9bdb28edabd76818abeb5861c650(
107920
+ inspector: _TreeInspector_488e0dd5,
107921
+ ) -> None:
107922
+ """Type checking stubs"""
107923
+ pass
107924
+
107925
+ def _typecheckingstub__e93eb022fd962b1a573488d55ae2a6f533460dcd1478ae568a1ca2cbaec1166c(
107926
+ props: typing.Mapping[builtins.str, typing.Any],
107927
+ ) -> None:
107928
+ """Type checking stubs"""
107929
+ pass
107930
+
107931
+ def _typecheckingstub__e13de778bf88a0d2426e3072806feaf234141e06da104df8828fa31858466ede(
107932
+ value: jsii.Number,
107933
+ ) -> None:
107934
+ """Type checking stubs"""
107935
+ pass
107936
+
107937
+ def _typecheckingstub__4a44997a1e32efb135940b74f2a929e8036d94d6404f4bf5512259c997ca5c9e(
107938
+ value: typing.Optional[builtins.str],
107939
+ ) -> None:
107940
+ """Type checking stubs"""
107941
+ pass
107942
+
107943
+ def _typecheckingstub__b356730d4d3fb48506651734b873006a73e7e68636b664817f9430f6064743e2(
107944
+ value: typing.Optional[jsii.Number],
107945
+ ) -> None:
107946
+ """Type checking stubs"""
107947
+ pass
107948
+
107949
+ def _typecheckingstub__3fb35650e2c20c86ca3846527e1fbe136cb8034d9a94e7934e14e7c78eddeadb(
107950
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
107951
+ ) -> None:
107952
+ """Type checking stubs"""
107953
+ pass
107954
+
107955
+ def _typecheckingstub__2d586f2ad9d0305ceb1f3ece538490d14e9c96aeb12e951e59be8899a1412ea4(
107956
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
107957
+ ) -> None:
107958
+ """Type checking stubs"""
107959
+ pass
107960
+
107961
+ def _typecheckingstub__3e6189f73b644788c8019b72b4d8a2aa6c79c4d018333b9c657eba49644b2680(
107962
+ scope: _constructs_77d1e7e8.Construct,
107963
+ id: builtins.str,
107964
+ *,
107965
+ route_server_id: builtins.str,
107966
+ vpc_id: builtins.str,
107967
+ ) -> None:
107968
+ """Type checking stubs"""
107969
+ pass
107970
+
107971
+ def _typecheckingstub__6b36f7b91f0c35572aea114010d9abe5eb6819cc14bf7a83fd8eaae89d84c513(
107972
+ inspector: _TreeInspector_488e0dd5,
107973
+ ) -> None:
107974
+ """Type checking stubs"""
107975
+ pass
107976
+
107977
+ def _typecheckingstub__2061cfa69aa80401640d0ebfc6ecb03d4710d83371735dfda34e6b1a112f4b61(
107978
+ props: typing.Mapping[builtins.str, typing.Any],
107979
+ ) -> None:
107980
+ """Type checking stubs"""
107981
+ pass
107982
+
107983
+ def _typecheckingstub__a30a1dfa1b5b5a2238f1ea3896d581c69df96b4fc842c1511df6b0d0d8bfc0a5(
107984
+ value: builtins.str,
107985
+ ) -> None:
107986
+ """Type checking stubs"""
107987
+ pass
107988
+
107989
+ def _typecheckingstub__b5c4a6f8b540144e4bab65f284f718719b1d99a890e26010fe631a8f9b8d6c09(
107990
+ value: builtins.str,
107991
+ ) -> None:
107992
+ """Type checking stubs"""
107993
+ pass
107994
+
107995
+ def _typecheckingstub__486c86fa481692f6a9be14621c56393d4598ea52756029970e390e215a9f4e41(
107996
+ *,
107997
+ route_server_id: builtins.str,
107998
+ vpc_id: builtins.str,
107999
+ ) -> None:
108000
+ """Type checking stubs"""
108001
+ pass
108002
+
108003
+ def _typecheckingstub__bc6285d87d5119c3a92dc59ed8148d7d11adb84676a3fb4a32f638fcab96de86(
108004
+ scope: _constructs_77d1e7e8.Construct,
108005
+ id: builtins.str,
108006
+ *,
108007
+ route_server_id: builtins.str,
108008
+ subnet_id: builtins.str,
108009
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108010
+ ) -> None:
108011
+ """Type checking stubs"""
108012
+ pass
108013
+
108014
+ def _typecheckingstub__1646f051eeeb9accd22a953e4c76242751791c83c2230b011e8bf14a01edee0b(
108015
+ inspector: _TreeInspector_488e0dd5,
108016
+ ) -> None:
108017
+ """Type checking stubs"""
108018
+ pass
108019
+
108020
+ def _typecheckingstub__bcffaecc222403f9f7f3c1b77c8038cdf2a159c437c841195d90470dfcd48aee(
108021
+ props: typing.Mapping[builtins.str, typing.Any],
108022
+ ) -> None:
108023
+ """Type checking stubs"""
108024
+ pass
108025
+
108026
+ def _typecheckingstub__d8293a15458c2f707e5aad3c3e7963f25efd74f21e1827293cc0d47398b11f95(
108027
+ value: builtins.str,
108028
+ ) -> None:
108029
+ """Type checking stubs"""
108030
+ pass
108031
+
108032
+ def _typecheckingstub__eac409477ed07195dcf6725a9d25a19057a6b1c5b51f681223f2cab65c4f598a(
108033
+ value: builtins.str,
108034
+ ) -> None:
108035
+ """Type checking stubs"""
108036
+ pass
108037
+
108038
+ def _typecheckingstub__78be2aa7fed6300c7b7b98f999bd9f022dcc25e5d7385d9c47220e274abcbc51(
108039
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
108040
+ ) -> None:
108041
+ """Type checking stubs"""
108042
+ pass
108043
+
108044
+ def _typecheckingstub__15c8f9c8c8d61903f1fbf4887a562f523716b17fed0a8b0f9948078c468b4e0d(
108045
+ *,
108046
+ route_server_id: builtins.str,
108047
+ subnet_id: builtins.str,
108048
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108049
+ ) -> None:
108050
+ """Type checking stubs"""
108051
+ pass
108052
+
108053
+ def _typecheckingstub__1a1790ead48cbfa3b30bad1ac0c338d415fa3cdaeb20762a23ab6b7030c2266d(
108054
+ scope: _constructs_77d1e7e8.Construct,
108055
+ id: builtins.str,
108056
+ *,
108057
+ bgp_options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRouteServerPeer.BgpOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
108058
+ peer_address: builtins.str,
108059
+ route_server_endpoint_id: builtins.str,
108060
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108061
+ ) -> None:
108062
+ """Type checking stubs"""
108063
+ pass
108064
+
108065
+ def _typecheckingstub__f16ce6f04d507826742aed952b4ee08df1a7f5e094ef81a6b1ff59953ab6d033(
108066
+ inspector: _TreeInspector_488e0dd5,
108067
+ ) -> None:
108068
+ """Type checking stubs"""
108069
+ pass
108070
+
108071
+ def _typecheckingstub__324e991216c37d43fa3e580d243adc940b2ffe28390731ba008a2993c1eeaf46(
108072
+ props: typing.Mapping[builtins.str, typing.Any],
108073
+ ) -> None:
108074
+ """Type checking stubs"""
108075
+ pass
108076
+
108077
+ def _typecheckingstub__14edeb8cd14c52bec2920709e09f35b87f1095d4eeb9788f5ace78bf28861ba3(
108078
+ value: typing.Union[_IResolvable_da3f097b, CfnRouteServerPeer.BgpOptionsProperty],
108079
+ ) -> None:
108080
+ """Type checking stubs"""
108081
+ pass
108082
+
108083
+ def _typecheckingstub__963224c073f81d69053b59f68248587a5cf06a83a818d216b7f2539be11c5eac(
108084
+ value: builtins.str,
108085
+ ) -> None:
108086
+ """Type checking stubs"""
108087
+ pass
108088
+
108089
+ def _typecheckingstub__db34b963306745d8d939b30678b68f972ef95f5f538d76ceb677355955f800be(
108090
+ value: builtins.str,
108091
+ ) -> None:
108092
+ """Type checking stubs"""
108093
+ pass
108094
+
108095
+ def _typecheckingstub__405a1707b0a270b215856d8cb1642bed0f93815e2b9a8382ed83b8f481a652c5(
108096
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
108097
+ ) -> None:
108098
+ """Type checking stubs"""
108099
+ pass
108100
+
108101
+ def _typecheckingstub__d3762043f4004483da78ddbfb131e0b34dfcfe25c8154498f0b6c91bfe10ef28(
108102
+ *,
108103
+ peer_asn: typing.Optional[jsii.Number] = None,
108104
+ peer_liveness_detection: typing.Optional[builtins.str] = None,
108105
+ ) -> None:
108106
+ """Type checking stubs"""
108107
+ pass
108108
+
108109
+ def _typecheckingstub__41ecfe37cb908f7a1db9eac7ef3a64c49c0ee3fdade6d6c294d52f6341d911e3(
108110
+ *,
108111
+ bgp_options: typing.Union[_IResolvable_da3f097b, typing.Union[CfnRouteServerPeer.BgpOptionsProperty, typing.Dict[builtins.str, typing.Any]]],
108112
+ peer_address: builtins.str,
108113
+ route_server_endpoint_id: builtins.str,
108114
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108115
+ ) -> None:
108116
+ """Type checking stubs"""
108117
+ pass
108118
+
108119
+ def _typecheckingstub__0d139e896cf279d926dd7b03bd4605d62bf6e6d336cab83c19f03f115f11332f(
108120
+ scope: _constructs_77d1e7e8.Construct,
108121
+ id: builtins.str,
108122
+ *,
108123
+ route_server_id: builtins.str,
108124
+ route_table_id: builtins.str,
108125
+ ) -> None:
108126
+ """Type checking stubs"""
108127
+ pass
108128
+
108129
+ def _typecheckingstub__dcdd387ffc37afa195a7e25d5c44536188638f43cf7f40cca0453fa46b860ce5(
108130
+ inspector: _TreeInspector_488e0dd5,
108131
+ ) -> None:
108132
+ """Type checking stubs"""
108133
+ pass
108134
+
108135
+ def _typecheckingstub__2dbcf0d472b0cc21729046719e317f1e14c0110825faf1f017c05e237f61aeba(
108136
+ props: typing.Mapping[builtins.str, typing.Any],
108137
+ ) -> None:
108138
+ """Type checking stubs"""
108139
+ pass
108140
+
108141
+ def _typecheckingstub__a1d3bdf36fee55ea70a83f37033fadc68a67310d7a4f2d403cb0ad237e57c622(
108142
+ value: builtins.str,
108143
+ ) -> None:
108144
+ """Type checking stubs"""
108145
+ pass
108146
+
108147
+ def _typecheckingstub__7fc992ffac821b5511c01446ca80e457d3120cdf8e1bbe982c1dcd5b3bf2a9e0(
108148
+ value: builtins.str,
108149
+ ) -> None:
108150
+ """Type checking stubs"""
108151
+ pass
108152
+
108153
+ def _typecheckingstub__4f93feed063aa24e3ccac40eb1b470367c4be09679255ec2cc2d4589ffd2f3b0(
108154
+ *,
108155
+ route_server_id: builtins.str,
108156
+ route_table_id: builtins.str,
108157
+ ) -> None:
108158
+ """Type checking stubs"""
108159
+ pass
108160
+
108161
+ def _typecheckingstub__db9a1c3babbc82d0464e4dc5d03d23f14024cadfb4a9c0aa32f743c5968b354c(
108162
+ *,
108163
+ amazon_side_asn: jsii.Number,
108164
+ persist_routes: typing.Optional[builtins.str] = None,
108165
+ persist_routes_duration: typing.Optional[jsii.Number] = None,
108166
+ sns_notifications_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
108167
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108168
+ ) -> None:
108169
+ """Type checking stubs"""
108170
+ pass
108171
+
106174
108172
  def _typecheckingstub__93a1e7c740b947cc510161b87d4afa4b057e501067ea1f7ef24fdb6a8ab5614c(
106175
108173
  scope: _constructs_77d1e7e8.Construct,
106176
108174
  id: builtins.str,
@@ -110988,6 +112986,7 @@ def _typecheckingstub__164f7ae4723652c2e5c3189a870d0dbd16f8bec14d0e807d648248a60
110988
112986
  owner: typing.Optional[builtins.str] = None,
110989
112987
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
110990
112988
  deploy_time: typing.Optional[builtins.bool] = None,
112989
+ display_name: typing.Optional[builtins.str] = None,
110991
112990
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
110992
112991
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
110993
112992
  asset_hash: typing.Optional[builtins.str] = None,
@@ -111236,6 +113235,7 @@ def _typecheckingstub__28af50587b7c2068b2cb49dbac75ce38a6ffdaf070d2c430abde336ae
111236
113235
  *,
111237
113236
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
111238
113237
  deploy_time: typing.Optional[builtins.bool] = None,
113238
+ display_name: typing.Optional[builtins.str] = None,
111239
113239
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
111240
113240
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
111241
113241
  asset_hash: typing.Optional[builtins.str] = None,
@@ -111621,6 +113621,7 @@ def _typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a
111621
113621
  launch_template_name: typing.Optional[builtins.str] = None,
111622
113622
  machine_image: typing.Optional[IMachineImage] = None,
111623
113623
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
113624
+ placement_group: typing.Optional[IPlacementGroup] = None,
111624
113625
  require_imdsv2: typing.Optional[builtins.bool] = None,
111625
113626
  role: typing.Optional[_IRole_235f5d8e] = None,
111626
113627
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -111679,6 +113680,7 @@ def _typecheckingstub__e2ebb1bf0fbb2f9e894169a610cd9fb7cc3f827d34d3a10351bd2f517
111679
113680
  launch_template_name: typing.Optional[builtins.str] = None,
111680
113681
  machine_image: typing.Optional[IMachineImage] = None,
111681
113682
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
113683
+ placement_group: typing.Optional[IPlacementGroup] = None,
111682
113684
  require_imdsv2: typing.Optional[builtins.bool] = None,
111683
113685
  role: typing.Optional[_IRole_235f5d8e] = None,
111684
113686
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -112841,6 +114843,7 @@ def _typecheckingstub__e9a177a308c941d9422cff7194d8a56d967004d3230efd826dc934ef5
112841
114843
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
112842
114844
  acceptance_required: typing.Optional[builtins.bool] = None,
112843
114845
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
114846
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
112844
114847
  contributor_insights: typing.Optional[builtins.bool] = None,
112845
114848
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112846
114849
  ) -> None:
@@ -112852,6 +114855,7 @@ def _typecheckingstub__c8d3e17059165270b27192911c5b63d78564836ce9d6a1d2e41f5d272
112852
114855
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
112853
114856
  acceptance_required: typing.Optional[builtins.bool] = None,
112854
114857
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
114858
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
112855
114859
  contributor_insights: typing.Optional[builtins.bool] = None,
112856
114860
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112857
114861
  ) -> None:
@@ -113311,6 +115315,7 @@ def _typecheckingstub__6ce391dd6a64744f1d308a93bd2b78efee46c104a775f9153a5171d8a
113311
115315
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
113312
115316
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
113313
115317
  deploy_time: typing.Optional[builtins.bool] = None,
115318
+ display_name: typing.Optional[builtins.str] = None,
113314
115319
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
113315
115320
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
113316
115321
  ) -> None:
@@ -113327,6 +115332,7 @@ def _typecheckingstub__f3d9778b6f3d55d750d385b361f8381c51ee484d3c8920175605233fb
113327
115332
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
113328
115333
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
113329
115334
  deploy_time: typing.Optional[builtins.bool] = None,
115335
+ display_name: typing.Optional[builtins.str] = None,
113330
115336
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
113331
115337
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
113332
115338
  ) -> None: