aws-cdk-lib 2.157.0__py3-none-any.whl → 2.159.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 (294) hide show
  1. aws_cdk/__init__.py +52 -20
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.157.0.jsii.tgz → aws-cdk-lib@2.159.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +16 -1
  5. aws_cdk/assertions/__init__.py +16 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +16 -1
  7. aws_cdk/aws_acmpca/__init__.py +16 -1
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +38 -9
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
  11. aws_cdk/aws_apigateway/__init__.py +16 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +46 -1
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
  15. aws_cdk/aws_appconfig/__init__.py +19 -4
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +16 -1
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +560 -5
  20. aws_cdk/aws_applicationsignals/__init__.py +186 -143
  21. aws_cdk/aws_appmesh/__init__.py +16 -1
  22. aws_cdk/aws_apprunner/__init__.py +16 -1
  23. aws_cdk/aws_appstream/__init__.py +16 -1
  24. aws_cdk/aws_appsync/__init__.py +16 -1
  25. aws_cdk/aws_apptest/__init__.py +16 -1
  26. aws_cdk/aws_aps/__init__.py +16 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +16 -1
  28. aws_cdk/aws_athena/__init__.py +31 -16
  29. aws_cdk/aws_auditmanager/__init__.py +21 -6
  30. aws_cdk/aws_autoscaling/__init__.py +16 -1
  31. aws_cdk/aws_autoscaling_common/__init__.py +16 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +16 -1
  34. aws_cdk/aws_b2bi/__init__.py +16 -1
  35. aws_cdk/aws_backup/__init__.py +16 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +16 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +23 -8
  40. aws_cdk/aws_billingconductor/__init__.py +16 -1
  41. aws_cdk/aws_budgets/__init__.py +16 -1
  42. aws_cdk/aws_cassandra/__init__.py +16 -1
  43. aws_cdk/aws_ce/__init__.py +16 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +16 -1
  45. aws_cdk/aws_chatbot/__init__.py +16 -1
  46. aws_cdk/aws_cleanrooms/__init__.py +16 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +16 -1
  48. aws_cdk/aws_cloud9/__init__.py +16 -1
  49. aws_cdk/aws_cloudformation/__init__.py +16 -1
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +16 -1
  52. aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +16 -1
  54. aws_cdk/aws_cloudwatch/__init__.py +16 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
  56. aws_cdk/aws_codeartifact/__init__.py +16 -1
  57. aws_cdk/aws_codebuild/__init__.py +55 -19
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +17 -2
  60. aws_cdk/aws_codedeploy/__init__.py +16 -1
  61. aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +16 -1
  63. aws_cdk/aws_codepipeline/__init__.py +16 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
  65. aws_cdk/aws_codestar/__init__.py +16 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +16 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +16 -1
  68. aws_cdk/aws_cognito/__init__.py +406 -204
  69. aws_cdk/aws_comprehend/__init__.py +16 -1
  70. aws_cdk/aws_config/__init__.py +16 -1
  71. aws_cdk/aws_connect/__init__.py +1695 -153
  72. aws_cdk/aws_connectcampaigns/__init__.py +16 -1
  73. aws_cdk/aws_controltower/__init__.py +16 -1
  74. aws_cdk/aws_cur/__init__.py +16 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +16 -1
  76. aws_cdk/aws_databrew/__init__.py +16 -1
  77. aws_cdk/aws_datapipeline/__init__.py +16 -1
  78. aws_cdk/aws_datasync/__init__.py +16 -1
  79. aws_cdk/aws_datazone/__init__.py +681 -41
  80. aws_cdk/aws_dax/__init__.py +16 -1
  81. aws_cdk/aws_deadline/__init__.py +16 -1
  82. aws_cdk/aws_detective/__init__.py +16 -1
  83. aws_cdk/aws_devicefarm/__init__.py +16 -1
  84. aws_cdk/aws_devopsguru/__init__.py +16 -1
  85. aws_cdk/aws_directoryservice/__init__.py +16 -1
  86. aws_cdk/aws_dlm/__init__.py +16 -1
  87. aws_cdk/aws_dms/__init__.py +16 -1
  88. aws_cdk/aws_docdb/__init__.py +22 -2
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +21 -6
  91. aws_cdk/aws_ec2/__init__.py +137 -37
  92. aws_cdk/aws_ecr/__init__.py +30 -7
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +36 -21
  95. aws_cdk/aws_ecs_patterns/__init__.py +16 -1
  96. aws_cdk/aws_efs/__init__.py +16 -1
  97. aws_cdk/aws_eks/__init__.py +16 -1
  98. aws_cdk/aws_elasticache/__init__.py +16 -1
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +183 -21
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +16 -1
  105. aws_cdk/aws_emr/__init__.py +24 -9
  106. aws_cdk/aws_emrcontainers/__init__.py +16 -1
  107. aws_cdk/aws_emrserverless/__init__.py +16 -1
  108. aws_cdk/aws_entityresolution/__init__.py +16 -1
  109. aws_cdk/aws_events/__init__.py +35 -18
  110. aws_cdk/aws_events_targets/__init__.py +181 -86
  111. aws_cdk/aws_eventschemas/__init__.py +16 -1
  112. aws_cdk/aws_evidently/__init__.py +16 -1
  113. aws_cdk/aws_finspace/__init__.py +16 -1
  114. aws_cdk/aws_fis/__init__.py +16 -1
  115. aws_cdk/aws_fms/__init__.py +75 -1
  116. aws_cdk/aws_forecast/__init__.py +16 -1
  117. aws_cdk/aws_frauddetector/__init__.py +16 -1
  118. aws_cdk/aws_fsx/__init__.py +19 -4
  119. aws_cdk/aws_gamelift/__init__.py +56 -53
  120. aws_cdk/aws_globalaccelerator/__init__.py +38 -30
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -1
  123. aws_cdk/aws_grafana/__init__.py +16 -1
  124. aws_cdk/aws_greengrass/__init__.py +16 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +16 -1
  126. aws_cdk/aws_groundstation/__init__.py +16 -1
  127. aws_cdk/aws_guardduty/__init__.py +16 -1
  128. aws_cdk/aws_healthimaging/__init__.py +16 -1
  129. aws_cdk/aws_healthlake/__init__.py +16 -1
  130. aws_cdk/aws_iam/__init__.py +38 -21
  131. aws_cdk/aws_identitystore/__init__.py +16 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +16 -1
  133. aws_cdk/aws_inspector/__init__.py +16 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +16 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +16 -1
  136. aws_cdk/aws_iot/__init__.py +16 -1
  137. aws_cdk/aws_iot1click/__init__.py +16 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +16 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
  140. aws_cdk/aws_iotevents/__init__.py +16 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +16 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +435 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +106 -2
  144. aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +16 -1
  146. aws_cdk/aws_iotwireless/__init__.py +221 -1
  147. aws_cdk/aws_ivs/__init__.py +16 -1
  148. aws_cdk/aws_ivschat/__init__.py +16 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +16 -1
  150. aws_cdk/aws_kendra/__init__.py +16 -1
  151. aws_cdk/aws_kendraranking/__init__.py +16 -1
  152. aws_cdk/aws_kinesis/__init__.py +16 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
  156. aws_cdk/aws_kinesisvideo/__init__.py +16 -1
  157. aws_cdk/aws_kms/__init__.py +16 -1
  158. aws_cdk/aws_lakeformation/__init__.py +16 -1
  159. aws_cdk/aws_lambda/__init__.py +145 -17
  160. aws_cdk/aws_lambda_destinations/__init__.py +16 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +16 -1
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +31 -2
  165. aws_cdk/aws_licensemanager/__init__.py +16 -1
  166. aws_cdk/aws_lightsail/__init__.py +16 -1
  167. aws_cdk/aws_location/__init__.py +16 -1
  168. aws_cdk/aws_logs/__init__.py +17 -2
  169. aws_cdk/aws_logs_destinations/__init__.py +16 -1
  170. aws_cdk/aws_lookoutequipment/__init__.py +16 -1
  171. aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
  172. aws_cdk/aws_lookoutvision/__init__.py +16 -1
  173. aws_cdk/aws_m2/__init__.py +16 -1
  174. aws_cdk/aws_macie/__init__.py +16 -1
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +127 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +8004 -3263
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +16 -1
  181. aws_cdk/aws_mediastore/__init__.py +16 -1
  182. aws_cdk/aws_mediatailor/__init__.py +16 -1
  183. aws_cdk/aws_memorydb/__init__.py +16 -1
  184. aws_cdk/aws_msk/__init__.py +303 -480
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +16 -1
  187. aws_cdk/aws_neptunegraph/__init__.py +16 -1
  188. aws_cdk/aws_networkfirewall/__init__.py +16 -1
  189. aws_cdk/aws_networkmanager/__init__.py +16 -1
  190. aws_cdk/aws_nimblestudio/__init__.py +16 -1
  191. aws_cdk/aws_oam/__init__.py +16 -1
  192. aws_cdk/aws_omics/__init__.py +16 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +16 -1
  194. aws_cdk/aws_opensearchservice/__init__.py +22 -1
  195. aws_cdk/aws_opsworks/__init__.py +16 -1
  196. aws_cdk/aws_opsworkscm/__init__.py +16 -1
  197. aws_cdk/aws_organizations/__init__.py +16 -1
  198. aws_cdk/aws_osis/__init__.py +16 -1
  199. aws_cdk/aws_panorama/__init__.py +16 -1
  200. aws_cdk/aws_paymentcryptography/__init__.py +16 -1
  201. aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +85 -31
  203. aws_cdk/aws_personalize/__init__.py +16 -1
  204. aws_cdk/aws_pinpoint/__init__.py +16 -1
  205. aws_cdk/aws_pinpointemail/__init__.py +16 -1
  206. aws_cdk/aws_pipes/__init__.py +65 -1
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +27 -15
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +654 -100
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +78 -32
  213. aws_cdk/aws_redshift/__init__.py +16 -1
  214. aws_cdk/aws_redshiftserverless/__init__.py +16 -1
  215. aws_cdk/aws_refactorspaces/__init__.py +16 -1
  216. aws_cdk/aws_rekognition/__init__.py +16 -1
  217. aws_cdk/aws_resiliencehub/__init__.py +16 -1
  218. aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
  219. aws_cdk/aws_resourcegroups/__init__.py +16 -1
  220. aws_cdk/aws_robomaker/__init__.py +16 -1
  221. aws_cdk/aws_rolesanywhere/__init__.py +16 -1
  222. aws_cdk/aws_route53/__init__.py +16 -1
  223. aws_cdk/aws_route53_patterns/__init__.py +16 -1
  224. aws_cdk/aws_route53_targets/__init__.py +16 -1
  225. aws_cdk/aws_route53profiles/__init__.py +16 -1
  226. aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
  227. aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
  228. aws_cdk/aws_route53resolver/__init__.py +16 -1
  229. aws_cdk/aws_rum/__init__.py +16 -1
  230. aws_cdk/aws_s3/__init__.py +231 -34
  231. aws_cdk/aws_s3_assets/__init__.py +16 -1
  232. aws_cdk/aws_s3_deployment/__init__.py +16 -1
  233. aws_cdk/aws_s3_notifications/__init__.py +16 -1
  234. aws_cdk/aws_s3express/__init__.py +16 -1
  235. aws_cdk/aws_s3objectlambda/__init__.py +18 -3
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +888 -59
  238. aws_cdk/aws_sam/__init__.py +16 -1
  239. aws_cdk/aws_scheduler/__init__.py +16 -1
  240. aws_cdk/aws_sdb/__init__.py +16 -1
  241. aws_cdk/aws_secretsmanager/__init__.py +38 -9
  242. aws_cdk/aws_securityhub/__init__.py +277 -20
  243. aws_cdk/aws_securitylake/__init__.py +343 -8
  244. aws_cdk/aws_servicecatalog/__init__.py +16 -1
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
  246. aws_cdk/aws_servicediscovery/__init__.py +21 -6
  247. aws_cdk/aws_ses/__init__.py +16 -1
  248. aws_cdk/aws_ses_actions/__init__.py +16 -1
  249. aws_cdk/aws_shield/__init__.py +16 -1
  250. aws_cdk/aws_signer/__init__.py +16 -1
  251. aws_cdk/aws_simspaceweaver/__init__.py +16 -1
  252. aws_cdk/aws_sns/__init__.py +16 -9
  253. aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
  254. aws_cdk/aws_sqs/__init__.py +16 -1
  255. aws_cdk/aws_ssm/__init__.py +36 -13
  256. aws_cdk/aws_ssmcontacts/__init__.py +16 -1
  257. aws_cdk/aws_ssmincidents/__init__.py +16 -1
  258. aws_cdk/aws_ssmquicksetup/__init__.py +16 -1
  259. aws_cdk/aws_sso/__init__.py +16 -1
  260. aws_cdk/aws_stepfunctions/__init__.py +16 -1
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +52 -1
  262. aws_cdk/aws_supportapp/__init__.py +16 -1
  263. aws_cdk/aws_synthetics/__init__.py +16 -1
  264. aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
  265. aws_cdk/aws_timestream/__init__.py +16 -1
  266. aws_cdk/aws_transfer/__init__.py +16 -1
  267. aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
  268. aws_cdk/aws_voiceid/__init__.py +16 -1
  269. aws_cdk/aws_vpclattice/__init__.py +16 -1
  270. aws_cdk/aws_waf/__init__.py +16 -1
  271. aws_cdk/aws_wafregional/__init__.py +16 -1
  272. aws_cdk/aws_wafv2/__init__.py +16 -1
  273. aws_cdk/aws_wisdom/__init__.py +16 -1
  274. aws_cdk/aws_workspaces/__init__.py +16 -1
  275. aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
  276. aws_cdk/aws_workspacesweb/__init__.py +16 -1
  277. aws_cdk/aws_xray/__init__.py +16 -1
  278. aws_cdk/cloud_assembly_schema/__init__.py +16 -1
  279. aws_cdk/cloudformation_include/__init__.py +16 -1
  280. aws_cdk/custom_resources/__init__.py +16 -1
  281. aws_cdk/cx_api/__init__.py +35 -1
  282. aws_cdk/lambda_layer_awscli/__init__.py +16 -1
  283. aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
  284. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
  285. aws_cdk/pipelines/__init__.py +16 -1
  286. aws_cdk/region_info/__init__.py +16 -1
  287. aws_cdk/triggers/__init__.py +16 -1
  288. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.159.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.157.0.dist-info/RECORD +0 -294
  292. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/top_level.txt +0 -0
