aws-cdk-lib 2.156.0__py3-none-any.whl → 2.158.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 +42 -23
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.158.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 +26 -76
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +122 -1
  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 +97 -14
  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 +16 -1
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +30 -15
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +16 -1
  20. aws_cdk/aws_applicationsignals/__init__.py +766 -2
  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 +66 -19
  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 +16 -1
  29. aws_cdk/aws_auditmanager/__init__.py +16 -1
  30. aws_cdk/aws_autoscaling/__init__.py +22 -7
  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 +55 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +57 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +1529 -95
  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 +22 -7
  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 +38 -23
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +46 -4
  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 +16 -1
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +16 -1
  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 +16 -1
  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 +16 -1
  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 +56 -30
  79. aws_cdk/aws_datazone/__init__.py +16 -1
  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 +16 -1
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +16 -1
  91. aws_cdk/aws_ec2/__init__.py +389 -50
  92. aws_cdk/aws_ecr/__init__.py +16 -1
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +269 -88
  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 +20 -5
  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 +16 -1
  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 +133 -5
  109. aws_cdk/aws_events/__init__.py +16 -1
  110. aws_cdk/aws_events_targets/__init__.py +16 -1
  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 +16 -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 +16 -1
  119. aws_cdk/aws_gamelift/__init__.py +16 -1
  120. aws_cdk/aws_globalaccelerator/__init__.py +16 -1
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -9
  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 +43 -17
  127. aws_cdk/aws_guardduty/__init__.py +42 -15
  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 +16 -1
  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 +124 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +16 -1
  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 +16 -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 +163 -18
  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 +46 -4
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +16 -1
  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 +16 -1
  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 +20 -5
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +16 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +364 -1
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +54 -39
  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 +16 -1
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +30 -9
  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 +210 -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 +899 -0
  203. aws_cdk/aws_personalize/__init__.py +18 -3
  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 +38 -23
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +691 -7
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +3301 -1
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +58 -5
  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 +16 -1
  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 +16 -1
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +1183 -1
  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 +18 -4
  242. aws_cdk/aws_securityhub/__init__.py +124 -104
  243. aws_cdk/aws_securitylake/__init__.py +16 -1
  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 +16 -1
  247. aws_cdk/aws_ses/__init__.py +47 -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 +35 -14
  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 +26 -7
  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 +982 -0
  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 +20 -5
  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 +16 -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 +46 -4
  288. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.158.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.156.0.dist-info/RECORD +0 -292
  292. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/top_level.txt +0 -0
@@ -1304,6 +1304,29 @@ fn = lambda_.Function(self, "Lambda_with_IPv6_VPC",
1304
1304
  )
1305
1305
  ```
1306
1306
 
1307
+ ## Outbound traffic
1308
+
1309
+ By default, when creating a Lambda function, it would add a security group outbound rule to allow sending all network traffic (except IPv6). This is controlled by `allowAllOutbound` in function properties, which has a default value of `true`.
1310
+
1311
+ To allow outbound IPv6 traffic by default, explicitly set `allowAllIpv6Outbound` to `true` in function properties as shown below (the default value for `allowAllIpv6Outbound` is `false`):
1312
+
1313
+ ```python
1314
+ import aws_cdk.aws_ec2 as ec2
1315
+
1316
+
1317
+ vpc = ec2.Vpc(self, "Vpc")
1318
+
1319
+ fn = lambda_.Function(self, "LambdaWithIpv6Outbound",
1320
+ code=lambda_.InlineCode("def main(event, context): pass"),
1321
+ handler="index.main",
1322
+ runtime=lambda_.Runtime.PYTHON_3_9,
1323
+ vpc=vpc,
1324
+ allow_all_ipv6_outbound=True
1325
+ )
1326
+ ```
1327
+
1328
+ Do not specify `allowAllOutbound` or `allowAllIpv6Outbound` property if the `securityGroups` or `securityGroup` property is set. Instead, configure these properties directly on the security group.
1329
+
1307
1330
  ## Ephemeral Storage
1308
1331
 
1309
1332
  You can configure ephemeral storage on a function to control the amount of storage it gets for reading
@@ -1483,7 +1506,22 @@ import jsii
1483
1506
  import publication
1484
1507
  import typing_extensions
1485
1508
 
1486
- from typeguard import check_type
1509
+ import typeguard
1510
+ from importlib.metadata import version as _metadata_package_version
1511
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
1512
+
1513
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
1514
+ if TYPEGUARD_MAJOR_VERSION <= 2:
1515
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
1516
+ else:
1517
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
1518
+ pass
1519
+ else:
1520
+ if TYPEGUARD_MAJOR_VERSION == 3:
1521
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
1522
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
1523
+ else:
1524
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
1487
1525
 
1488
1526
  from .._jsii import *
1489
1527
 
@@ -6126,12 +6164,14 @@ class CfnFunction(
6126
6164
 
6127
6165
  To create a function, you need a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ and an `execution role <https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html>`_ . The deployment package is a .zip file archive or container image that contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.
6128
6166
 
6129
- You set the package type to ``Image`` if the deployment package is a `container image <https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html>`_ . For a container image, the code property must include the URI of a container image in the Amazon ECR registry. You do not need to specify the handler and runtime properties.
6167
+ You set the package type to ``Image`` if the deployment package is a `container image <https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html>`_ . For these functions, include the URI of the container image in the Amazon ECR registry in the ```ImageUri`` property of the ``Code`` property <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri>`_ . You do not need to specify the handler and runtime properties.
6130
6168
 
6131
- You set the package type to ``Zip`` if the deployment package is a `.zip file archive <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip>`_ . For a .zip file archive, the code property specifies the location of the .zip file. You must also specify the handler and runtime properties. For a Python example, see `Deploy Python Lambda functions with .zip file archives <https://docs.aws.amazon.com/lambda/latest/dg/python-package.html>`_ .
6169
+ You set the package type to ``Zip`` if the deployment package is a `.zip file archive <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip>`_ . For these functions, specify the Amazon S3 location of your .zip file in the ``Code`` property. Alternatively, for Node.js and Python functions, you can define your function inline in the ```ZipFile`` property of the ``Code`` property <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile>`_ . In both cases, you must also specify the handler and runtime properties.
6132
6170
 
6133
6171
  You can use `code signing <https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html>`_ if your deployment package is a .zip file archive. To enable code signing for this function, specify the ARN of a code-signing configuration. When a user attempts to deploy a code package with ``UpdateFunctionCode`` , Lambda checks that the code package has a valid signature from a trusted publisher. The code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
6134
6172
 
6173
+ When you update a ``AWS::Lambda::Function`` resource, CloudFormation calls the `UpdateFunctionConfiguration <https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html>`_ and `UpdateFunctionCode <https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html>`_ Lambda APIs under the hood. Because these calls happen sequentially, and invocations can happen between these calls, your function may encounter errors in the time between the calls. For example, if you remove an environment variable, and the code that references that environment variable in the same CloudFormation update, you may see invocation errors related to a missing environment variable. To work around this, you can invoke your function against a version or alias by default, rather than the ``$LATEST`` version.
6174
+
6135
6175
  Note that you configure `provisioned concurrency <https://docs.aws.amazon.com/lambda/latest/dg/provisioned-concurrency.html>`_ on a ``AWS::Lambda::Version`` or a ``AWS::Lambda::Alias`` .
6136
6176
 
6137
6177
  For a complete introduction to Lambda functions, see `What is Lambda? <https://docs.aws.amazon.com/lambda/latest/dg/lambda-welcome.html>`_ in the *Lambda developer guide.*