@@ -2584,7 +2584,22 @@ import jsii
2584
2584
  import publication
2585
2585
  import typing_extensions
2586
2586
 
2587
- from typeguard import check_type
2587
+ import typeguard
2588
+ from importlib.metadata import version as _metadata_package_version
2589
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
2590
+
2591
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
2592
+ if TYPEGUARD_MAJOR_VERSION <= 2:
2593
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
2594
+ else:
2595
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
2596
+ pass
2597
+ else:
2598
+ if TYPEGUARD_MAJOR_VERSION == 3:
2599
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
2600
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
2601
+ else:
2602
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
2588
2603
 
2589
2604
  from .._jsii import *
2590
2605
 
@@ -23950,7 +23965,7 @@ class CfnLaunchTemplate(
23950
23965
  :param id: Construct identifier for this resource (unique in its scope).
23951
23966
  :param launch_template_data: The information for the launch template.
23952
23967
  :param launch_template_name: A name for the launch template.
23953
- :param tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template`` . To specify the tags for the resources that are created when an instance is launched, you must use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
23968
+ :param tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template`` . To specify the tags for resources that are created during instance launch, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
23954
23969
  :param version_description: A description for the first version of the launch template.
23955
23970
  '''
23956
23971
  if __debug__:
@@ -26466,7 +26481,7 @@ class CfnLaunchTemplate(
26466
26481
  :param ram_disk_id: The ID of the RAM disk. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `User provided kernels <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
26467
26482
  :param security_group_ids: The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template. If you specify a network interface, you must specify any security groups as part of the network interface instead.
26468
26483
  :param security_groups: The names of the security groups. For a nondefault VPC, you must use security group IDs instead. If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.
26469
- :param tag_specifications: The tags to apply to the resources that are created during instance launch. To tag a resource after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`_ . To tag the launch template itself, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications>`_ .
26484
+ :param tag_specifications: The tags to apply to resources that are created during instance launch. To tag the launch template itself, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications>`_ .
26470
26485
  :param user_data: The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see `Run commands on your Amazon EC2 instance at launch <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html>`_ in the *Amazon EC2 User Guide* . If you are creating the launch template for use with AWS Batch , the user data must be provided in the `MIME multi-part archive format <https://docs.aws.amazon.com/https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive>`_ . For more information, see `Amazon EC2 user data in launch templates <https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html>`_ in the *AWS Batch User Guide* .
26471
26486
 
26472
26487
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html
@@ -27171,9 +27186,7 @@ class CfnLaunchTemplate(
27171
27186
  def tag_specifications(
27172
27187
  self,
27173
27188
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.TagSpecificationProperty"]]]]:
27174
- '''The tags to apply to the resources that are created during instance launch.
27175
-
27176
- To tag a resource after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`_ .
27189
+ '''The tags to apply to resources that are created during instance launch.
27177
27190
 
27178
27191
  To tag the launch template itself, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications>`_ .
27179
27192
 
@@ -27296,6 +27309,8 @@ class CfnLaunchTemplate(
27296
27309
  ) -> None:
27297
27310
  '''Specifies the tags to apply to the launch template during creation.
27298
27311
 
27312
+ To specify the tags for the resources that are created during instance launch, use `AWS::EC2::LaunchTemplate TagSpecification <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html>`_ .
27313
+
27299
27314
  ``LaunchTemplateTagSpecification`` is a property of `AWS::EC2::LaunchTemplate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html>`_ .
27300
27315
 
27301
27316
  :param resource_type: The type of resource. To tag a launch template, ``ResourceType`` must be ``launch-template`` .
@@ -28959,7 +28974,7 @@ class CfnLaunchTemplate(
28959
28974
  resource_type: typing.Optional[builtins.str] = None,
28960
28975
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
28961
28976
  ) -> None:
28962
- '''Specifies the tags to apply to a resource when the resource is created for the launch template.
28977
+ '''Specifies the tags to apply to resources that are created during instance launch.
28963
28978
 
28964
28979
  ``TagSpecification`` is a property type of ```TagSpecifications`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ . ```TagSpecifications`` <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
28965
28980
 
@@ -29198,7 +29213,7 @@ class CfnLaunchTemplateProps:
29198
29213
 
29199
29214
  :param launch_template_data: The information for the launch template.
29200
29215
  :param launch_template_name: A name for the launch template.
29201
- :param tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template`` . To specify the tags for the resources that are created when an instance is launched, you must use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
29216
+ :param tag_specifications: The tags to apply to the launch template on creation. To tag the launch template, the resource type must be ``launch-template`` . To specify the tags for resources that are created during instance launch, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
29202
29217
  :param version_description: A description for the first version of the launch template.
29203
29218
 
29204
29219
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html
@@ -29279,7 +29294,7 @@ class CfnLaunchTemplateProps:
29279
29294
 
29280
29295
  To tag the launch template, the resource type must be ``launch-template`` .
29281
29296
 
29282
- To specify the tags for the resources that are created when an instance is launched, you must use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
29297
+ To specify the tags for resources that are created during instance launch, use `TagSpecifications <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>`_ .
29283
29298
 
29284
29299
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications
29285
29300
  '''
@@ -56484,7 +56499,7 @@ class CfnVPCEndpoint(
56484
56499
 
56485
56500
  A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS , an AWS Marketplace Partner, or another AWS accounts in your organization. For more information, see the `AWS PrivateLink User Guide <https://docs.aws.amazon.com/vpc/latest/privatelink/>`_ .
56486
56501
 
56487
- An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an , your own service, or a service hosted by another AWS account . With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.
56502
+ An endpoint of type ``Interface`` establishes connections between the subnets in your VPC and an AWS service , your own service, or a service hosted by another AWS account . With an interface VPC endpoint, you specify the subnets in which to create the endpoint and the security groups to associate with the endpoint network interfaces.
56488
56503
 
56489
56504
  An endpoint of type ``gateway`` serves as a target for a route in your route table for traffic destined for Amazon S3 or DynamoDB . You can specify an endpoint policy for the endpoint, which controls access to the service from your VPC. You can also specify the VPC route tables that use the endpoint. For more information about connectivity to Amazon S3 , see `Why can't I connect to an S3 bucket using a gateway VPC endpoint? <https://docs.aws.amazon.com/premiumsupport/knowledge-center/connect-s3-vpc-endpoint>`_
56490
56505
 
@@ -58599,16 +58614,16 @@ class CfnVPNConnection(
58599
58614
  :param customer_gateway_id: The ID of the customer gateway at your end of the VPN connection.
58600
58615
  :param type: The type of VPN connection.
58601
58616
  :param enable_acceleration: Indicate whether to enable acceleration for the VPN connection. Default: ``false``
58602
- :param local_ipv4_network_cidr:
58603
- :param local_ipv6_network_cidr:
58604
- :param outside_ip_address_type:
58605
- :param remote_ipv4_network_cidr:
58606
- :param remote_ipv6_network_cidr:
58617
+ :param local_ipv4_network_cidr: The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection. Default: ``0.0.0.0/0``
58618
+ :param local_ipv6_network_cidr: The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. Default: ``::/0``
58619
+ :param outside_ip_address_type: The type of IPv4 address assigned to the outside interface of the customer gateway device. Valid values: ``PrivateIpv4`` | ``PublicIpv4`` Default: ``PublicIpv4``
58620
+ :param remote_ipv4_network_cidr: The IPv4 CIDR on the AWS side of the VPN connection. Default: ``0.0.0.0/0``
58621
+ :param remote_ipv6_network_cidr: The IPv6 CIDR on the AWS side of the VPN connection. Default: ``::/0``
58607
58622
  :param static_routes_only: Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP. If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true`` .
58608
58623
  :param tags: Any tags assigned to the VPN connection.
58609
58624
  :param transit_gateway_id: The ID of the transit gateway associated with the VPN connection. You must specify either ``TransitGatewayId`` or ``VpnGatewayId`` , but not both.
58610
- :param transport_transit_gateway_attachment_id:
58611
- :param tunnel_inside_ip_version:
58625
+ :param transport_transit_gateway_attachment_id: The transit gateway attachment ID to use for the VPN tunnel. Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4`` .
58626
+ :param tunnel_inside_ip_version: Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Default: ``ipv4``
58612
58627
  :param vpn_gateway_id: The ID of the virtual private gateway at the AWS side of the VPN connection. You must specify either ``TransitGatewayId`` or ``VpnGatewayId`` , but not both.
58613
58628
  :param vpn_tunnel_options_specifications: The tunnel options for the VPN connection.
58614
58629
  '''
@@ -58733,6 +58748,7 @@ class CfnVPNConnection(
58733
58748
  @builtins.property
58734
58749
  @jsii.member(jsii_name="localIpv4NetworkCidr")
58735
58750
  def local_ipv4_network_cidr(self) -> typing.Optional[builtins.str]:
58751
+ '''The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.'''
58736
58752
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "localIpv4NetworkCidr"))
58737
58753
 
58738
58754
  @local_ipv4_network_cidr.setter
@@ -58745,6 +58761,7 @@ class CfnVPNConnection(
58745
58761
  @builtins.property
58746
58762
  @jsii.member(jsii_name="localIpv6NetworkCidr")
58747
58763
  def local_ipv6_network_cidr(self) -> typing.Optional[builtins.str]:
58764
+ '''The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.'''
58748
58765
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "localIpv6NetworkCidr"))
58749
58766
 
58750
58767
  @local_ipv6_network_cidr.setter
@@ -58757,6 +58774,7 @@ class CfnVPNConnection(
58757
58774
  @builtins.property
58758
58775
  @jsii.member(jsii_name="outsideIpAddressType")
58759
58776
  def outside_ip_address_type(self) -> typing.Optional[builtins.str]:
58777
+ '''The type of IPv4 address assigned to the outside interface of the customer gateway device.'''
58760
58778
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "outsideIpAddressType"))
58761
58779
 
58762
58780
  @outside_ip_address_type.setter
@@ -58769,6 +58787,7 @@ class CfnVPNConnection(
58769
58787
  @builtins.property
58770
58788
  @jsii.member(jsii_name="remoteIpv4NetworkCidr")
58771
58789
  def remote_ipv4_network_cidr(self) -> typing.Optional[builtins.str]:
58790
+ '''The IPv4 CIDR on the AWS side of the VPN connection.'''
58772
58791
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "remoteIpv4NetworkCidr"))
58773
58792
 
58774
58793
  @remote_ipv4_network_cidr.setter
@@ -58781,6 +58800,7 @@ class CfnVPNConnection(
58781
58800
  @builtins.property
58782
58801
  @jsii.member(jsii_name="remoteIpv6NetworkCidr")
58783
58802
  def remote_ipv6_network_cidr(self) -> typing.Optional[builtins.str]:
58803
+ '''The IPv6 CIDR on the AWS side of the VPN connection.'''
58784
58804
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "remoteIpv6NetworkCidr"))
58785
58805
 
58786
58806
  @remote_ipv6_network_cidr.setter
@@ -58837,6 +58857,7 @@ class CfnVPNConnection(
58837
58857
  @builtins.property
58838
58858
  @jsii.member(jsii_name="transportTransitGatewayAttachmentId")
58839
58859
  def transport_transit_gateway_attachment_id(self) -> typing.Optional[builtins.str]:
58860
+ '''The transit gateway attachment ID to use for the VPN tunnel.'''
58840
58861
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "transportTransitGatewayAttachmentId"))
58841
58862
 
58842
58863
  @transport_transit_gateway_attachment_id.setter
@@ -58852,6 +58873,7 @@ class CfnVPNConnection(
58852
58873
  @builtins.property
58853
58874
  @jsii.member(jsii_name="tunnelInsideIpVersion")
58854
58875
  def tunnel_inside_ip_version(self) -> typing.Optional[builtins.str]:
58876
+ '''Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.'''
58855
58877
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "tunnelInsideIpVersion"))
58856
58878
 
58857
58879
  @tunnel_inside_ip_version.setter
@@ -59026,16 +59048,16 @@ class CfnVPNConnectionProps:
59026
59048
  :param customer_gateway_id: The ID of the customer gateway at your end of the VPN connection.
59027
59049
  :param type: The type of VPN connection.
59028
59050
  :param enable_acceleration: Indicate whether to enable acceleration for the VPN connection. Default: ``false``
59029
- :param local_ipv4_network_cidr:
59030
- :param local_ipv6_network_cidr:
59031
- :param outside_ip_address_type:
59032
- :param remote_ipv4_network_cidr:
59033
- :param remote_ipv6_network_cidr:
59051
+ :param local_ipv4_network_cidr: The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection. Default: ``0.0.0.0/0``
59052
+ :param local_ipv6_network_cidr: The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection. Default: ``::/0``
59053
+ :param outside_ip_address_type: The type of IPv4 address assigned to the outside interface of the customer gateway device. Valid values: ``PrivateIpv4`` | ``PublicIpv4`` Default: ``PublicIpv4``
59054
+ :param remote_ipv4_network_cidr: The IPv4 CIDR on the AWS side of the VPN connection. Default: ``0.0.0.0/0``
59055
+ :param remote_ipv6_network_cidr: The IPv6 CIDR on the AWS side of the VPN connection. Default: ``::/0``
59034
59056
  :param static_routes_only: Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP. If you are creating a VPN connection for a device that does not support Border Gateway Protocol (BGP), you must specify ``true`` .
59035
59057
  :param tags: Any tags assigned to the VPN connection.
59036
59058
  :param transit_gateway_id: The ID of the transit gateway associated with the VPN connection. You must specify either ``TransitGatewayId`` or ``VpnGatewayId`` , but not both.
59037
- :param transport_transit_gateway_attachment_id:
59038
- :param tunnel_inside_ip_version:
59059
+ :param transport_transit_gateway_attachment_id: The transit gateway attachment ID to use for the VPN tunnel. Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4`` .
59060
+ :param tunnel_inside_ip_version: Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Default: ``ipv4``
59039
59061
  :param vpn_gateway_id: The ID of the virtual private gateway at the AWS side of the VPN connection. You must specify either ``TransitGatewayId`` or ``VpnGatewayId`` , but not both.
59040
59062
  :param vpn_tunnel_options_specifications: The tunnel options for the VPN connection.
59041
59063
 
@@ -59157,7 +59179,10 @@ class CfnVPNConnectionProps:
59157
59179
 
59158
59180
  @builtins.property
59159
59181
  def local_ipv4_network_cidr(self) -> typing.Optional[builtins.str]:
59160
- '''
59182
+ '''The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
59183
+
59184
+ Default: ``0.0.0.0/0``
59185
+
59161
59186
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-localipv4networkcidr
59162
59187
  '''
59163
59188
  result = self._values.get("local_ipv4_network_cidr")
@@ -59165,7 +59190,10 @@ class CfnVPNConnectionProps:
59165
59190
 
59166
59191
  @builtins.property
59167
59192
  def local_ipv6_network_cidr(self) -> typing.Optional[builtins.str]:
59168
- '''
59193
+ '''The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
59194
+
59195
+ Default: ``::/0``
59196
+
59169
59197
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-localipv6networkcidr
59170
59198
  '''
59171
59199
  result = self._values.get("local_ipv6_network_cidr")
@@ -59173,7 +59201,12 @@ class CfnVPNConnectionProps:
59173
59201
 
59174
59202
  @builtins.property
59175
59203
  def outside_ip_address_type(self) -> typing.Optional[builtins.str]:
59176
- '''
59204
+ '''The type of IPv4 address assigned to the outside interface of the customer gateway device.
59205
+
59206
+ Valid values: ``PrivateIpv4`` | ``PublicIpv4``
59207
+
59208
+ Default: ``PublicIpv4``
59209
+
59177
59210
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-outsideipaddresstype
59178
59211
  '''
59179
59212
  result = self._values.get("outside_ip_address_type")
@@ -59181,7 +59214,10 @@ class CfnVPNConnectionProps:
59181
59214
 
59182
59215
  @builtins.property
59183
59216
  def remote_ipv4_network_cidr(self) -> typing.Optional[builtins.str]:
59184
- '''
59217
+ '''The IPv4 CIDR on the AWS side of the VPN connection.
59218
+
59219
+ Default: ``0.0.0.0/0``
59220
+
59185
59221
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-remoteipv4networkcidr
59186
59222
  '''
59187
59223
  result = self._values.get("remote_ipv4_network_cidr")
@@ -59189,7 +59225,10 @@ class CfnVPNConnectionProps:
59189
59225
 
59190
59226
  @builtins.property
59191
59227
  def remote_ipv6_network_cidr(self) -> typing.Optional[builtins.str]:
59192
- '''
59228
+ '''The IPv6 CIDR on the AWS side of the VPN connection.
59229
+
59230
+ Default: ``::/0``
59231
+
59193
59232
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-remoteipv6networkcidr
59194
59233
  '''
59195
59234
  result = self._values.get("remote_ipv6_network_cidr")
@@ -59232,7 +59271,10 @@ class CfnVPNConnectionProps:
59232
59271
 
59233
59272
  @builtins.property
59234
59273
  def transport_transit_gateway_attachment_id(self) -> typing.Optional[builtins.str]:
59235
- '''
59274
+ '''The transit gateway attachment ID to use for the VPN tunnel.
59275
+
59276
+ Required if ``OutsideIpAddressType`` is set to ``PrivateIpv4`` .
59277
+
59236
59278
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-transporttransitgatewayattachmentid
59237
59279
  '''
59238
59280
  result = self._values.get("transport_transit_gateway_attachment_id")
@@ -59240,7 +59282,10 @@ class CfnVPNConnectionProps:
59240
59282
 
59241
59283
  @builtins.property
59242
59284
  def tunnel_inside_ip_version(self) -> typing.Optional[builtins.str]:
59243
- '''
59285
+ '''Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
59286
+
59287
+ Default: ``ipv4``
59288
+
59244
59289
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-tunnelinsideipversion
59245
59290
  '''
59246
59291
  result = self._values.get("tunnel_inside_ip_version")
@@ -67743,15 +67788,16 @@ class GatewayVpcEndpointProps(GatewayVpcEndpointOptions):
67743
67788
 
67744
67789
  Example::
67745
67790
 
67746
- my_vpc = vpc_v2.VpcV2(self, "Vpc")
67747
- route_table = vpc_v2.RouteTable(self, "RouteTable",
67791
+ stack = Stack()
67792
+ my_vpc = VpcV2(self, "Vpc")
67793
+ route_table = RouteTable(self, "RouteTable",
67748
67794
  vpc=my_vpc
67749
67795
  )
67750
- subnet = vpc_v2.SubnetV2(self, "Subnet",
67796
+ subnet = SubnetV2(self, "Subnet",
67751
67797
  vpc=my_vpc,
67752
67798
  availability_zone="eu-west-2a",
67753
67799
  ipv4_cidr_block=IpCidr("10.0.0.0/24"),
67754
- subnet_type=ec2.SubnetType.PRIVATE
67800
+ subnet_type=SubnetType.PRIVATE
67755
67801
  )
67756
67802
 
67757
67803
  dynamo_endpoint = ec2.GatewayVpcEndpoint(self, "DynamoEndpoint",
@@ -67759,7 +67805,7 @@ class GatewayVpcEndpointProps(GatewayVpcEndpointOptions):
67759
67805
  vpc=my_vpc,
67760
67806
  subnets=[subnet]
67761
67807
  )
67762
- vpc_v2.Route(self, "DynamoDBRoute",
67808
+ Route(self, "DynamoDBRoute",
67763
67809
  route_table=route_table,
67764
67810
  destination="0.0.0.0/0",
67765
67811
  target={"endpoint": dynamo_endpoint}
@@ -75329,6 +75375,11 @@ class InterfaceVpcEndpointAwsService(
75329
75375
  def HEALTHLAKE(cls) -> "InterfaceVpcEndpointAwsService":
75330
75376
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "HEALTHLAKE"))
75331
75377
 
75378
+ @jsii.python.classproperty
75379
+ @jsii.member(jsii_name="IAM")
75380
+ def IAM(cls) -> "InterfaceVpcEndpointAwsService":
75381
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "IAM"))
75382
+
75332
75383
  @jsii.python.classproperty
75333
75384
  @jsii.member(jsii_name="IAM_IDENTITY_CENTER")
75334
75385
  def IAM_IDENTITY_CENTER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -75479,6 +75530,11 @@ class InterfaceVpcEndpointAwsService(
75479
75530
  def LAMBDA_(cls) -> "InterfaceVpcEndpointAwsService":
75480
75531
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "LAMBDA"))
75481
75532
 
75533
+ @jsii.python.classproperty
75534
+ @jsii.member(jsii_name="LAUNCH_WIZARD")
75535
+ def LAUNCH_WIZARD(cls) -> "InterfaceVpcEndpointAwsService":
75536
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "LAUNCH_WIZARD"))
75537
+
75482
75538
  @jsii.python.classproperty
75483
75539
  @jsii.member(jsii_name="LEX_MODELS")
75484
75540
  def LEX_MODELS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -75601,6 +75657,16 @@ class InterfaceVpcEndpointAwsService(
75601
75657
  def NEPTUNE_ANALYTICS(cls) -> "InterfaceVpcEndpointAwsService":
75602
75658
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS"))
75603
75659
 
75660
+ @jsii.python.classproperty
75661
+ @jsii.member(jsii_name="NETWORK_FIREWALL")
75662
+ def NETWORK_FIREWALL(cls) -> "InterfaceVpcEndpointAwsService":
75663
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NETWORK_FIREWALL"))
75664
+
75665
+ @jsii.python.classproperty
75666
+ @jsii.member(jsii_name="NETWORK_FIREWALL_FIPS")
75667
+ def NETWORK_FIREWALL_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
75668
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NETWORK_FIREWALL_FIPS"))
75669
+
75604
75670
  @jsii.python.classproperty
75605
75671
  @jsii.member(jsii_name="NIMBLE_STUDIO")
75606
75672
  def NIMBLE_STUDIO(cls) -> "InterfaceVpcEndpointAwsService":
@@ -75743,6 +75809,13 @@ class InterfaceVpcEndpointAwsService(
75743
75809
  ) -> "InterfaceVpcEndpointAwsService":
75744
75810
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_AD"))
75745
75811
 
75812
+ @jsii.python.classproperty
75813
+ @jsii.member(jsii_name="PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_SCEP")
75814
+ def PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_SCEP(
75815
+ cls,
75816
+ ) -> "InterfaceVpcEndpointAwsService":
75817
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRIVATE_CERTIFICATE_AUTHORITY_CONNECTOR_SCEP"))
75818
+
75746
75819
  @jsii.python.classproperty
75747
75820
  @jsii.member(jsii_name="PROMETHEUS")
75748
75821
  def PROMETHEUS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -75873,6 +75946,11 @@ class InterfaceVpcEndpointAwsService(
75873
75946
  def REPOST_SPACE(cls) -> "InterfaceVpcEndpointAwsService":
75874
75947
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "REPOST_SPACE"))
75875
75948
 
75949
+ @jsii.python.classproperty
75950
+ @jsii.member(jsii_name="RESOURCE_ACCESS_MANAGER")
75951
+ def RESOURCE_ACCESS_MANAGER(cls) -> "InterfaceVpcEndpointAwsService":
75952
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_ACCESS_MANAGER"))
75953
+
75876
75954
  @jsii.python.classproperty
75877
75955
  @jsii.member(jsii_name="ROBOMAKER")
75878
75956
  def ROBOMAKER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -88993,7 +89071,29 @@ class VpnConnectionProps(VpnConnectionOptions):
88993
89071
 
88994
89072
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.VpnConnectionType")
88995
89073
  class VpnConnectionType(enum.Enum):
88996
- '''The VPN connection type.'''
89074
+ '''The VPN connection type.
89075
+
89076
+ :exampleMetadata: infused
89077
+
89078
+ Example::
89079
+
89080
+ stack = Stack()
89081
+ my_vpc = VpcV2(self, "Vpc")
89082
+ vpn_gateway = my_vpc.enable_vpn_gateway_v2(
89083
+ vpn_route_propagation=[ec2.SubnetSelection(subnet_type=SubnetType.PUBLIC)],
89084
+ type=VpnConnectionType.IPSEC_1
89085
+ )
89086
+
89087
+ route_table = RouteTable(stack, "routeTable",
89088
+ vpc=my_vpc
89089
+ )
89090
+
89091
+ Route(stack, "route",
89092
+ destination="172.31.0.0/24",
89093
+ target={"gateway": vpn_gateway},
89094
+ route_table=route_table
89095
+ )
89096
+ '''
88997
89097
 
88998
89098
  IPSEC_1 = "IPSEC_1"
88999
89099
  '''The IPsec 1 VPN connection type.'''
@@ -254,7 +254,22 @@ import jsii
254
254
  import publication
255
255
  import typing_extensions
256
256
 
257
- from typeguard import check_type
257
+ import typeguard
258
+ from importlib.metadata import version as _metadata_package_version
259
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
260
+
261
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
262
+ if TYPEGUARD_MAJOR_VERSION <= 2:
263
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
264
+ else:
265
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
266
+ pass
267
+ else:
268
+ if TYPEGUARD_MAJOR_VERSION == 3:
269
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
270
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
271
+ else:
272
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
258
273
 
259
274
  from .._jsii import *
260
275
 
@@ -1937,7 +1952,7 @@ class CfnRepository(
1937
1952
 
1938
1953
  For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS KMS ) to encrypt your images. For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
1939
1954
 
1940
- :param encryption_type: The encryption type to use. If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* . If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
1955
+ :param encryption_type: The encryption type to use. If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. If you use the ``KMS_DSSE`` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS KMS Management Service key stored in AWS KMS . Similar to the ``KMS`` encryption type, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you've already created. If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
1941
1956
  :param kms_key: If you use the ``KMS`` encryption type, specify the AWS KMS key to use for encryption. The alias, key ID, or full ARN of the AWS KMS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS KMS key for Amazon ECR will be used.
1942
1957
 
1943
1958
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html
@@ -1970,9 +1985,13 @@ class CfnRepository(
1970
1985
  def encryption_type(self) -> builtins.str:
1971
1986
  '''The encryption type to use.
1972
1987
 
1973
- If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
1988
+ If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created.
1974
1989
 
1975
- If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
1990
+ If you use the ``KMS_DSSE`` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS KMS Management Service key stored in AWS KMS . Similar to the ``KMS`` encryption type, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you've already created.
1991
+
1992
+ If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.
1993
+
1994
+ For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
1976
1995
 
1977
1996
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-encryptionconfiguration.html#cfn-ecr-repository-encryptionconfiguration-encryptiontype
1978
1997
  '''
@@ -2424,7 +2443,7 @@ class CfnRepositoryCreationTemplate(
2424
2443
 
2425
2444
  For more control over the encryption of the contents of your repository, you can use server-side encryption with AWS Key Management Service key stored in AWS Key Management Service ( AWS KMS ) to encrypt your images. For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
2426
2445
 
2427
- :param encryption_type: The encryption type to use. If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* . If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
2446
+ :param encryption_type: The encryption type to use. If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. If you use the ``KMS_DSSE`` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS KMS Management Service key stored in AWS KMS . Similar to the ``KMS`` encryption type, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you've already created. If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
2428
2447
  :param kms_key: If you use the ``KMS`` encryption type, specify the AWS KMS key to use for encryption. The alias, key ID, or full ARN of the AWS KMS key can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed AWS KMS key for Amazon ECR will be used.
2429
2448
 
2430
2449
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html
@@ -2457,9 +2476,13 @@ class CfnRepositoryCreationTemplate(
2457
2476
  def encryption_type(self) -> builtins.str:
2458
2477
  '''The encryption type to use.
2459
2478
 
2460
- If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created. For more information, see `Protecting data using server-side encryption with an AWS KMS key stored in AWS Key Management Service (SSE-KMS) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
2479
+ If you use the ``KMS`` encryption type, the contents of the repository will be encrypted using server-side encryption with AWS Key Management Service key stored in AWS KMS . When you use AWS KMS to encrypt your data, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you already created.
2480
+
2481
+ If you use the ``KMS_DSSE`` encryption type, the contents of the repository will be encrypted with two layers of encryption using server-side encryption with the AWS KMS Management Service key stored in AWS KMS . Similar to the ``KMS`` encryption type, you can either use the default AWS managed AWS KMS key for Amazon ECR, or specify your own AWS KMS key, which you've already created.
2482
+
2483
+ If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm.
2461
2484
 
2462
- If you use the ``AES256`` encryption type, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts the images in the repository using an AES256 encryption algorithm. For more information, see `Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3) <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html>`_ in the *Amazon Simple Storage Service Console Developer Guide* .
2485
+ For more information, see `Amazon ECR encryption at rest <https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html>`_ in the *Amazon Elastic Container Registry User Guide* .
2463
2486
 
2464
2487
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html#cfn-ecr-repositorycreationtemplate-encryptionconfiguration-encryptiontype
2465
2488
  '''
@@ -232,7 +232,22 @@ import jsii
232
232
  import publication
233
233
  import typing_extensions
234
234
 
235
- from typeguard import check_type
235
+ import typeguard
236
+ from importlib.metadata import version as _metadata_package_version
237
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
238
+
239
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
240
+ if TYPEGUARD_MAJOR_VERSION <= 2:
241
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
242
+ else:
243
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
244
+ pass
245
+ else:
246
+ if TYPEGUARD_MAJOR_VERSION == 3:
247
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
248
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
249
+ else:
250
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
236
251
 
237
252
  from .._jsii import *
238
253