@@ -9573,7 +9613,7 @@ class CfnUrl(
9573
9613
  :param scope: Scope in which this resource is defined.
9574
9614
  :param id: Construct identifier for this resource (unique in its scope).
9575
9615
  :param auth_type: The type of authentication that your function URL uses. Set to ``AWS_IAM`` if you want to restrict access to authenticated users only. Set to ``NONE`` if you want to bypass IAM authentication to create a public endpoint. For more information, see `Security and auth model for Lambda function URLs <https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html>`_ .
9576
- :param target_function_arn: The name of the Lambda function. **Name formats** - *Function name* - ``my-function`` . - *Function ARN* - ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* - ``123456789012:function:my-function`` . The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9616
+ :param target_function_arn: The name of the Lambda function. **Name formats** - *Function name* - ``my-function`` . - *Function ARN* - ``lambda: : :function:my-function`` . - *Partial ARN* - ``:function:my-function`` . The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9577
9617
  :param cors: The `Cross-Origin Resource Sharing (CORS) <https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS>`_ settings for your function URL.
9578
9618
  :param invoke_mode: Use one of the following options:. - ``BUFFERED`` – This is the default option. Lambda invokes your function using the ``Invoke`` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. - ``RESPONSE_STREAM`` – Your function streams payload results as they become available. Lambda invokes your function using the ``InvokeWithResponseStream`` API operation. The maximum response payload size is 20 MB, however, you can `request a quota increase <https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html>`_ .
9579
9619
  :param qualifier: The alias name.
@@ -9893,7 +9933,7 @@ class CfnUrlProps:
9893
9933
  '''Properties for defining a ``CfnUrl``.
9894
9934
 
9895
9935
  :param auth_type: The type of authentication that your function URL uses. Set to ``AWS_IAM`` if you want to restrict access to authenticated users only. Set to ``NONE`` if you want to bypass IAM authentication to create a public endpoint. For more information, see `Security and auth model for Lambda function URLs <https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html>`_ .
9896
- :param target_function_arn: The name of the Lambda function. **Name formats** - *Function name* - ``my-function`` . - *Function ARN* - ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* - ``123456789012:function:my-function`` . The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9936
+ :param target_function_arn: The name of the Lambda function. **Name formats** - *Function name* - ``my-function`` . - *Function ARN* - ``lambda: : :function:my-function`` . - *Partial ARN* - ``:function:my-function`` . The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9897
9937
  :param cors: The `Cross-Origin Resource Sharing (CORS) <https://docs.aws.amazon.com/https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS>`_ settings for your function URL.
9898
9938
  :param invoke_mode: Use one of the following options:. - ``BUFFERED`` – This is the default option. Lambda invokes your function using the ``Invoke`` API operation. Invocation results are available when the payload is complete. The maximum payload size is 6 MB. - ``RESPONSE_STREAM`` – Your function streams payload results as they become available. Lambda invokes your function using the ``InvokeWithResponseStream`` API operation. The maximum response payload size is 20 MB, however, you can `request a quota increase <https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html>`_ .
9899
9939
  :param qualifier: The alias name.
@@ -9960,8 +10000,8 @@ class CfnUrlProps:
9960
10000
 
9961
10001
  **Name formats** - *Function name* - ``my-function`` .
9962
10002
 
9963
- - *Function ARN* - ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` .
9964
- - *Partial ARN* - ``123456789012:function:my-function`` .
10003
+ - *Function ARN* - ``lambda: : :function:my-function`` .
10004
+ - *Partial ARN* - ``:function:my-function`` .
9965
10005
 
9966
10006
  The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9967
10007
 
@@ -14120,6 +14160,7 @@ class FunctionAttributes:
14120
14160
  "on_success": "onSuccess",
14121
14161
  "retry_attempts": "retryAttempts",
14122
14162
  "adot_instrumentation": "adotInstrumentation",
14163
+ "allow_all_ipv6_outbound": "allowAllIpv6Outbound",
14123
14164
  "allow_all_outbound": "allowAllOutbound",
14124
14165
  "allow_public_subnet": "allowPublicSubnet",
14125
14166
  "application_log_level": "applicationLogLevel",
@@ -14174,6 +14215,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14174
14215
  on_success: typing.Optional["IDestination"] = None,
14175
14216
  retry_attempts: typing.Optional[jsii.Number] = None,
14176
14217
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
14218
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
14177
14219
  allow_all_outbound: typing.Optional[builtins.bool] = None,
14178
14220
  allow_public_subnet: typing.Optional[builtins.bool] = None,
14179
14221
  application_log_level: typing.Optional[builtins.str] = None,
@@ -14225,7 +14267,8 @@ class FunctionOptions(EventInvokeConfigOptions):
14225
14267
  :param on_success: The destination for successful invocations. Default: - no destination
14226
14268
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
14227
14269
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
14228
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
14270
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
14271
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
14229
14272
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
14230
14273
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
14231
14274
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -14314,6 +14357,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14314
14357
  exec_wrapper=lambda_.AdotLambdaExecWrapper.REGULAR_HANDLER,
14315
14358
  layer_version=adot_layer_version
14316
14359
  ),
14360
+ allow_all_ipv6_outbound=False,
14317
14361
  allow_all_outbound=False,
14318
14362
  allow_public_subnet=False,
14319
14363
  application_log_level="applicationLogLevel",
@@ -14399,6 +14443,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14399
14443
  check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
14400
14444
  check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
14401
14445
  check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
14446
+ check_type(argname="argument allow_all_ipv6_outbound", value=allow_all_ipv6_outbound, expected_type=type_hints["allow_all_ipv6_outbound"])
14402
14447
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
14403
14448
  check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
14404
14449
  check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
@@ -14453,6 +14498,8 @@ class FunctionOptions(EventInvokeConfigOptions):
14453
14498
  self._values["retry_attempts"] = retry_attempts
14454
14499
  if adot_instrumentation is not None:
14455
14500
  self._values["adot_instrumentation"] = adot_instrumentation
14501
+ if allow_all_ipv6_outbound is not None:
14502
+ self._values["allow_all_ipv6_outbound"] = allow_all_ipv6_outbound
14456
14503
  if allow_all_outbound is not None:
14457
14504
  self._values["allow_all_outbound"] = allow_all_outbound
14458
14505
  if allow_public_subnet is not None:
@@ -14593,9 +14640,25 @@ class FunctionOptions(EventInvokeConfigOptions):
14593
14640
  result = self._values.get("adot_instrumentation")
14594
14641
  return typing.cast(typing.Optional[AdotInstrumentationConfig], result)
14595
14642
 
14643
+ @builtins.property
14644
+ def allow_all_ipv6_outbound(self) -> typing.Optional[builtins.bool]:
14645
+ '''Whether to allow the Lambda to send all ipv6 network traffic.
14646
+
14647
+ If set to true, there will only be a single egress rule which allows all
14648
+ outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the
14649
+ Lambda to connect to network targets using ipv6.
14650
+
14651
+ Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
14652
+ Instead, configure ``allowAllIpv6Outbound`` directly on the security group.
14653
+
14654
+ :default: false
14655
+ '''
14656
+ result = self._values.get("allow_all_ipv6_outbound")
14657
+ return typing.cast(typing.Optional[builtins.bool], result)
14658
+
14596
14659
  @builtins.property
14597
14660
  def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
14598
- '''Whether to allow the Lambda to send all network traffic.
14661
+ '''Whether to allow the Lambda to send all network traffic (except ipv6).
14599
14662
 
14600
14663
  If set to false, you must individually add traffic rules to allow the
14601
14664
  Lambda to connect to network targets.
@@ -15135,6 +15198,7 @@ class FunctionOptions(EventInvokeConfigOptions):
15135
15198
  "on_success": "onSuccess",
15136
15199
  "retry_attempts": "retryAttempts",
15137
15200
  "adot_instrumentation": "adotInstrumentation",
15201
+ "allow_all_ipv6_outbound": "allowAllIpv6Outbound",
15138
15202
  "allow_all_outbound": "allowAllOutbound",
15139
15203
  "allow_public_subnet": "allowPublicSubnet",
15140
15204
  "application_log_level": "applicationLogLevel",
@@ -15192,6 +15256,7 @@ class FunctionProps(FunctionOptions):
15192
15256
  on_success: typing.Optional["IDestination"] = None,
15193
15257
  retry_attempts: typing.Optional[jsii.Number] = None,
15194
15258
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
15259
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
15195
15260
  allow_all_outbound: typing.Optional[builtins.bool] = None,
15196
15261
  allow_public_subnet: typing.Optional[builtins.bool] = None,
15197
15262
  application_log_level: typing.Optional[builtins.str] = None,
@@ -15245,7 +15310,8 @@ class FunctionProps(FunctionOptions):
15245
15310
  :param on_success: The destination for successful invocations. Default: - no destination
15246
15311
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
15247
15312
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
15248
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
15313
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
15314
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
15249
15315
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
15250
15316
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
15251
15317
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -15334,6 +15400,7 @@ class FunctionProps(FunctionOptions):
15334
15400
  check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
15335
15401
  check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
15336
15402
  check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
15403
+ check_type(argname="argument allow_all_ipv6_outbound", value=allow_all_ipv6_outbound, expected_type=type_hints["allow_all_ipv6_outbound"])
15337
15404
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
15338
15405
  check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
15339
15406
  check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
@@ -15395,6 +15462,8 @@ class FunctionProps(FunctionOptions):
15395
15462
  self._values["retry_attempts"] = retry_attempts
15396
15463
  if adot_instrumentation is not None:
15397
15464
  self._values["adot_instrumentation"] = adot_instrumentation
15465
+ if allow_all_ipv6_outbound is not None:
15466
+ self._values["allow_all_ipv6_outbound"] = allow_all_ipv6_outbound
15398
15467
  if allow_all_outbound is not None:
15399
15468
  self._values["allow_all_outbound"] = allow_all_outbound
15400
15469
  if allow_public_subnet is not None:
@@ -15535,9 +15604,25 @@ class FunctionProps(FunctionOptions):
15535
15604
  result = self._values.get("adot_instrumentation")
15536
15605
  return typing.cast(typing.Optional[AdotInstrumentationConfig], result)
15537
15606
 
15607
+ @builtins.property
15608
+ def allow_all_ipv6_outbound(self) -> typing.Optional[builtins.bool]:
15609
+ '''Whether to allow the Lambda to send all ipv6 network traffic.
15610
+
15611
+ If set to true, there will only be a single egress rule which allows all
15612
+ outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the
15613
+ Lambda to connect to network targets using ipv6.
15614
+
15615
+ Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
15616
+ Instead, configure ``allowAllIpv6Outbound`` directly on the security group.
15617
+
15618
+ :default: false
15619
+ '''
15620
+ result = self._values.get("allow_all_ipv6_outbound")
15621
+ return typing.cast(typing.Optional[builtins.bool], result)
15622
+
15538
15623
  @builtins.property
15539
15624
  def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
15540
- '''Whether to allow the Lambda to send all network traffic.
15625
+ '''Whether to allow the Lambda to send all network traffic (except ipv6).
15541
15626
 
15542
15627
  If set to false, you must individually add traffic rules to allow the
15543
15628
  Lambda to connect to network targets.
@@ -20587,6 +20672,7 @@ class S3Code(Code, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_lambda.S3
20587
20672
  "on_success": "onSuccess",
20588
20673
  "retry_attempts": "retryAttempts",
20589
20674
  "adot_instrumentation": "adotInstrumentation",
20675
+ "allow_all_ipv6_outbound": "allowAllIpv6Outbound",
20590
20676
  "allow_all_outbound": "allowAllOutbound",
20591
20677
  "allow_public_subnet": "allowPublicSubnet",
20592
20678
  "application_log_level": "applicationLogLevel",
@@ -20646,6 +20732,7 @@ class SingletonFunctionProps(FunctionProps):
20646
20732
  on_success: typing.Optional[IDestination] = None,
20647
20733
  retry_attempts: typing.Optional[jsii.Number] = None,
20648
20734
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
20735
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
20649
20736
  allow_all_outbound: typing.Optional[builtins.bool] = None,
20650
20737
  allow_public_subnet: typing.Optional[builtins.bool] = None,
20651
20738
  application_log_level: typing.Optional[builtins.str] = None,
@@ -20702,7 +20789,8 @@ class SingletonFunctionProps(FunctionProps):
20702
20789
  :param on_success: The destination for successful invocations. Default: - no destination
20703
20790
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
20704
20791
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
20705
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
20792
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
20793
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
20706
20794
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
20707
20795
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
20708
20796
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -20776,6 +20864,7 @@ class SingletonFunctionProps(FunctionProps):
20776
20864
  check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
20777
20865
  check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
20778
20866
  check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
20867
+ check_type(argname="argument allow_all_ipv6_outbound", value=allow_all_ipv6_outbound, expected_type=type_hints["allow_all_ipv6_outbound"])
20779
20868
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
20780
20869
  check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
20781
20870
  check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
@@ -20840,6 +20929,8 @@ class SingletonFunctionProps(FunctionProps):
20840
20929
  self._values["retry_attempts"] = retry_attempts
20841
20930
  if adot_instrumentation is not None:
20842
20931
  self._values["adot_instrumentation"] = adot_instrumentation
20932
+ if allow_all_ipv6_outbound is not None:
20933
+ self._values["allow_all_ipv6_outbound"] = allow_all_ipv6_outbound
20843
20934
  if allow_all_outbound is not None:
20844
20935
  self._values["allow_all_outbound"] = allow_all_outbound
20845
20936
  if allow_public_subnet is not None:
@@ -20982,9 +21073,25 @@ class SingletonFunctionProps(FunctionProps):
20982
21073
  result = self._values.get("adot_instrumentation")
20983
21074
  return typing.cast(typing.Optional[AdotInstrumentationConfig], result)
20984
21075
 
21076
+ @builtins.property
21077
+ def allow_all_ipv6_outbound(self) -> typing.Optional[builtins.bool]:
21078
+ '''Whether to allow the Lambda to send all ipv6 network traffic.
21079
+
21080
+ If set to true, there will only be a single egress rule which allows all
21081
+ outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the
21082
+ Lambda to connect to network targets using ipv6.
21083
+
21084
+ Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
21085
+ Instead, configure ``allowAllIpv6Outbound`` directly on the security group.
21086
+
21087
+ :default: false
21088
+ '''
21089
+ result = self._values.get("allow_all_ipv6_outbound")
21090
+ return typing.cast(typing.Optional[builtins.bool], result)
21091
+
20985
21092
  @builtins.property
20986
21093
  def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
20987
- '''Whether to allow the Lambda to send all network traffic.
21094
+ '''Whether to allow the Lambda to send all network traffic (except ipv6).
20988
21095
 
20989
21096
  If set to false, you must individually add traffic rules to allow the
20990
21097
  Lambda to connect to network targets.
@@ -23527,6 +23634,7 @@ class CodeSigningConfig(
23527
23634
  "on_success": "onSuccess",
23528
23635
  "retry_attempts": "retryAttempts",
23529
23636
  "adot_instrumentation": "adotInstrumentation",
23637
+ "allow_all_ipv6_outbound": "allowAllIpv6Outbound",
23530
23638
  "allow_all_outbound": "allowAllOutbound",
23531
23639
  "allow_public_subnet": "allowPublicSubnet",
23532
23640
  "application_log_level": "applicationLogLevel",
@@ -23582,6 +23690,7 @@ class DockerImageFunctionProps(FunctionOptions):
23582
23690
  on_success: typing.Optional[IDestination] = None,
23583
23691
  retry_attempts: typing.Optional[jsii.Number] = None,
23584
23692
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
23693
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
23585
23694
  allow_all_outbound: typing.Optional[builtins.bool] = None,
23586
23695
  allow_public_subnet: typing.Optional[builtins.bool] = None,
23587
23696
  application_log_level: typing.Optional[builtins.str] = None,
@@ -23634,7 +23743,8 @@ class DockerImageFunctionProps(FunctionOptions):
23634
23743
  :param on_success: The destination for successful invocations. Default: - no destination
23635
23744
  :param retry_attempts: The maximum number of times to retry when the function returns an error. Minimum: 0 Maximum: 2 Default: 2
23636
23745
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
23637
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
23746
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
23747
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
23638
23748
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
23639
23749
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
23640
23750
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -23702,6 +23812,7 @@ class DockerImageFunctionProps(FunctionOptions):
23702
23812
  check_type(argname="argument on_success", value=on_success, expected_type=type_hints["on_success"])
23703
23813
  check_type(argname="argument retry_attempts", value=retry_attempts, expected_type=type_hints["retry_attempts"])
23704
23814
  check_type(argname="argument adot_instrumentation", value=adot_instrumentation, expected_type=type_hints["adot_instrumentation"])
23815
+ check_type(argname="argument allow_all_ipv6_outbound", value=allow_all_ipv6_outbound, expected_type=type_hints["allow_all_ipv6_outbound"])
23705
23816
  check_type(argname="argument allow_all_outbound", value=allow_all_outbound, expected_type=type_hints["allow_all_outbound"])
23706
23817
  check_type(argname="argument allow_public_subnet", value=allow_public_subnet, expected_type=type_hints["allow_public_subnet"])
23707
23818
  check_type(argname="argument application_log_level", value=application_log_level, expected_type=type_hints["application_log_level"])
@@ -23759,6 +23870,8 @@ class DockerImageFunctionProps(FunctionOptions):
23759
23870
  self._values["retry_attempts"] = retry_attempts
23760
23871
  if adot_instrumentation is not None:
23761
23872
  self._values["adot_instrumentation"] = adot_instrumentation
23873
+ if allow_all_ipv6_outbound is not None:
23874
+ self._values["allow_all_ipv6_outbound"] = allow_all_ipv6_outbound
23762
23875
  if allow_all_outbound is not None:
23763
23876
  self._values["allow_all_outbound"] = allow_all_outbound
23764
23877
  if allow_public_subnet is not None:
@@ -23899,9 +24012,25 @@ class DockerImageFunctionProps(FunctionOptions):
23899
24012
  result = self._values.get("adot_instrumentation")
23900
24013
  return typing.cast(typing.Optional[AdotInstrumentationConfig], result)
23901
24014
 
24015
+ @builtins.property
24016
+ def allow_all_ipv6_outbound(self) -> typing.Optional[builtins.bool]:
24017
+ '''Whether to allow the Lambda to send all ipv6 network traffic.
24018
+
24019
+ If set to true, there will only be a single egress rule which allows all
24020
+ outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the
24021
+ Lambda to connect to network targets using ipv6.
24022
+
24023
+ Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set.
24024
+ Instead, configure ``allowAllIpv6Outbound`` directly on the security group.
24025
+
24026
+ :default: false
24027
+ '''
24028
+ result = self._values.get("allow_all_ipv6_outbound")
24029
+ return typing.cast(typing.Optional[builtins.bool], result)
24030
+
23902
24031
  @builtins.property
23903
24032
  def allow_all_outbound(self) -> typing.Optional[builtins.bool]:
23904
- '''Whether to allow the Lambda to send all network traffic.
24033
+ '''Whether to allow the Lambda to send all network traffic (except ipv6).
23905
24034
 
23906
24035
  If set to false, you must individually add traffic rules to allow the
23907
24036
  Lambda to connect to network targets.
@@ -25637,6 +25766,7 @@ class SingletonFunction(
25637
25766
  handler: builtins.str,
25638
25767
  runtime: Runtime,
25639
25768
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
25769
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
25640
25770
  allow_all_outbound: typing.Optional[builtins.bool] = None,
25641
25771
  allow_public_subnet: typing.Optional[builtins.bool] = None,
25642
25772
  application_log_level: typing.Optional[builtins.str] = None,
@@ -25694,7 +25824,8 @@ class SingletonFunction(
25694
25824
  :param handler: The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html. Use ``Handler.FROM_IMAGE`` when defining a function from a Docker image. NOTE: If you specify your source code as inline text by specifying the ZipFile property within the Code property, specify index.function_name as the handler.
25695
25825
  :param runtime: The runtime environment for the Lambda function that you are uploading. For valid values, see the Runtime property in the AWS Lambda Developer Guide. Use ``Runtime.FROM_IMAGE`` when defining a function from a Docker image.
25696
25826
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
25697
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
25827
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
25828
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
25698
25829
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
25699
25830
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
25700
25831
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -25753,6 +25884,7 @@ class SingletonFunction(
25753
25884
  handler=handler,
25754
25885
  runtime=runtime,
25755
25886
  adot_instrumentation=adot_instrumentation,
25887
+ allow_all_ipv6_outbound=allow_all_ipv6_outbound,
25756
25888
  allow_all_outbound=allow_all_outbound,
25757
25889
  allow_public_subnet=allow_public_subnet,
25758
25890
  application_log_level=application_log_level,
@@ -26626,6 +26758,7 @@ class Function(
26626
26758
  handler: builtins.str,
26627
26759
  runtime: Runtime,
26628
26760
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
26761
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
26629
26762
  allow_all_outbound: typing.Optional[builtins.bool] = None,
26630
26763
  allow_public_subnet: typing.Optional[builtins.bool] = None,
26631
26764
  application_log_level: typing.Optional[builtins.str] = None,
@@ -26681,7 +26814,8 @@ class Function(
26681
26814
  :param handler: The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html. Use ``Handler.FROM_IMAGE`` when defining a function from a Docker image. NOTE: If you specify your source code as inline text by specifying the ZipFile property within the Code property, specify index.function_name as the handler.
26682
26815
  :param runtime: The runtime environment for the Lambda function that you are uploading. For valid values, see the Runtime property in the AWS Lambda Developer Guide. Use ``Runtime.FROM_IMAGE`` when defining a function from a Docker image.
26683
26816
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
26684
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
26817
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
26818
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
26685
26819
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
26686
26820
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
26687
26821
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -26738,6 +26872,7 @@ class Function(
26738
26872
  handler=handler,
26739
26873
  runtime=runtime,
26740
26874
  adot_instrumentation=adot_instrumentation,
26875
+ allow_all_ipv6_outbound=allow_all_ipv6_outbound,
26741
26876
  allow_all_outbound=allow_all_outbound,
26742
26877
  allow_public_subnet=allow_public_subnet,
26743
26878
  application_log_level=application_log_level,
@@ -27421,6 +27556,7 @@ class DockerImageFunction(
27421
27556
  *,
27422
27557
  code: DockerImageCode,
27423
27558
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
27559
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
27424
27560
  allow_all_outbound: typing.Optional[builtins.bool] = None,
27425
27561
  allow_public_subnet: typing.Optional[builtins.bool] = None,
27426
27562
  application_log_level: typing.Optional[builtins.str] = None,
@@ -27474,7 +27610,8 @@ class DockerImageFunction(
27474
27610
  :param id: -
27475
27611
  :param code: The source code of your Lambda function. You can point to a file in an Amazon Simple Storage Service (Amazon S3) bucket or specify your source code as inline text.
27476
27612
  :param adot_instrumentation: Specify the configuration of AWS Distro for OpenTelemetry (ADOT) instrumentation. Default: - No ADOT instrumentation
27477
- :param allow_all_outbound: Whether to allow the Lambda to send all network traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
27613
+ :param allow_all_ipv6_outbound: Whether to allow the Lambda to send all ipv6 network traffic. If set to true, there will only be a single egress rule which allows all outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets using ipv6. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllIpv6Outbound`` directly on the security group. Default: false
27614
+ :param allow_all_outbound: Whether to allow the Lambda to send all network traffic (except ipv6). If set to false, you must individually add traffic rules to allow the Lambda to connect to network targets. Do not specify this property if the ``securityGroups`` or ``securityGroup`` property is set. Instead, configure ``allowAllOutbound`` directly on the security group. Default: true
27478
27615
  :param allow_public_subnet: Lambda Functions in a public subnet can NOT access the internet. Use this property to acknowledge this limitation and still place the function in a public subnet. Default: false
27479
27616
  :param application_log_level: (deprecated) Sets the application log level for the function. Default: "INFO"
27480
27617
  :param application_log_level_v2: Sets the application log level for the function. Default: ApplicationLogLevel.INFO
@@ -27529,6 +27666,7 @@ class DockerImageFunction(
27529
27666
  props = DockerImageFunctionProps(
27530
27667
  code=code,
27531
27668
  adot_instrumentation=adot_instrumentation,
27669
+ allow_all_ipv6_outbound=allow_all_ipv6_outbound,
27532
27670
  allow_all_outbound=allow_all_outbound,
27533
27671
  allow_public_subnet=allow_public_subnet,
27534
27672
  application_log_level=application_log_level,
@@ -29557,6 +29695,7 @@ def _typecheckingstub__59918bb957d892739733c7a5849db990615fe5329709ad7ba703e0ee4
29557
29695
  on_success: typing.Optional[IDestination] = None,
29558
29696
  retry_attempts: typing.Optional[jsii.Number] = None,
29559
29697
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
29698
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
29560
29699
  allow_all_outbound: typing.Optional[builtins.bool] = None,
29561
29700
  allow_public_subnet: typing.Optional[builtins.bool] = None,
29562
29701
  application_log_level: typing.Optional[builtins.str] = None,
@@ -29611,6 +29750,7 @@ def _typecheckingstub__94e70d11aa3c53737d418dbb9983973dfc06dbdef5c8cc30613cc3c6d
29611
29750
  on_success: typing.Optional[IDestination] = None,
29612
29751
  retry_attempts: typing.Optional[jsii.Number] = None,
29613
29752
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
29753
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
29614
29754
  allow_all_outbound: typing.Optional[builtins.bool] = None,
29615
29755
  allow_public_subnet: typing.Optional[builtins.bool] = None,
29616
29756
  application_log_level: typing.Optional[builtins.str] = None,
@@ -30109,6 +30249,7 @@ def _typecheckingstub__68a03ec9f866a29c77aabcf8328c63a49511790fa9714874f255b3292
30109
30249
  on_success: typing.Optional[IDestination] = None,
30110
30250
  retry_attempts: typing.Optional[jsii.Number] = None,
30111
30251
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30252
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
30112
30253
  allow_all_outbound: typing.Optional[builtins.bool] = None,
30113
30254
  allow_public_subnet: typing.Optional[builtins.bool] = None,
30114
30255
  application_log_level: typing.Optional[builtins.str] = None,
@@ -30361,6 +30502,7 @@ def _typecheckingstub__04dd97f4b18c00e7ee0981f2428664401ae0b75dbda6102ea3ef53d08
30361
30502
  on_success: typing.Optional[IDestination] = None,
30362
30503
  retry_attempts: typing.Optional[jsii.Number] = None,
30363
30504
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30505
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
30364
30506
  allow_all_outbound: typing.Optional[builtins.bool] = None,
30365
30507
  allow_public_subnet: typing.Optional[builtins.bool] = None,
30366
30508
  application_log_level: typing.Optional[builtins.str] = None,
@@ -30620,6 +30762,7 @@ def _typecheckingstub__e7b766bff13bb7266787cec9bebb600187e19c1672e530bb9cfa31649
30620
30762
  handler: builtins.str,
30621
30763
  runtime: Runtime,
30622
30764
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30765
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
30623
30766
  allow_all_outbound: typing.Optional[builtins.bool] = None,
30624
30767
  allow_public_subnet: typing.Optional[builtins.bool] = None,
30625
30768
  application_log_level: typing.Optional[builtins.str] = None,
@@ -30837,6 +30980,7 @@ def _typecheckingstub__724895b6b59aaf2b678ef25f2beca19fb114fc04ff6b37edef28e12b3
30837
30980
  handler: builtins.str,
30838
30981
  runtime: Runtime,
30839
30982
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
30983
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
30840
30984
  allow_all_outbound: typing.Optional[builtins.bool] = None,
30841
30985
  allow_public_subnet: typing.Optional[builtins.bool] = None,
30842
30986
  application_log_level: typing.Optional[builtins.str] = None,
@@ -30981,6 +31125,7 @@ def _typecheckingstub__368a49fe1f866c7ea7986c57b6f8488d0fddea8f62bf05ec1ed7eb09b
30981
31125
  *,
30982
31126
  code: DockerImageCode,
30983
31127
  adot_instrumentation: typing.Optional[typing.Union[AdotInstrumentationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
31128
+ allow_all_ipv6_outbound: typing.Optional[builtins.bool] = None,
30984
31129
  allow_all_outbound: typing.Optional[builtins.bool] = None,
30985
31130
  allow_public_subnet: typing.Optional[builtins.bool] = None,
30986
31131
  application_log_level: typing.Optional[builtins.str] = None,
@@ -162,7 +162,22 @@ import jsii
162
162
  import publication
163
163
  import typing_extensions
164
164
 
165
- from typeguard import check_type
165
+ import typeguard
166
+ from importlib.metadata import version as _metadata_package_version
167
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
168
+
169
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
170
+ if TYPEGUARD_MAJOR_VERSION <= 2:
171
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
172
+ else:
173
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
174
+ pass
175
+ else:
176
+ if TYPEGUARD_MAJOR_VERSION == 3:
177
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
178
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
179
+ else:
180
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
166
181
 
167
182
  from .._jsii import *
168
183
 
@@ -427,7 +427,22 @@ import jsii
427
427
  import publication
428
428
  import typing_extensions
429
429
 
430
- from typeguard import check_type
430
+ import typeguard
431
+ from importlib.metadata import version as _metadata_package_version
432
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
433
+
434
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
435
+ if TYPEGUARD_MAJOR_VERSION <= 2:
436
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
437
+ else:
438
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
439
+ pass
440
+ else:
441
+ if TYPEGUARD_MAJOR_VERSION == 3:
442
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
443
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
444
+ else:
445
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
431
446
 
432
447
  from .._jsii import *
433
448