aws-cdk-lib 2.152.0__py3-none-any.whl → 2.154.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 (269) hide show
  1. aws_cdk/__init__.py +157 -215
  2. aws_cdk/_jsii/__init__.py +2 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.152.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -3
  5. aws_cdk/aws_accessanalyzer/__init__.py +5 -5
  6. aws_cdk/aws_acmpca/__init__.py +79 -24
  7. aws_cdk/aws_amazonmq/__init__.py +161 -161
  8. aws_cdk/aws_amplify/__init__.py +36 -36
  9. aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
  10. aws_cdk/aws_apigateway/__init__.py +122 -122
  11. aws_cdk/aws_apigatewayv2/__init__.py +135 -121
  12. aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
  13. aws_cdk/aws_appconfig/__init__.py +59 -59
  14. aws_cdk/aws_appflow/__init__.py +20 -20
  15. aws_cdk/aws_appintegrations/__init__.py +19 -19
  16. aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
  17. aws_cdk/aws_applicationinsights/__init__.py +11 -11
  18. aws_cdk/aws_applicationsignals/__init__.py +5 -5
  19. aws_cdk/aws_appmesh/__init__.py +35 -35
  20. aws_cdk/aws_apprunner/__init__.py +25 -25
  21. aws_cdk/aws_appstream/__init__.py +105 -105
  22. aws_cdk/aws_appsync/__init__.py +89 -89
  23. aws_cdk/aws_apptest/__init__.py +25 -25
  24. aws_cdk/aws_aps/__init__.py +14 -14
  25. aws_cdk/aws_arczonalshift/__init__.py +200 -3
  26. aws_cdk/aws_athena/__init__.py +25 -25
  27. aws_cdk/aws_auditmanager/__init__.py +15 -15
  28. aws_cdk/aws_autoscaling/__init__.py +84 -84
  29. aws_cdk/aws_autoscalingplans/__init__.py +2 -2
  30. aws_cdk/aws_b2bi/__init__.py +24 -24
  31. aws_cdk/aws_backup/__init__.py +33 -33
  32. aws_cdk/aws_backupgateway/__init__.py +7 -7
  33. aws_cdk/aws_batch/__init__.py +289 -35
  34. aws_cdk/aws_bcmdataexports/__init__.py +2 -2
  35. aws_cdk/aws_bedrock/__init__.py +13239 -3277
  36. aws_cdk/aws_billingconductor/__init__.py +28 -28
  37. aws_cdk/aws_budgets/__init__.py +12 -12
  38. aws_cdk/aws_cassandra/__init__.py +16 -16
  39. aws_cdk/aws_ce/__init__.py +17 -17
  40. aws_cdk/aws_certificatemanager/__init__.py +9 -9
  41. aws_cdk/aws_chatbot/__init__.py +22 -22
  42. aws_cdk/aws_cleanrooms/__init__.py +2470 -307
  43. aws_cdk/aws_cleanroomsml/__init__.py +5 -5
  44. aws_cdk/aws_cloud9/__init__.py +10 -10
  45. aws_cdk/aws_cloudformation/__init__.py +94 -69
  46. aws_cdk/aws_cloudfront/__init__.py +31 -30
  47. aws_cdk/aws_cloudfront/experimental/__init__.py +23 -0
  48. aws_cdk/aws_cloudtrail/__init__.py +46 -44
  49. aws_cdk/aws_cloudwatch/__init__.py +61 -69
  50. aws_cdk/aws_codeartifact/__init__.py +19 -19
  51. aws_cdk/aws_codebuild/__init__.py +60 -68
  52. aws_cdk/aws_codecommit/__init__.py +10 -6
  53. aws_cdk/aws_codeconnections/__init__.py +5 -5
  54. aws_cdk/aws_codedeploy/__init__.py +28 -28
  55. aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
  56. aws_cdk/aws_codegurureviewer/__init__.py +6 -6
  57. aws_cdk/aws_codepipeline/__init__.py +849 -52
  58. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  59. aws_cdk/aws_codestar/__init__.py +8 -8
  60. aws_cdk/aws_codestarconnections/__init__.py +17 -17
  61. aws_cdk/aws_codestarnotifications/__init__.py +10 -10
  62. aws_cdk/aws_cognito/__init__.py +465 -133
  63. aws_cdk/aws_comprehend/__init__.py +20 -20
  64. aws_cdk/aws_config/__init__.py +67 -67
  65. aws_cdk/aws_connect/__init__.py +139 -137
  66. aws_cdk/aws_connectcampaigns/__init__.py +5 -5
  67. aws_cdk/aws_controltower/__init__.py +12 -12
  68. aws_cdk/aws_cur/__init__.py +12 -12
  69. aws_cdk/aws_customerprofiles/__init__.py +36 -36
  70. aws_cdk/aws_databrew/__init__.py +45 -45
  71. aws_cdk/aws_datapipeline/__init__.py +12 -8
  72. aws_cdk/aws_datasync/__init__.py +119 -117
  73. aws_cdk/aws_datazone/__init__.py +63 -63
  74. aws_cdk/aws_dax/__init__.py +20 -20
  75. aws_cdk/aws_deadline/__init__.py +221 -292
  76. aws_cdk/aws_detective/__init__.py +8 -8
  77. aws_cdk/aws_devicefarm/__init__.py +37 -37
  78. aws_cdk/aws_devopsguru/__init__.py +2 -2
  79. aws_cdk/aws_directoryservice/__init__.py +15 -15
  80. aws_cdk/aws_dlm/__init__.py +12 -12
  81. aws_cdk/aws_dms/__init__.py +300 -298
  82. aws_cdk/aws_docdb/__init__.py +49 -49
  83. aws_cdk/aws_docdbelastic/__init__.py +14 -14
  84. aws_cdk/aws_dynamodb/__init__.py +371 -37
  85. aws_cdk/aws_ec2/__init__.py +900 -606
  86. aws_cdk/aws_ecr/__init__.py +117 -77
  87. aws_cdk/aws_ecr_assets/__init__.py +4 -4
  88. aws_cdk/aws_ecs/__init__.py +190 -191
  89. aws_cdk/aws_ecs_patterns/__init__.py +2 -2
  90. aws_cdk/aws_efs/__init__.py +22 -22
  91. aws_cdk/aws_eks/__init__.py +177 -61
  92. aws_cdk/aws_elasticache/__init__.py +218 -226
  93. aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
  94. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
  95. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
  96. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
  97. aws_cdk/aws_elasticsearch/__init__.py +16 -16
  98. aws_cdk/aws_emr/__init__.py +74 -74
  99. aws_cdk/aws_emrcontainers/__init__.py +3 -3
  100. aws_cdk/aws_emrserverless/__init__.py +157 -14
  101. aws_cdk/aws_entityresolution/__init__.py +613 -35
  102. aws_cdk/aws_events/__init__.py +42 -42
  103. aws_cdk/aws_eventschemas/__init__.py +16 -16
  104. aws_cdk/aws_evidently/__init__.py +38 -38
  105. aws_cdk/aws_finspace/__init__.py +8 -8
  106. aws_cdk/aws_fis/__init__.py +12 -12
  107. aws_cdk/aws_fms/__init__.py +21 -21
  108. aws_cdk/aws_forecast/__init__.py +18 -11
  109. aws_cdk/aws_frauddetector/__init__.py +35 -35
  110. aws_cdk/aws_fsx/__init__.py +35 -35
  111. aws_cdk/aws_gamelift/__init__.py +103 -103
  112. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  113. aws_cdk/aws_glue/__init__.py +132 -139
  114. aws_cdk/aws_grafana/__init__.py +17 -17
  115. aws_cdk/aws_greengrass/__init__.py +48 -48
  116. aws_cdk/aws_greengrassv2/__init__.py +10 -10
  117. aws_cdk/aws_groundstation/__init__.py +16 -16
  118. aws_cdk/aws_guardduty/__init__.py +40 -38
  119. aws_cdk/aws_healthimaging/__init__.py +3 -3
  120. aws_cdk/aws_healthlake/__init__.py +6 -6
  121. aws_cdk/aws_iam/__init__.py +120 -122
  122. aws_cdk/aws_identitystore/__init__.py +6 -6
  123. aws_cdk/aws_imagebuilder/__init__.py +92 -92
  124. aws_cdk/aws_inspector/__init__.py +8 -8
  125. aws_cdk/aws_inspectorv2/__init__.py +102 -97
  126. aws_cdk/aws_internetmonitor/__init__.py +12 -12
  127. aws_cdk/aws_iot/__init__.py +141 -141
  128. aws_cdk/aws_iot1click/__init__.py +9 -9
  129. aws_cdk/aws_iotanalytics/__init__.py +21 -21
  130. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
  131. aws_cdk/aws_iotevents/__init__.py +20 -20
  132. aws_cdk/aws_iotfleethub/__init__.py +4 -4
  133. aws_cdk/aws_iotfleetwise/__init__.py +45 -45
  134. aws_cdk/aws_iotsitewise/__init__.py +40 -40
  135. aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
  136. aws_cdk/aws_iottwinmaker/__init__.py +34 -34
  137. aws_cdk/aws_iotwireless/__init__.py +66 -66
  138. aws_cdk/aws_ivs/__init__.py +32 -32
  139. aws_cdk/aws_ivschat/__init__.py +9 -9
  140. aws_cdk/aws_kafkaconnect/__init__.py +22 -22
  141. aws_cdk/aws_kendra/__init__.py +28 -28
  142. aws_cdk/aws_kendraranking/__init__.py +4 -4
  143. aws_cdk/aws_kinesis/__init__.py +8 -8
  144. aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
  145. aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
  146. aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
  147. aws_cdk/aws_kinesisvideo/__init__.py +10 -10
  148. aws_cdk/aws_kms/__init__.py +20 -20
  149. aws_cdk/aws_lakeformation/__init__.py +36 -36
  150. aws_cdk/aws_lambda/__init__.py +435 -227
  151. aws_cdk/aws_lambda_nodejs/__init__.py +23 -0
  152. aws_cdk/aws_launchwizard/__init__.py +508 -0
  153. aws_cdk/aws_lex/__init__.py +24 -24
  154. aws_cdk/aws_licensemanager/__init__.py +17 -17
  155. aws_cdk/aws_lightsail/__init__.py +90 -90
  156. aws_cdk/aws_location/__init__.py +41 -41
  157. aws_cdk/aws_logs/__init__.py +50 -50
  158. aws_cdk/aws_lookoutequipment/__init__.py +9 -9
  159. aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
  160. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  161. aws_cdk/aws_m2/__init__.py +20 -20
  162. aws_cdk/aws_macie/__init__.py +19 -19
  163. aws_cdk/aws_managedblockchain/__init__.py +10 -10
  164. aws_cdk/aws_mediaconnect/__init__.py +114 -77
  165. aws_cdk/aws_mediaconvert/__init__.py +20 -20
  166. aws_cdk/aws_medialive/__init__.py +44 -76
  167. aws_cdk/aws_mediapackage/__init__.py +38 -38
  168. aws_cdk/aws_mediapackagev2/__init__.py +178 -25
  169. aws_cdk/aws_mediastore/__init__.py +7 -7
  170. aws_cdk/aws_mediatailor/__init__.py +40 -40
  171. aws_cdk/aws_memorydb/__init__.py +41 -41
  172. aws_cdk/aws_msk/__init__.py +39 -39
  173. aws_cdk/aws_mwaa/__init__.py +25 -25
  174. aws_cdk/aws_neptune/__init__.py +55 -55
  175. aws_cdk/aws_neptunegraph/__init__.py +11 -11
  176. aws_cdk/aws_networkfirewall/__init__.py +36 -30
  177. aws_cdk/aws_networkmanager/__init__.py +1062 -91
  178. aws_cdk/aws_nimblestudio/__init__.py +31 -31
  179. aws_cdk/aws_oam/__init__.py +8 -8
  180. aws_cdk/aws_omics/__init__.py +36 -36
  181. aws_cdk/aws_opensearchserverless/__init__.py +25 -25
  182. aws_cdk/aws_opensearchservice/__init__.py +20 -20
  183. aws_cdk/aws_opsworks/__init__.py +87 -87
  184. aws_cdk/aws_opsworkscm/__init__.py +21 -21
  185. aws_cdk/aws_organizations/__init__.py +17 -17
  186. aws_cdk/aws_osis/__init__.py +122 -9
  187. aws_cdk/aws_panorama/__init__.py +27 -22
  188. aws_cdk/aws_paymentcryptography/__init__.py +7 -7
  189. aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
  190. aws_cdk/aws_personalize/__init__.py +19 -19
  191. aws_cdk/aws_pinpoint/__init__.py +122 -122
  192. aws_cdk/aws_pinpointemail/__init__.py +16 -16
  193. aws_cdk/aws_pipes/__init__.py +14 -16
  194. aws_cdk/aws_proton/__init__.py +19 -19
  195. aws_cdk/aws_qbusiness/__init__.py +160 -45
  196. aws_cdk/aws_qldb/__init__.py +12 -12
  197. aws_cdk/aws_quicksight/__init__.py +91 -91
  198. aws_cdk/aws_ram/__init__.py +11 -11
  199. aws_cdk/aws_rds/__init__.py +365 -259
  200. aws_cdk/aws_redshift/__init__.py +136 -91
  201. aws_cdk/aws_redshiftserverless/__init__.py +27 -27
  202. aws_cdk/aws_refactorspaces/__init__.py +26 -26
  203. aws_cdk/aws_rekognition/__init__.py +16 -16
  204. aws_cdk/aws_resiliencehub/__init__.py +15 -15
  205. aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
  206. aws_cdk/aws_resourcegroups/__init__.py +6 -6
  207. aws_cdk/aws_robomaker/__init__.py +25 -25
  208. aws_cdk/aws_rolesanywhere/__init__.py +67 -19
  209. aws_cdk/aws_route53/__init__.py +36 -36
  210. aws_cdk/aws_route53profiles/__init__.py +11 -11
  211. aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
  212. aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
  213. aws_cdk/aws_route53resolver/__init__.py +123 -82
  214. aws_cdk/aws_rum/__init__.py +6 -6
  215. aws_cdk/aws_s3/__init__.py +136 -80
  216. aws_cdk/aws_s3_deployment/__init__.py +30 -24
  217. aws_cdk/aws_s3_notifications/__init__.py +3 -4
  218. aws_cdk/aws_s3express/__init__.py +5 -5
  219. aws_cdk/aws_s3objectlambda/__init__.py +6 -6
  220. aws_cdk/aws_s3outposts/__init__.py +16 -16
  221. aws_cdk/aws_sagemaker/__init__.py +2412 -280
  222. aws_cdk/aws_sam/__init__.py +101 -101
  223. aws_cdk/aws_scheduler/__init__.py +13 -13
  224. aws_cdk/aws_sdb/__init__.py +1 -1
  225. aws_cdk/aws_secretsmanager/__init__.py +20 -19
  226. aws_cdk/aws_securityhub/__init__.py +70 -57
  227. aws_cdk/aws_securitylake/__init__.py +341 -16
  228. aws_cdk/aws_servicecatalog/__init__.py +87 -87
  229. aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
  230. aws_cdk/aws_servicediscovery/__init__.py +23 -23
  231. aws_cdk/aws_ses/__init__.py +12038 -5604
  232. aws_cdk/aws_shield/__init__.py +15 -15
  233. aws_cdk/aws_signer/__init__.py +9 -9
  234. aws_cdk/aws_simspaceweaver/__init__.py +5 -5
  235. aws_cdk/aws_sns/__init__.py +28 -28
  236. aws_cdk/aws_sqs/__init__.py +20 -20
  237. aws_cdk/aws_ssm/__init__.py +172 -101
  238. aws_cdk/aws_ssmcontacts/__init__.py +18 -18
  239. aws_cdk/aws_ssmincidents/__init__.py +11 -11
  240. aws_cdk/aws_sso/__init__.py +31 -31
  241. aws_cdk/aws_stepfunctions/__init__.py +370 -28
  242. aws_cdk/aws_supportapp/__init__.py +11 -11
  243. aws_cdk/aws_synthetics/__init__.py +18 -18
  244. aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
  245. aws_cdk/aws_timestream/__init__.py +34 -34
  246. aws_cdk/aws_transfer/__init__.py +57 -57
  247. aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
  248. aws_cdk/aws_voiceid/__init__.py +4 -4
  249. aws_cdk/aws_vpclattice/__init__.py +42 -42
  250. aws_cdk/aws_waf/__init__.py +17 -17
  251. aws_cdk/aws_wafregional/__init__.py +28 -28
  252. aws_cdk/aws_wafv2/__init__.py +39 -39
  253. aws_cdk/aws_wisdom/__init__.py +16 -16
  254. aws_cdk/aws_workspaces/__init__.py +18 -18
  255. aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
  256. aws_cdk/aws_workspacesweb/__init__.py +87 -46
  257. aws_cdk/aws_xray/__init__.py +12 -12
  258. aws_cdk/cloud_assembly_schema/__init__.py +348 -239
  259. aws_cdk/custom_resources/__init__.py +283 -0
  260. aws_cdk/cx_api/__init__.py +15 -15
  261. aws_cdk/pipelines/__init__.py +172 -237
  262. aws_cdk/triggers/__init__.py +23 -0
  263. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
  264. aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
  265. aws_cdk_lib-2.152.0.dist-info/RECORD +0 -291
  266. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
  267. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
  268. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
  269. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
@@ -1042,8 +1042,7 @@ fn = lambda_.Function(self, "MyFunction",
1042
1042
  )
1043
1043
  ```
1044
1044
 
1045
- See [the AWS documentation](https://docs.aws.amazon.com/lambda/latest/dg/concurrent-executions.html)
1046
- managing concurrency.
1045
+ https://docs.aws.amazon.com/lambda/latest/dg/invocation-recursion.html
1047
1046
 
1048
1047
  ## Lambda with SnapStart
1049
1048
 
@@ -1178,6 +1177,26 @@ lambda_.Function(self, "Lambda",
1178
1177
  Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16.
1179
1178
  If you are deploying to another type of region, please check regional availability first.
1180
1179
 
1180
+ ## Lambda with Recursive Loop protection
1181
+
1182
+ Recursive loop protection is to stop unintended loops. The customers are opted in by default for Lambda to detect and terminate unintended loops between Lambda and other AWS Services.
1183
+ The property can be assigned two values here, "Allow" and "Terminate".
1184
+
1185
+ The default value is set to "Terminate", which lets the Lambda to detect and terminate the recursive loops.
1186
+
1187
+ When the value is set to "Allow", the customers opt out of recursive loop detection and Lambda does not terminate recursive loops if any.
1188
+
1189
+ See [the AWS documentation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-recursion.html) to learn more about AWS Lambda Recusrive Loop Detection
1190
+
1191
+ ```python
1192
+ fn = lambda_.Function(self, "MyFunction",
1193
+ code=lambda_.Code.from_asset(path.join(__dirname, "handler.zip")),
1194
+ runtime=lambda_.Runtime.JAVA_11,
1195
+ handler="example.Handler::handleRequest",
1196
+ recursive_loop=lambda_.RecursiveLoop.TERMINATE
1197
+ )
1198
+ ```
1199
+
1181
1200
  ### Legacy Log Retention
1182
1201
 
1183
1202
  As an alternative to providing a custom, user controlled log group, the legacy `logRetention` property can be used to set a different expiration period.
@@ -3015,12 +3034,13 @@ class CfnAlias(
3015
3034
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3016
3035
 
3017
3036
  @builtins.property
3018
- @jsii.member(jsii_name="attrId")
3019
- def attr_id(self) -> builtins.str:
3020
- '''
3021
- :cloudformationAttribute: Id
3037
+ @jsii.member(jsii_name="attrAliasArn")
3038
+ def attr_alias_arn(self) -> builtins.str:
3039
+ '''The Amazon Resource Name (ARN) of the alias.
3040
+
3041
+ :cloudformationAttribute: AliasArn
3022
3042
  '''
3023
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
3043
+ return typing.cast(builtins.str, jsii.get(self, "attrAliasArn"))
3024
3044
 
3025
3045
  @builtins.property
3026
3046
  @jsii.member(jsii_name="cfnProperties")
@@ -3038,7 +3058,7 @@ class CfnAlias(
3038
3058
  if __debug__:
3039
3059
  type_hints = typing.get_type_hints(_typecheckingstub__f067ace8c43eedf007910f5f14492d64963599dbdd0ffec0108edfa512e589b8)
3040
3060
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3041
- jsii.set(self, "functionName", value)
3061
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
3042
3062
 
3043
3063
  @builtins.property
3044
3064
  @jsii.member(jsii_name="functionVersion")
@@ -3051,7 +3071,7 @@ class CfnAlias(
3051
3071
  if __debug__:
3052
3072
  type_hints = typing.get_type_hints(_typecheckingstub__6b2ddeca57766bd54f58a827a23c3fbf1bd440bb65695c5a2a7d12b0f6f67301)
3053
3073
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3054
- jsii.set(self, "functionVersion", value)
3074
+ jsii.set(self, "functionVersion", value) # pyright: ignore[reportArgumentType]
3055
3075
 
3056
3076
  @builtins.property
3057
3077
  @jsii.member(jsii_name="name")
@@ -3064,7 +3084,7 @@ class CfnAlias(
3064
3084
  if __debug__:
3065
3085
  type_hints = typing.get_type_hints(_typecheckingstub__9a9ccb417a1dffcbc53b65cf21c87acfcd6f0963b3703129d5885a2ca11a9ddd)
3066
3086
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3067
- jsii.set(self, "name", value)
3087
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
3068
3088
 
3069
3089
  @builtins.property
3070
3090
  @jsii.member(jsii_name="description")
@@ -3077,7 +3097,7 @@ class CfnAlias(
3077
3097
  if __debug__:
3078
3098
  type_hints = typing.get_type_hints(_typecheckingstub__33cbeeca7420fade9e2c53654443f9ea6c3e1e129b2edb1ff6438a6f240660f9)
3079
3099
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3080
- jsii.set(self, "description", value)
3100
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3081
3101
 
3082
3102
  @builtins.property
3083
3103
  @jsii.member(jsii_name="provisionedConcurrencyConfig")
@@ -3095,7 +3115,7 @@ class CfnAlias(
3095
3115
  if __debug__:
3096
3116
  type_hints = typing.get_type_hints(_typecheckingstub__a958bc2b3267e229d2253296cdbb66337d157b0c6e2ec1711eb372278993a948)
3097
3117
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3098
- jsii.set(self, "provisionedConcurrencyConfig", value)
3118
+ jsii.set(self, "provisionedConcurrencyConfig", value) # pyright: ignore[reportArgumentType]
3099
3119
 
3100
3120
  @builtins.property
3101
3121
  @jsii.member(jsii_name="routingConfig")
@@ -3113,7 +3133,7 @@ class CfnAlias(
3113
3133
  if __debug__:
3114
3134
  type_hints = typing.get_type_hints(_typecheckingstub__7525467ed4a8de7249cf79d24091ae59273412647fd30558b48ead6b615e5f51)
3115
3135
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3116
- jsii.set(self, "routingConfig", value)
3136
+ jsii.set(self, "routingConfig", value) # pyright: ignore[reportArgumentType]
3117
3137
 
3118
3138
  @jsii.data_type(
3119
3139
  jsii_type="aws-cdk-lib.aws_lambda.CfnAlias.AliasRoutingConfigurationProperty",
@@ -3124,7 +3144,7 @@ class CfnAlias(
3124
3144
  def __init__(
3125
3145
  self,
3126
3146
  *,
3127
- additional_version_weights: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAlias.VersionWeightProperty", typing.Dict[builtins.str, typing.Any]]]]],
3147
+ additional_version_weights: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAlias.VersionWeightProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3128
3148
  ) -> None:
3129
3149
  '''The `traffic-shifting <https://docs.aws.amazon.com/lambda/latest/dg/lambda-traffic-shifting-using-aliases.html>`_ configuration of a Lambda function alias.
3130
3150
 
@@ -3149,21 +3169,20 @@ class CfnAlias(
3149
3169
  if __debug__:
3150
3170
  type_hints = typing.get_type_hints(_typecheckingstub__6cdf547e432e98f71c10bd59a276cb1a69fa82898a8f92c15fff9c69bf506ce0)
3151
3171
  check_type(argname="argument additional_version_weights", value=additional_version_weights, expected_type=type_hints["additional_version_weights"])
3152
- self._values: typing.Dict[builtins.str, typing.Any] = {
3153
- "additional_version_weights": additional_version_weights,
3154
- }
3172
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3173
+ if additional_version_weights is not None:
3174
+ self._values["additional_version_weights"] = additional_version_weights
3155
3175
 
3156
3176
  @builtins.property
3157
3177
  def additional_version_weights(
3158
3178
  self,
3159
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAlias.VersionWeightProperty"]]]:
3179
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAlias.VersionWeightProperty"]]]]:
3160
3180
  '''The second version, and the percentage of traffic that's routed to it.
3161
3181
 
3162
3182
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html#cfn-lambda-alias-aliasroutingconfiguration-additionalversionweights
3163
3183
  '''
3164
3184
  result = self._values.get("additional_version_weights")
3165
- assert result is not None, "Required property 'additional_version_weights' is missing"
3166
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAlias.VersionWeightProperty"]]], result)
3185
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnAlias.VersionWeightProperty"]]]], result)
3167
3186
 
3168
3187
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3169
3188
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3592,7 +3611,7 @@ class CfnCodeSigningConfig(
3592
3611
  if __debug__:
3593
3612
  type_hints = typing.get_type_hints(_typecheckingstub__9bdbcfbe2ec024e11d4aa4a7f377a3ccf0e4dee3dbe6d9fe92735973e52807e0)
3594
3613
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3595
- jsii.set(self, "allowedPublishers", value)
3614
+ jsii.set(self, "allowedPublishers", value) # pyright: ignore[reportArgumentType]
3596
3615
 
3597
3616
  @builtins.property
3598
3617
  @jsii.member(jsii_name="codeSigningPolicies")
@@ -3610,7 +3629,7 @@ class CfnCodeSigningConfig(
3610
3629
  if __debug__:
3611
3630
  type_hints = typing.get_type_hints(_typecheckingstub__a765b217f65bf891367822f789aa6352de94fbe3b47883e28a1b13ebfcc06fc8)
3612
3631
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3613
- jsii.set(self, "codeSigningPolicies", value)
3632
+ jsii.set(self, "codeSigningPolicies", value) # pyright: ignore[reportArgumentType]
3614
3633
 
3615
3634
  @builtins.property
3616
3635
  @jsii.member(jsii_name="description")
@@ -3623,7 +3642,7 @@ class CfnCodeSigningConfig(
3623
3642
  if __debug__:
3624
3643
  type_hints = typing.get_type_hints(_typecheckingstub__2f4fd9a03a33998a08340df7c2ba638ae623513bc416c7f5fd4c5a48e5e2df47)
3625
3644
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3626
- jsii.set(self, "description", value)
3645
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
3627
3646
 
3628
3647
  @jsii.data_type(
3629
3648
  jsii_type="aws-cdk-lib.aws_lambda.CfnCodeSigningConfig.AllowedPublishersProperty",
@@ -3963,7 +3982,7 @@ class CfnEventInvokeConfig(
3963
3982
  if __debug__:
3964
3983
  type_hints = typing.get_type_hints(_typecheckingstub__d970b6f2d883552778b4e43cb6b1092944e8bd2a1ffb21fd476f528028d7eb54)
3965
3984
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3966
- jsii.set(self, "functionName", value)
3985
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
3967
3986
 
3968
3987
  @builtins.property
3969
3988
  @jsii.member(jsii_name="qualifier")
@@ -3976,7 +3995,7 @@ class CfnEventInvokeConfig(
3976
3995
  if __debug__:
3977
3996
  type_hints = typing.get_type_hints(_typecheckingstub__2ce1d3a4eaa0093ffe4460407606714aac7cbce8d436264b0c50accaff3dda56)
3978
3997
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3979
- jsii.set(self, "qualifier", value)
3998
+ jsii.set(self, "qualifier", value) # pyright: ignore[reportArgumentType]
3980
3999
 
3981
4000
  @builtins.property
3982
4001
  @jsii.member(jsii_name="destinationConfig")
@@ -3994,7 +4013,7 @@ class CfnEventInvokeConfig(
3994
4013
  if __debug__:
3995
4014
  type_hints = typing.get_type_hints(_typecheckingstub__07a740f6e4de90b7e4fc9ea661a30309dea4d28202f3a3214fa5ece3946e15b2)
3996
4015
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3997
- jsii.set(self, "destinationConfig", value)
4016
+ jsii.set(self, "destinationConfig", value) # pyright: ignore[reportArgumentType]
3998
4017
 
3999
4018
  @builtins.property
4000
4019
  @jsii.member(jsii_name="maximumEventAgeInSeconds")
@@ -4007,7 +4026,7 @@ class CfnEventInvokeConfig(
4007
4026
  if __debug__:
4008
4027
  type_hints = typing.get_type_hints(_typecheckingstub__f91c293249696b2c6fbb6213764ab137fe93fdc710542158aa261b1c0bed577b)
4009
4028
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4010
- jsii.set(self, "maximumEventAgeInSeconds", value)
4029
+ jsii.set(self, "maximumEventAgeInSeconds", value) # pyright: ignore[reportArgumentType]
4011
4030
 
4012
4031
  @builtins.property
4013
4032
  @jsii.member(jsii_name="maximumRetryAttempts")
@@ -4020,7 +4039,7 @@ class CfnEventInvokeConfig(
4020
4039
  if __debug__:
4021
4040
  type_hints = typing.get_type_hints(_typecheckingstub__7f4209ac8600c2a8a1bdc6dc5883ae254a78ad77d828e62cd4984fc618672b76)
4022
4041
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4023
- jsii.set(self, "maximumRetryAttempts", value)
4042
+ jsii.set(self, "maximumRetryAttempts", value) # pyright: ignore[reportArgumentType]
4024
4043
 
4025
4044
  @jsii.data_type(
4026
4045
  jsii_type="aws-cdk-lib.aws_lambda.CfnEventInvokeConfig.DestinationConfigProperty",
@@ -4592,7 +4611,7 @@ class CfnEventSourceMapping(
4592
4611
  if __debug__:
4593
4612
  type_hints = typing.get_type_hints(_typecheckingstub__62cda4d270a4340245d02bee55679c5d220663a0bda750ffc6b4672dec3a6f5b)
4594
4613
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4595
- jsii.set(self, "functionName", value)
4614
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
4596
4615
 
4597
4616
  @builtins.property
4598
4617
  @jsii.member(jsii_name="amazonManagedKafkaEventSourceConfig")
@@ -4610,7 +4629,7 @@ class CfnEventSourceMapping(
4610
4629
  if __debug__:
4611
4630
  type_hints = typing.get_type_hints(_typecheckingstub__233d764d5ec4392f85e17319f53d7f6cc4067ccb274960b08fca3eafb9c77754)
4612
4631
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4613
- jsii.set(self, "amazonManagedKafkaEventSourceConfig", value)
4632
+ jsii.set(self, "amazonManagedKafkaEventSourceConfig", value) # pyright: ignore[reportArgumentType]
4614
4633
 
4615
4634
  @builtins.property
4616
4635
  @jsii.member(jsii_name="batchSize")
@@ -4623,7 +4642,7 @@ class CfnEventSourceMapping(
4623
4642
  if __debug__:
4624
4643
  type_hints = typing.get_type_hints(_typecheckingstub__508a7787e5c30c8dd1e159cdbe8b8a12a49828aa6930f2a138ae3ecdfa6cb9bf)
4625
4644
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4626
- jsii.set(self, "batchSize", value)
4645
+ jsii.set(self, "batchSize", value) # pyright: ignore[reportArgumentType]
4627
4646
 
4628
4647
  @builtins.property
4629
4648
  @jsii.member(jsii_name="bisectBatchOnFunctionError")
@@ -4641,7 +4660,7 @@ class CfnEventSourceMapping(
4641
4660
  if __debug__:
4642
4661
  type_hints = typing.get_type_hints(_typecheckingstub__66e2f20929a797c8075830f4ba3b2b69a933a7156ee29e476bb0e6ab51bd7773)
4643
4662
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4644
- jsii.set(self, "bisectBatchOnFunctionError", value)
4663
+ jsii.set(self, "bisectBatchOnFunctionError", value) # pyright: ignore[reportArgumentType]
4645
4664
 
4646
4665
  @builtins.property
4647
4666
  @jsii.member(jsii_name="destinationConfig")
@@ -4659,7 +4678,7 @@ class CfnEventSourceMapping(
4659
4678
  if __debug__:
4660
4679
  type_hints = typing.get_type_hints(_typecheckingstub__4ef86f269722ebd1d0b07f5394393f897ab44755b8f3c66d64b760c718d22522)
4661
4680
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4662
- jsii.set(self, "destinationConfig", value)
4681
+ jsii.set(self, "destinationConfig", value) # pyright: ignore[reportArgumentType]
4663
4682
 
4664
4683
  @builtins.property
4665
4684
  @jsii.member(jsii_name="documentDbEventSourceConfig")
@@ -4677,7 +4696,7 @@ class CfnEventSourceMapping(
4677
4696
  if __debug__:
4678
4697
  type_hints = typing.get_type_hints(_typecheckingstub__882060edb289a46d9c4b6ceb5996d087250387c92842a4cd33fc60bd9fe03b6a)
4679
4698
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4680
- jsii.set(self, "documentDbEventSourceConfig", value)
4699
+ jsii.set(self, "documentDbEventSourceConfig", value) # pyright: ignore[reportArgumentType]
4681
4700
 
4682
4701
  @builtins.property
4683
4702
  @jsii.member(jsii_name="enabled")
@@ -4695,7 +4714,7 @@ class CfnEventSourceMapping(
4695
4714
  if __debug__:
4696
4715
  type_hints = typing.get_type_hints(_typecheckingstub__335aaf4ac58e917092578e94eea7b9439ca7a0365c948efd390845cdd23ba119)
4697
4716
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4698
- jsii.set(self, "enabled", value)
4717
+ jsii.set(self, "enabled", value) # pyright: ignore[reportArgumentType]
4699
4718
 
4700
4719
  @builtins.property
4701
4720
  @jsii.member(jsii_name="eventSourceArn")
@@ -4708,7 +4727,7 @@ class CfnEventSourceMapping(
4708
4727
  if __debug__:
4709
4728
  type_hints = typing.get_type_hints(_typecheckingstub__80b34f80eeedc94f1aee7ad64b8a70c75cfc60660449680c9f3576ad3c3cb527)
4710
4729
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4711
- jsii.set(self, "eventSourceArn", value)
4730
+ jsii.set(self, "eventSourceArn", value) # pyright: ignore[reportArgumentType]
4712
4731
 
4713
4732
  @builtins.property
4714
4733
  @jsii.member(jsii_name="filterCriteria")
@@ -4726,7 +4745,7 @@ class CfnEventSourceMapping(
4726
4745
  if __debug__:
4727
4746
  type_hints = typing.get_type_hints(_typecheckingstub__c72364a986837059e36a836853d19e31b439e0fdf4870137207ee5b4529f4096)
4728
4747
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4729
- jsii.set(self, "filterCriteria", value)
4748
+ jsii.set(self, "filterCriteria", value) # pyright: ignore[reportArgumentType]
4730
4749
 
4731
4750
  @builtins.property
4732
4751
  @jsii.member(jsii_name="functionResponseTypes")
@@ -4742,7 +4761,7 @@ class CfnEventSourceMapping(
4742
4761
  if __debug__:
4743
4762
  type_hints = typing.get_type_hints(_typecheckingstub__d464545d76bb56469faf58591d3fb0044c464a1cdb5b122bf47e0b3ea6f06d6b)
4744
4763
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4745
- jsii.set(self, "functionResponseTypes", value)
4764
+ jsii.set(self, "functionResponseTypes", value) # pyright: ignore[reportArgumentType]
4746
4765
 
4747
4766
  @builtins.property
4748
4767
  @jsii.member(jsii_name="kmsKeyArn")
@@ -4755,7 +4774,7 @@ class CfnEventSourceMapping(
4755
4774
  if __debug__:
4756
4775
  type_hints = typing.get_type_hints(_typecheckingstub__5110117b05ec57a413615f5bf30afd8bbafb2be839685cf0e158a1b4de420fbc)
4757
4776
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4758
- jsii.set(self, "kmsKeyArn", value)
4777
+ jsii.set(self, "kmsKeyArn", value) # pyright: ignore[reportArgumentType]
4759
4778
 
4760
4779
  @builtins.property
4761
4780
  @jsii.member(jsii_name="maximumBatchingWindowInSeconds")
@@ -4771,7 +4790,7 @@ class CfnEventSourceMapping(
4771
4790
  if __debug__:
4772
4791
  type_hints = typing.get_type_hints(_typecheckingstub__e0ab317a438123c62fee46e89709c7bb879475c514910f3928a4fa4a397f556a)
4773
4792
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4774
- jsii.set(self, "maximumBatchingWindowInSeconds", value)
4793
+ jsii.set(self, "maximumBatchingWindowInSeconds", value) # pyright: ignore[reportArgumentType]
4775
4794
 
4776
4795
  @builtins.property
4777
4796
  @jsii.member(jsii_name="maximumRecordAgeInSeconds")
@@ -4787,7 +4806,7 @@ class CfnEventSourceMapping(
4787
4806
  if __debug__:
4788
4807
  type_hints = typing.get_type_hints(_typecheckingstub__dfbdec0cb3a2cf560ac8c17fad9deb0c3a42555935890c3122898a84f9cb3388)
4789
4808
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4790
- jsii.set(self, "maximumRecordAgeInSeconds", value)
4809
+ jsii.set(self, "maximumRecordAgeInSeconds", value) # pyright: ignore[reportArgumentType]
4791
4810
 
4792
4811
  @builtins.property
4793
4812
  @jsii.member(jsii_name="maximumRetryAttempts")
@@ -4800,7 +4819,7 @@ class CfnEventSourceMapping(
4800
4819
  if __debug__:
4801
4820
  type_hints = typing.get_type_hints(_typecheckingstub__a60193f9ed8d7dcd9bc683d028f84f3d0c6fb607f147841953590623707286cd)
4802
4821
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4803
- jsii.set(self, "maximumRetryAttempts", value)
4822
+ jsii.set(self, "maximumRetryAttempts", value) # pyright: ignore[reportArgumentType]
4804
4823
 
4805
4824
  @builtins.property
4806
4825
  @jsii.member(jsii_name="parallelizationFactor")
@@ -4813,7 +4832,7 @@ class CfnEventSourceMapping(
4813
4832
  if __debug__:
4814
4833
  type_hints = typing.get_type_hints(_typecheckingstub__17acebc79ed7e47bc94cbde42ca0c3c5cd8e8a67cc8a4a4de03ec16a17dc2809)
4815
4834
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4816
- jsii.set(self, "parallelizationFactor", value)
4835
+ jsii.set(self, "parallelizationFactor", value) # pyright: ignore[reportArgumentType]
4817
4836
 
4818
4837
  @builtins.property
4819
4838
  @jsii.member(jsii_name="queues")
@@ -4826,7 +4845,7 @@ class CfnEventSourceMapping(
4826
4845
  if __debug__:
4827
4846
  type_hints = typing.get_type_hints(_typecheckingstub__bbc5553ea55233b7a90d42308957e6684e5ee0076ede814be650457e0b146701)
4828
4847
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4829
- jsii.set(self, "queues", value)
4848
+ jsii.set(self, "queues", value) # pyright: ignore[reportArgumentType]
4830
4849
 
4831
4850
  @builtins.property
4832
4851
  @jsii.member(jsii_name="scalingConfig")
@@ -4844,7 +4863,7 @@ class CfnEventSourceMapping(
4844
4863
  if __debug__:
4845
4864
  type_hints = typing.get_type_hints(_typecheckingstub__1bd15b2a9fc8690809ee4226401692bd7666f069a0af6a98c56ccac182d01bbd)
4846
4865
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4847
- jsii.set(self, "scalingConfig", value)
4866
+ jsii.set(self, "scalingConfig", value) # pyright: ignore[reportArgumentType]
4848
4867
 
4849
4868
  @builtins.property
4850
4869
  @jsii.member(jsii_name="selfManagedEventSource")
@@ -4862,7 +4881,7 @@ class CfnEventSourceMapping(
4862
4881
  if __debug__:
4863
4882
  type_hints = typing.get_type_hints(_typecheckingstub__15f5a09c4e7c4882e5dd5f88d18a0698fbb755bbebbd097310ad730d1aacb102)
4864
4883
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4865
- jsii.set(self, "selfManagedEventSource", value)
4884
+ jsii.set(self, "selfManagedEventSource", value) # pyright: ignore[reportArgumentType]
4866
4885
 
4867
4886
  @builtins.property
4868
4887
  @jsii.member(jsii_name="selfManagedKafkaEventSourceConfig")
@@ -4880,7 +4899,7 @@ class CfnEventSourceMapping(
4880
4899
  if __debug__:
4881
4900
  type_hints = typing.get_type_hints(_typecheckingstub__17bcf58d3b47186861370700f8542dc2f8d90ca869836ac1190e0846d32ee199)
4882
4901
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4883
- jsii.set(self, "selfManagedKafkaEventSourceConfig", value)
4902
+ jsii.set(self, "selfManagedKafkaEventSourceConfig", value) # pyright: ignore[reportArgumentType]
4884
4903
 
4885
4904
  @builtins.property
4886
4905
  @jsii.member(jsii_name="sourceAccessConfigurations")
@@ -4898,7 +4917,7 @@ class CfnEventSourceMapping(
4898
4917
  if __debug__:
4899
4918
  type_hints = typing.get_type_hints(_typecheckingstub__154d952f087be022c948a51daee6d069392148a886ae7ab449b53c66e12c44d3)
4900
4919
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4901
- jsii.set(self, "sourceAccessConfigurations", value)
4920
+ jsii.set(self, "sourceAccessConfigurations", value) # pyright: ignore[reportArgumentType]
4902
4921
 
4903
4922
  @builtins.property
4904
4923
  @jsii.member(jsii_name="startingPosition")
@@ -4911,7 +4930,7 @@ class CfnEventSourceMapping(
4911
4930
  if __debug__:
4912
4931
  type_hints = typing.get_type_hints(_typecheckingstub__e598fcc2f5e7192268523ee29301060bfc5b2736e861d6244dce5b8094c1a272)
4913
4932
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4914
- jsii.set(self, "startingPosition", value)
4933
+ jsii.set(self, "startingPosition", value) # pyright: ignore[reportArgumentType]
4915
4934
 
4916
4935
  @builtins.property
4917
4936
  @jsii.member(jsii_name="startingPositionTimestamp")
@@ -4924,7 +4943,7 @@ class CfnEventSourceMapping(
4924
4943
  if __debug__:
4925
4944
  type_hints = typing.get_type_hints(_typecheckingstub__10f6f0aa6f7059677d942d821b3f8eaff9518ebb8fa2fe5425168602895326df)
4926
4945
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4927
- jsii.set(self, "startingPositionTimestamp", value)
4946
+ jsii.set(self, "startingPositionTimestamp", value) # pyright: ignore[reportArgumentType]
4928
4947
 
4929
4948
  @builtins.property
4930
4949
  @jsii.member(jsii_name="topics")
@@ -4937,7 +4956,7 @@ class CfnEventSourceMapping(
4937
4956
  if __debug__:
4938
4957
  type_hints = typing.get_type_hints(_typecheckingstub__d2153d23f0d0e6a947499030bcda617b9a68e9e84bccc6a23d9d65558f37bcac)
4939
4958
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4940
- jsii.set(self, "topics", value)
4959
+ jsii.set(self, "topics", value) # pyright: ignore[reportArgumentType]
4941
4960
 
4942
4961
  @builtins.property
4943
4962
  @jsii.member(jsii_name="tumblingWindowInSeconds")
@@ -4950,7 +4969,7 @@ class CfnEventSourceMapping(
4950
4969
  if __debug__:
4951
4970
  type_hints = typing.get_type_hints(_typecheckingstub__9ba4e20a14a70ac72313ba360ce912878e7f45dfe5ecfef9725f227fcd8f1d3e)
4952
4971
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4953
- jsii.set(self, "tumblingWindowInSeconds", value)
4972
+ jsii.set(self, "tumblingWindowInSeconds", value) # pyright: ignore[reportArgumentType]
4954
4973
 
4955
4974
  @jsii.data_type(
4956
4975
  jsii_type="aws-cdk-lib.aws_lambda.CfnEventSourceMapping.AmazonManagedKafkaEventSourceConfigProperty",
@@ -6129,6 +6148,7 @@ class CfnFunction(
6129
6148
  s3_bucket="s3Bucket",
6130
6149
  s3_key="s3Key",
6131
6150
  s3_object_version="s3ObjectVersion",
6151
+ source_kms_key_arn="sourceKmsKeyArn",
6132
6152
  zip_file="zipFile"
6133
6153
  ),
6134
6154
  role="role",
@@ -6169,6 +6189,7 @@ class CfnFunction(
6169
6189
  ),
6170
6190
  memory_size=123,
6171
6191
  package_type="packageType",
6192
+ recursive_loop="recursiveLoop",
6172
6193
  reserved_concurrent_executions=123,
6173
6194
  runtime="runtime",
6174
6195
  runtime_management_config=lambda.CfnFunction.RuntimeManagementConfigProperty(
@@ -6218,6 +6239,7 @@ class CfnFunction(
6218
6239
  logging_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFunction.LoggingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6219
6240
  memory_size: typing.Optional[jsii.Number] = None,
6220
6241
  package_type: typing.Optional[builtins.str] = None,
6242
+ recursive_loop: typing.Optional[builtins.str] = None,
6221
6243
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
6222
6244
  runtime: typing.Optional[builtins.str] = None,
6223
6245
  runtime_management_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFunction.RuntimeManagementConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -6230,31 +6252,32 @@ class CfnFunction(
6230
6252
  '''
6231
6253
  :param scope: Scope in which this resource is defined.
6232
6254
  :param id: Construct identifier for this resource (unique in its scope).
6233
- :param code: The code for the function.
6255
+ :param code: The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
6234
6256
  :param role: The Amazon Resource Name (ARN) of the function's execution role.
6235
- :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
6257
+ :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
6236
6258
  :param code_signing_config_arn: To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
6237
- :param dead_letter_config: A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
6259
+ :param dead_letter_config: The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
6238
6260
  :param description: A description of the function.
6239
- :param environment: Environment variables that are accessible from function code during execution.
6261
+ :param environment: A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
6240
6262
  :param ephemeral_storage: The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.
6241
- :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
6242
- :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, AWS CloudFormation generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
6243
- :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_ .
6244
- :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
6245
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
6263
+ :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
6264
+ :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
6265
+ :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_.
6266
+ :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
6267
+ :param kms_key_arn: The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_. When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
6246
6268
  :param layers: A list of `function layers <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html>`_ to add to the function's execution environment. Specify each layer by its ARN, including the version.
6247
6269
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
6248
6270
  :param memory_size: The amount of `memory available to the function <https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console>`_ at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. Note that new AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.
6249
6271
  :param package_type: The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
6272
+ :param recursive_loop: This property is set to terminate unintended recursions. If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
6250
6273
  :param reserved_concurrent_executions: The number of simultaneous executions to reserve for the function.
6251
- :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ . For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
6252
- :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
6253
- :param snap_start: The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
6274
+ :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
6275
+ :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
6276
+ :param snap_start: The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
6254
6277
  :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function.
6255
- :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
6256
- :param tracing_config: Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
6257
- :param vpc_config: For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
6278
+ :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
6279
+ :param tracing_config: The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
6280
+ :param vpc_config: The VPC security groups and subnets that are attached to a Lambda function. When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_. When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources. To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
6258
6281
  '''
6259
6282
  if __debug__:
6260
6283
  type_hints = typing.get_type_hints(_typecheckingstub__d971f3872acf20816e6da364ff9e6bec83fe2e68bbb9a7debc845b40036ee553)
@@ -6278,6 +6301,7 @@ class CfnFunction(
6278
6301
  logging_config=logging_config,
6279
6302
  memory_size=memory_size,
6280
6303
  package_type=package_type,
6304
+ recursive_loop=recursive_loop,
6281
6305
  reserved_concurrent_executions=reserved_concurrent_executions,
6282
6306
  runtime=runtime,
6283
6307
  runtime_management_config=runtime_management_config,
@@ -6323,8 +6347,7 @@ class CfnFunction(
6323
6347
  @builtins.property
6324
6348
  @jsii.member(jsii_name="attrArn")
6325
6349
  def attr_arn(self) -> builtins.str:
6326
- '''The Amazon Resource Name (ARN) of the function.
6327
-
6350
+ '''
6328
6351
  :cloudformationAttribute: Arn
6329
6352
  '''
6330
6353
  return typing.cast(builtins.str, jsii.get(self, "attrArn"))
@@ -6370,7 +6393,7 @@ class CfnFunction(
6370
6393
  @builtins.property
6371
6394
  @jsii.member(jsii_name="code")
6372
6395
  def code(self) -> typing.Union[_IResolvable_da3f097b, "CfnFunction.CodeProperty"]:
6373
- '''The code for the function.'''
6396
+ '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.'''
6374
6397
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFunction.CodeProperty"], jsii.get(self, "code"))
6375
6398
 
6376
6399
  @code.setter
@@ -6381,7 +6404,7 @@ class CfnFunction(
6381
6404
  if __debug__:
6382
6405
  type_hints = typing.get_type_hints(_typecheckingstub__58971d313bbb31e4a176049232e48d257e2707fa93bae32f75eda0c6327c3121)
6383
6406
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6384
- jsii.set(self, "code", value)
6407
+ jsii.set(self, "code", value) # pyright: ignore[reportArgumentType]
6385
6408
 
6386
6409
  @builtins.property
6387
6410
  @jsii.member(jsii_name="role")
@@ -6394,7 +6417,7 @@ class CfnFunction(
6394
6417
  if __debug__:
6395
6418
  type_hints = typing.get_type_hints(_typecheckingstub__0087a2968c8a22b8dd1ff3bf410b2d9939dd4741222544ab3d1519ae865e7631)
6396
6419
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6397
- jsii.set(self, "role", value)
6420
+ jsii.set(self, "role", value) # pyright: ignore[reportArgumentType]
6398
6421
 
6399
6422
  @builtins.property
6400
6423
  @jsii.member(jsii_name="architectures")
@@ -6407,7 +6430,7 @@ class CfnFunction(
6407
6430
  if __debug__:
6408
6431
  type_hints = typing.get_type_hints(_typecheckingstub__939e9547234560a62ae5c4e5194b2aba7beab9431fc0692025911c49ac554075)
6409
6432
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6410
- jsii.set(self, "architectures", value)
6433
+ jsii.set(self, "architectures", value) # pyright: ignore[reportArgumentType]
6411
6434
 
6412
6435
  @builtins.property
6413
6436
  @jsii.member(jsii_name="codeSigningConfigArn")
@@ -6420,14 +6443,14 @@ class CfnFunction(
6420
6443
  if __debug__:
6421
6444
  type_hints = typing.get_type_hints(_typecheckingstub__97ad6c3509dbd27b0115d978338b5c8b85fccf3544961894ef6c8d5c51bda760)
6422
6445
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6423
- jsii.set(self, "codeSigningConfigArn", value)
6446
+ jsii.set(self, "codeSigningConfigArn", value) # pyright: ignore[reportArgumentType]
6424
6447
 
6425
6448
  @builtins.property
6426
6449
  @jsii.member(jsii_name="deadLetterConfig")
6427
6450
  def dead_letter_config(
6428
6451
  self,
6429
6452
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.DeadLetterConfigProperty"]]:
6430
- '''A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.'''
6453
+ '''The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.'''
6431
6454
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.DeadLetterConfigProperty"]], jsii.get(self, "deadLetterConfig"))
6432
6455
 
6433
6456
  @dead_letter_config.setter
@@ -6438,7 +6461,7 @@ class CfnFunction(
6438
6461
  if __debug__:
6439
6462
  type_hints = typing.get_type_hints(_typecheckingstub__8e7260bd37534ff38acbffbc9ae7d7473b79520cd7320ebd30eb30dda7fd6aa1)
6440
6463
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6441
- jsii.set(self, "deadLetterConfig", value)
6464
+ jsii.set(self, "deadLetterConfig", value) # pyright: ignore[reportArgumentType]
6442
6465
 
6443
6466
  @builtins.property
6444
6467
  @jsii.member(jsii_name="description")
@@ -6451,14 +6474,14 @@ class CfnFunction(
6451
6474
  if __debug__:
6452
6475
  type_hints = typing.get_type_hints(_typecheckingstub__9adaa36c21a67de531bddc847ecff2947d2a1b03b4f9d8d078da3e6849878bae)
6453
6476
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6454
- jsii.set(self, "description", value)
6477
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
6455
6478
 
6456
6479
  @builtins.property
6457
6480
  @jsii.member(jsii_name="environment")
6458
6481
  def environment(
6459
6482
  self,
6460
6483
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.EnvironmentProperty"]]:
6461
- '''Environment variables that are accessible from function code during execution.'''
6484
+ '''A function's environment variable settings.'''
6462
6485
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.EnvironmentProperty"]], jsii.get(self, "environment"))
6463
6486
 
6464
6487
  @environment.setter
@@ -6469,7 +6492,7 @@ class CfnFunction(
6469
6492
  if __debug__:
6470
6493
  type_hints = typing.get_type_hints(_typecheckingstub__317039d2b9e835e52b1f6d855c9ef90ff3e3707ae46ff7505464e0c0ba080e32)
6471
6494
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6472
- jsii.set(self, "environment", value)
6495
+ jsii.set(self, "environment", value) # pyright: ignore[reportArgumentType]
6473
6496
 
6474
6497
  @builtins.property
6475
6498
  @jsii.member(jsii_name="ephemeralStorage")
@@ -6487,7 +6510,7 @@ class CfnFunction(
6487
6510
  if __debug__:
6488
6511
  type_hints = typing.get_type_hints(_typecheckingstub__19d417a7ef6f6dbe162ed6a9f33a83f606d97e53766d0a551f162f1a623bfce6)
6489
6512
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6490
- jsii.set(self, "ephemeralStorage", value)
6513
+ jsii.set(self, "ephemeralStorage", value) # pyright: ignore[reportArgumentType]
6491
6514
 
6492
6515
  @builtins.property
6493
6516
  @jsii.member(jsii_name="fileSystemConfigs")
@@ -6505,7 +6528,7 @@ class CfnFunction(
6505
6528
  if __debug__:
6506
6529
  type_hints = typing.get_type_hints(_typecheckingstub__42281c8b42403c865af9a471e854ee48ac9c9efd9ed8eb48e102fae4dca64865)
6507
6530
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6508
- jsii.set(self, "fileSystemConfigs", value)
6531
+ jsii.set(self, "fileSystemConfigs", value) # pyright: ignore[reportArgumentType]
6509
6532
 
6510
6533
  @builtins.property
6511
6534
  @jsii.member(jsii_name="functionName")
@@ -6518,7 +6541,7 @@ class CfnFunction(
6518
6541
  if __debug__:
6519
6542
  type_hints = typing.get_type_hints(_typecheckingstub__9b755bdfff9c92d112f48fabc138610cb95c629791eb94011add8f30bb1a8b8c)
6520
6543
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6521
- jsii.set(self, "functionName", value)
6544
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
6522
6545
 
6523
6546
  @builtins.property
6524
6547
  @jsii.member(jsii_name="handler")
@@ -6531,7 +6554,7 @@ class CfnFunction(
6531
6554
  if __debug__:
6532
6555
  type_hints = typing.get_type_hints(_typecheckingstub__baa7eecceb76515056bd0313e9ea4d285ed7f4fb588cfa29fbf02e30807dc972)
6533
6556
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6534
- jsii.set(self, "handler", value)
6557
+ jsii.set(self, "handler", value) # pyright: ignore[reportArgumentType]
6535
6558
 
6536
6559
  @builtins.property
6537
6560
  @jsii.member(jsii_name="imageConfig")
@@ -6549,12 +6572,12 @@ class CfnFunction(
6549
6572
  if __debug__:
6550
6573
  type_hints = typing.get_type_hints(_typecheckingstub__fc473fff3eab69974e86b6ab728c48e766dacc39517c01dfd62e30519976a9de)
6551
6574
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6552
- jsii.set(self, "imageConfig", value)
6575
+ jsii.set(self, "imageConfig", value) # pyright: ignore[reportArgumentType]
6553
6576
 
6554
6577
  @builtins.property
6555
6578
  @jsii.member(jsii_name="kmsKeyArn")
6556
6579
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
6557
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.'''
6580
+ '''The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_. When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.'''
6558
6581
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "kmsKeyArn"))
6559
6582
 
6560
6583
  @kms_key_arn.setter
@@ -6562,7 +6585,7 @@ class CfnFunction(
6562
6585
  if __debug__:
6563
6586
  type_hints = typing.get_type_hints(_typecheckingstub__51919b7dbfb08288b0214a1e2e4192a9dedfca251449ba8cae053cc5c0940523)
6564
6587
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6565
- jsii.set(self, "kmsKeyArn", value)
6588
+ jsii.set(self, "kmsKeyArn", value) # pyright: ignore[reportArgumentType]
6566
6589
 
6567
6590
  @builtins.property
6568
6591
  @jsii.member(jsii_name="layers")
@@ -6575,7 +6598,7 @@ class CfnFunction(
6575
6598
  if __debug__:
6576
6599
  type_hints = typing.get_type_hints(_typecheckingstub__0c1d2d3db6c352a7fe83bbdeaaf29d76df26e3ede060d08c593d9ef7006236b0)
6577
6600
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6578
- jsii.set(self, "layers", value)
6601
+ jsii.set(self, "layers", value) # pyright: ignore[reportArgumentType]
6579
6602
 
6580
6603
  @builtins.property
6581
6604
  @jsii.member(jsii_name="loggingConfig")
@@ -6593,7 +6616,7 @@ class CfnFunction(
6593
6616
  if __debug__:
6594
6617
  type_hints = typing.get_type_hints(_typecheckingstub__3ce38cf1c7b3713eca9725f79f526f3b663f05dec93fd7dff426e717e1dc9d7c)
6595
6618
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6596
- jsii.set(self, "loggingConfig", value)
6619
+ jsii.set(self, "loggingConfig", value) # pyright: ignore[reportArgumentType]
6597
6620
 
6598
6621
  @builtins.property
6599
6622
  @jsii.member(jsii_name="memorySize")
@@ -6606,7 +6629,7 @@ class CfnFunction(
6606
6629
  if __debug__:
6607
6630
  type_hints = typing.get_type_hints(_typecheckingstub__1cad27a1fc937a1ee790969066fef17df69ed3826b2b85f10db980930d32b0fd)
6608
6631
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6609
- jsii.set(self, "memorySize", value)
6632
+ jsii.set(self, "memorySize", value) # pyright: ignore[reportArgumentType]
6610
6633
 
6611
6634
  @builtins.property
6612
6635
  @jsii.member(jsii_name="packageType")
@@ -6619,7 +6642,20 @@ class CfnFunction(
6619
6642
  if __debug__:
6620
6643
  type_hints = typing.get_type_hints(_typecheckingstub__7f9bb5c748b58d456d8f996b07509c9991044629122c76de58eaabc34056846e)
6621
6644
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6622
- jsii.set(self, "packageType", value)
6645
+ jsii.set(self, "packageType", value) # pyright: ignore[reportArgumentType]
6646
+
6647
+ @builtins.property
6648
+ @jsii.member(jsii_name="recursiveLoop")
6649
+ def recursive_loop(self) -> typing.Optional[builtins.str]:
6650
+ '''This property is set to terminate unintended recursions.'''
6651
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "recursiveLoop"))
6652
+
6653
+ @recursive_loop.setter
6654
+ def recursive_loop(self, value: typing.Optional[builtins.str]) -> None:
6655
+ if __debug__:
6656
+ type_hints = typing.get_type_hints(_typecheckingstub__021080e0643735be55c0ce187b6c3482fd8d23af0a29c95ad94660f1cf184a90)
6657
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6658
+ jsii.set(self, "recursiveLoop", value) # pyright: ignore[reportArgumentType]
6623
6659
 
6624
6660
  @builtins.property
6625
6661
  @jsii.member(jsii_name="reservedConcurrentExecutions")
@@ -6635,12 +6671,12 @@ class CfnFunction(
6635
6671
  if __debug__:
6636
6672
  type_hints = typing.get_type_hints(_typecheckingstub__776a8ed6e24e90be835cb39b621ff66305005b357a6debbf3a62f69d83289278)
6637
6673
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6638
- jsii.set(self, "reservedConcurrentExecutions", value)
6674
+ jsii.set(self, "reservedConcurrentExecutions", value) # pyright: ignore[reportArgumentType]
6639
6675
 
6640
6676
  @builtins.property
6641
6677
  @jsii.member(jsii_name="runtime")
6642
6678
  def runtime(self) -> typing.Optional[builtins.str]:
6643
- '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.'''
6679
+ '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.'''
6644
6680
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "runtime"))
6645
6681
 
6646
6682
  @runtime.setter
@@ -6648,7 +6684,7 @@ class CfnFunction(
6648
6684
  if __debug__:
6649
6685
  type_hints = typing.get_type_hints(_typecheckingstub__b21ecd1fe965145c47a3a79e27c6cd009ded1d8446934f7912383ff1e67a2b03)
6650
6686
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6651
- jsii.set(self, "runtime", value)
6687
+ jsii.set(self, "runtime", value) # pyright: ignore[reportArgumentType]
6652
6688
 
6653
6689
  @builtins.property
6654
6690
  @jsii.member(jsii_name="runtimeManagementConfig")
@@ -6666,14 +6702,14 @@ class CfnFunction(
6666
6702
  if __debug__:
6667
6703
  type_hints = typing.get_type_hints(_typecheckingstub__0eb811f391544dcb8176a15cfd354317bce582d6de91f3a92abe633f8871c3f5)
6668
6704
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6669
- jsii.set(self, "runtimeManagementConfig", value)
6705
+ jsii.set(self, "runtimeManagementConfig", value) # pyright: ignore[reportArgumentType]
6670
6706
 
6671
6707
  @builtins.property
6672
6708
  @jsii.member(jsii_name="snapStart")
6673
6709
  def snap_start(
6674
6710
  self,
6675
6711
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.SnapStartProperty"]]:
6676
- '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.'''
6712
+ '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.'''
6677
6713
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.SnapStartProperty"]], jsii.get(self, "snapStart"))
6678
6714
 
6679
6715
  @snap_start.setter
@@ -6684,7 +6720,7 @@ class CfnFunction(
6684
6720
  if __debug__:
6685
6721
  type_hints = typing.get_type_hints(_typecheckingstub__3da00ae175903856cd5e3dffd1383604e1e7cca41ca0995aaf7f3ff2e12ae143)
6686
6722
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6687
- jsii.set(self, "snapStart", value)
6723
+ jsii.set(self, "snapStart", value) # pyright: ignore[reportArgumentType]
6688
6724
 
6689
6725
  @builtins.property
6690
6726
  @jsii.member(jsii_name="tagsRaw")
@@ -6697,7 +6733,7 @@ class CfnFunction(
6697
6733
  if __debug__:
6698
6734
  type_hints = typing.get_type_hints(_typecheckingstub__174edd947716c328063162b1193e4d16e0c3ac15949326027a5bfae9fe02dbc1)
6699
6735
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6700
- jsii.set(self, "tagsRaw", value)
6736
+ jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
6701
6737
 
6702
6738
  @builtins.property
6703
6739
  @jsii.member(jsii_name="timeout")
@@ -6710,14 +6746,14 @@ class CfnFunction(
6710
6746
  if __debug__:
6711
6747
  type_hints = typing.get_type_hints(_typecheckingstub__75ee5de813fc2d2189124f8a0417b55380d01a0a385d8d51fa9f785efab2b32e)
6712
6748
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6713
- jsii.set(self, "timeout", value)
6749
+ jsii.set(self, "timeout", value) # pyright: ignore[reportArgumentType]
6714
6750
 
6715
6751
  @builtins.property
6716
6752
  @jsii.member(jsii_name="tracingConfig")
6717
6753
  def tracing_config(
6718
6754
  self,
6719
6755
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.TracingConfigProperty"]]:
6720
- '''Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .'''
6756
+ '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.'''
6721
6757
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.TracingConfigProperty"]], jsii.get(self, "tracingConfig"))
6722
6758
 
6723
6759
  @tracing_config.setter
@@ -6728,14 +6764,14 @@ class CfnFunction(
6728
6764
  if __debug__:
6729
6765
  type_hints = typing.get_type_hints(_typecheckingstub__2e2ae2e6d2b74fc490159641853a6b239db977126bd780dc9b5d3931c1e47577)
6730
6766
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6731
- jsii.set(self, "tracingConfig", value)
6767
+ jsii.set(self, "tracingConfig", value) # pyright: ignore[reportArgumentType]
6732
6768
 
6733
6769
  @builtins.property
6734
6770
  @jsii.member(jsii_name="vpcConfig")
6735
6771
  def vpc_config(
6736
6772
  self,
6737
6773
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.VpcConfigProperty"]]:
6738
- '''For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.'''
6774
+ '''The VPC security groups and subnets that are attached to a Lambda function.'''
6739
6775
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFunction.VpcConfigProperty"]], jsii.get(self, "vpcConfig"))
6740
6776
 
6741
6777
  @vpc_config.setter
@@ -6746,7 +6782,7 @@ class CfnFunction(
6746
6782
  if __debug__:
6747
6783
  type_hints = typing.get_type_hints(_typecheckingstub__033cfa97016c411e045aae5002e1ed6a505aefcc7ef38007d08100468c8903b9)
6748
6784
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6749
- jsii.set(self, "vpcConfig", value)
6785
+ jsii.set(self, "vpcConfig", value) # pyright: ignore[reportArgumentType]
6750
6786
 
6751
6787
  @jsii.data_type(
6752
6788
  jsii_type="aws-cdk-lib.aws_lambda.CfnFunction.CodeProperty",
@@ -6756,6 +6792,7 @@ class CfnFunction(
6756
6792
  "s3_bucket": "s3Bucket",
6757
6793
  "s3_key": "s3Key",
6758
6794
  "s3_object_version": "s3ObjectVersion",
6795
+ "source_kms_key_arn": "sourceKmsKeyArn",
6759
6796
  "zip_file": "zipFile",
6760
6797
  },
6761
6798
  )
@@ -6767,17 +6804,17 @@ class CfnFunction(
6767
6804
  s3_bucket: typing.Optional[builtins.str] = None,
6768
6805
  s3_key: typing.Optional[builtins.str] = None,
6769
6806
  s3_object_version: typing.Optional[builtins.str] = None,
6807
+ source_kms_key_arn: typing.Optional[builtins.str] = None,
6770
6808
  zip_file: typing.Optional[builtins.str] = None,
6771
6809
  ) -> None:
6772
- '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template.
6773
-
6774
- Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
6810
+ '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
6775
6811
 
6776
6812
  :param image_uri: URI of a `container image <https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html>`_ in the Amazon ECR registry.
6777
- :param s3_bucket: An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account .
6813
+ :param s3_bucket: An Amazon S3 bucket in the same AWS-Region as your function. The bucket can be in a different AWS-account.
6778
6814
  :param s3_key: The Amazon S3 key of the deployment package.
6779
6815
  :param s3_object_version: For versioned objects, the version of the deployment package object to use.
6780
- :param zip_file: (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, AWS CloudFormation places it in a file named ``index`` and zips it to create a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ . This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index`` . For example, ``index.handler`` . For JSON, you must escape quotes and special characters such as newline ( ``\\n`` ) with a backslash. If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ( `cfn-response <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html>`_ ) that simplifies sending responses. See `Using AWS Lambda with AWS CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
6816
+ :param source_kms_key_arn:
6817
+ :param zip_file: (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named ``index`` and zips it to create a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_. This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index``. For example, ``index.handler``. For JSON, you must escape quotes and special characters such as newline (``\\n``) with a backslash. If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module (`cfn-response <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html>`_) that simplifies sending responses. See `Using Lambda with CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
6781
6818
 
6782
6819
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html
6783
6820
  :exampleMetadata: fixture=_generated
@@ -6793,6 +6830,7 @@ class CfnFunction(
6793
6830
  s3_bucket="s3Bucket",
6794
6831
  s3_key="s3Key",
6795
6832
  s3_object_version="s3ObjectVersion",
6833
+ source_kms_key_arn="sourceKmsKeyArn",
6796
6834
  zip_file="zipFile"
6797
6835
  )
6798
6836
  '''
@@ -6802,6 +6840,7 @@ class CfnFunction(
6802
6840
  check_type(argname="argument s3_bucket", value=s3_bucket, expected_type=type_hints["s3_bucket"])
6803
6841
  check_type(argname="argument s3_key", value=s3_key, expected_type=type_hints["s3_key"])
6804
6842
  check_type(argname="argument s3_object_version", value=s3_object_version, expected_type=type_hints["s3_object_version"])
6843
+ check_type(argname="argument source_kms_key_arn", value=source_kms_key_arn, expected_type=type_hints["source_kms_key_arn"])
6805
6844
  check_type(argname="argument zip_file", value=zip_file, expected_type=type_hints["zip_file"])
6806
6845
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6807
6846
  if image_uri is not None:
@@ -6812,6 +6851,8 @@ class CfnFunction(
6812
6851
  self._values["s3_key"] = s3_key
6813
6852
  if s3_object_version is not None:
6814
6853
  self._values["s3_object_version"] = s3_object_version
6854
+ if source_kms_key_arn is not None:
6855
+ self._values["source_kms_key_arn"] = source_kms_key_arn
6815
6856
  if zip_file is not None:
6816
6857
  self._values["zip_file"] = zip_file
6817
6858
 
@@ -6826,9 +6867,9 @@ class CfnFunction(
6826
6867
 
6827
6868
  @builtins.property
6828
6869
  def s3_bucket(self) -> typing.Optional[builtins.str]:
6829
- '''An Amazon S3 bucket in the same AWS Region as your function.
6870
+ '''An Amazon S3 bucket in the same AWS-Region as your function.
6830
6871
 
6831
- The bucket can be in a different AWS account .
6872
+ The bucket can be in a different AWS-account.
6832
6873
 
6833
6874
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket
6834
6875
  '''
@@ -6854,12 +6895,16 @@ class CfnFunction(
6854
6895
  return typing.cast(typing.Optional[builtins.str], result)
6855
6896
 
6856
6897
  @builtins.property
6857
- def zip_file(self) -> typing.Optional[builtins.str]:
6858
- '''(Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, AWS CloudFormation places it in a file named ``index`` and zips it to create a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ . This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index`` . For example, ``index.handler`` .
6859
-
6860
- For JSON, you must escape quotes and special characters such as newline ( ``\\n`` ) with a backslash.
6898
+ def source_kms_key_arn(self) -> typing.Optional[builtins.str]:
6899
+ '''
6900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-sourcekmskeyarn
6901
+ '''
6902
+ result = self._values.get("source_kms_key_arn")
6903
+ return typing.cast(typing.Optional[builtins.str], result)
6861
6904
 
6862
- If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module ( `cfn-response <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html>`_ ) that simplifies sending responses. See `Using AWS Lambda with AWS CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
6905
+ @builtins.property
6906
+ def zip_file(self) -> typing.Optional[builtins.str]:
6907
+ '''(Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named ``index`` and zips it to create a `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_. This zip file cannot exceed 4MB. For the ``Handler`` property, the first part of the handler identifier must be ``index``. For example, ``index.handler``. For JSON, you must escape quotes and special characters such as newline (``\\n``) with a backslash. If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module (`cfn-response <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html>`_) that simplifies sending responses. See `Using Lambda with CloudFormation <https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html>`_ for details.
6863
6908
 
6864
6909
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile
6865
6910
  '''
@@ -6943,7 +6988,7 @@ class CfnFunction(
6943
6988
 
6944
6989
  You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
6945
6990
 
6946
- :param variables: Environment variable key-value pairs. For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_ .
6991
+ :param variables: Environment variable key-value pairs. For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_.
6947
6992
 
6948
6993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html
6949
6994
  :exampleMetadata: fixture=_generated
@@ -6973,7 +7018,7 @@ class CfnFunction(
6973
7018
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
6974
7019
  '''Environment variable key-value pairs.
6975
7020
 
6976
- For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_ .
7021
+ For more information, see `Using Lambda environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html>`_.
6977
7022
 
6978
7023
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html#cfn-lambda-function-environment-variables
6979
7024
  '''
@@ -7057,10 +7102,10 @@ class CfnFunction(
7057
7102
  arn: builtins.str,
7058
7103
  local_mount_path: builtins.str,
7059
7104
  ) -> None:
7060
- '''Details about the connection between a Lambda function and an `Amazon EFS file system <https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html>`_ .
7105
+ '''Details about the connection between a Lambda function and an `Amazon EFS file system <https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html>`_.
7061
7106
 
7062
7107
  :param arn: The Amazon Resource Name (ARN) of the Amazon EFS access point that provides access to the file system.
7063
- :param local_mount_path: The path where the function can access the file system, starting with ``/mnt/`` .
7108
+ :param local_mount_path: The path where the function can access the file system, starting with ``/mnt/``.
7064
7109
 
7065
7110
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html
7066
7111
  :exampleMetadata: fixture=_generated
@@ -7097,7 +7142,7 @@ class CfnFunction(
7097
7142
 
7098
7143
  @builtins.property
7099
7144
  def local_mount_path(self) -> builtins.str:
7100
- '''The path where the function can access the file system, starting with ``/mnt/`` .
7145
+ '''The path where the function can access the file system, starting with ``/mnt/``.
7101
7146
 
7102
7147
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html#cfn-lambda-function-filesystemconfig-localmountpath
7103
7148
  '''
@@ -7135,7 +7180,7 @@ class CfnFunction(
7135
7180
  ) -> None:
7136
7181
  '''Configuration values that override the container image Dockerfile settings.
7137
7182
 
7138
- For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
7183
+ For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
7139
7184
 
7140
7185
  :param command: Specifies parameters that you want to pass in with ENTRYPOINT. You can specify a maximum of 1,500 parameters in the list.
7141
7186
  :param entry_point: Specifies the entry point to their application, which is typically the location of the runtime executable. You can specify a maximum of 1,500 string entries in the list.
@@ -7236,7 +7281,7 @@ class CfnFunction(
7236
7281
 
7237
7282
  :param application_log_level: Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where ``TRACE`` is the highest level and ``FATAL`` is the lowest.
7238
7283
  :param log_format: The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.
7239
- :param log_group: The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>`` . To use a different log group, enter an existing log group or enter a new log group name.
7284
+ :param log_group: The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>``. To use a different log group, enter an existing log group or enter a new log group name.
7240
7285
  :param system_log_level: Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where ``DEBUG`` is the highest level and ``WARN`` is the lowest.
7241
7286
 
7242
7287
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html
@@ -7297,7 +7342,7 @@ class CfnFunction(
7297
7342
  def log_group(self) -> typing.Optional[builtins.str]:
7298
7343
  '''The name of the Amazon CloudWatch log group the function sends logs to.
7299
7344
 
7300
- By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>`` . To use a different log group, enter an existing log group or enter a new log group name.
7345
+ By default, Lambda functions send logs to a default log group named ``/aws/lambda/<function name>``. To use a different log group, enter an existing log group or enter a new log group name.
7301
7346
 
7302
7347
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html#cfn-lambda-function-loggingconfig-loggroup
7303
7348
  '''
@@ -7343,10 +7388,10 @@ class CfnFunction(
7343
7388
  ) -> None:
7344
7389
  '''Sets the runtime management configuration for a function's version.
7345
7390
 
7346
- For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
7391
+ For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
7347
7392
 
7348
- :param update_runtime_on: Specify the runtime update mode. - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_ . This is the best choice for most customers to ensure they always benefit from runtime updates. - *FunctionUpdate* - Lambda updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date. - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_ . *Valid Values* : ``Auto`` | ``FunctionUpdate`` | ``Manual``
7349
- :param runtime_version_arn: The ARN of the runtime version you want the function to use. .. epigraph:: This is only required if you're using the *Manual* runtime update mode.
7393
+ :param update_runtime_on: Specify the runtime update mode. - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_. This is the best choice for most customers to ensure they always benefit from runtime updates. - *FunctionUpdate* - LAM updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date. - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_. *Valid Values*: ``Auto`` | ``FunctionUpdate`` | ``Manual``
7394
+ :param runtime_version_arn: The ARN of the runtime version you want the function to use. This is only required if you're using the *Manual* runtime update mode.
7350
7395
 
7351
7396
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html
7352
7397
  :exampleMetadata: fixture=_generated
@@ -7378,11 +7423,11 @@ class CfnFunction(
7378
7423
  def update_runtime_on(self) -> builtins.str:
7379
7424
  '''Specify the runtime update mode.
7380
7425
 
7381
- - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_ . This is the best choice for most customers to ensure they always benefit from runtime updates.
7382
- - *FunctionUpdate* - Lambda updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.
7383
- - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_ .
7426
+ - *Auto (default)* - Automatically update to the most recent and secure runtime version using a `Two-phase runtime version rollout <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-two-phase>`_. This is the best choice for most customers to ensure they always benefit from runtime updates.
7427
+ - *FunctionUpdate* - LAM updates the runtime of you function to the most recent and secure runtime version when you update your function. This approach synchronizes runtime updates with function deployments, giving you control over when runtime updates are applied and allowing you to detect and mitigate rare runtime update incompatibilities early. When using this setting, you need to regularly update your functions to keep their runtime up-to-date.
7428
+ - *Manual* - You specify a runtime version in your function configuration. The function will use this runtime version indefinitely. In the rare case where a new runtime version is incompatible with an existing function, this allows you to roll back your function to an earlier runtime version. For more information, see `Roll back a runtime version <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html#runtime-management-rollback>`_.
7384
7429
 
7385
- *Valid Values* : ``Auto`` | ``FunctionUpdate`` | ``Manual``
7430
+ *Valid Values*: ``Auto`` | ``FunctionUpdate`` | ``Manual``
7386
7431
 
7387
7432
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html#cfn-lambda-function-runtimemanagementconfig-updateruntimeon
7388
7433
  '''
@@ -7394,9 +7439,7 @@ class CfnFunction(
7394
7439
  def runtime_version_arn(self) -> typing.Optional[builtins.str]:
7395
7440
  '''The ARN of the runtime version you want the function to use.
7396
7441
 
7397
- .. epigraph::
7398
-
7399
- This is only required if you're using the *Manual* runtime update mode.
7442
+ This is only required if you're using the *Manual* runtime update mode.
7400
7443
 
7401
7444
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html#cfn-lambda-function-runtimemanagementconfig-runtimeversionarn
7402
7445
  '''
@@ -7421,7 +7464,7 @@ class CfnFunction(
7421
7464
  )
7422
7465
  class SnapStartProperty:
7423
7466
  def __init__(self, *, apply_on: builtins.str) -> None:
7424
- '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7467
+ '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7425
7468
 
7426
7469
  :param apply_on: Set ``ApplyOn`` to ``PublishedVersions`` to create a snapshot of the initialized execution environment when you publish a function version.
7427
7470
 
@@ -7483,8 +7526,8 @@ class CfnFunction(
7483
7526
  ) -> None:
7484
7527
  '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7485
7528
 
7486
- :param apply_on: When set to ``PublishedVersions`` , Lambda creates a snapshot of the execution environment when you publish a function version.
7487
- :param optimization_status: When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_ , this response element indicates whether SnapStart is activated for the specified function version.
7529
+ :param apply_on: When set to ``PublishedVersions``, Lambda creates a snapshot of the execution environment when you publish a function version.
7530
+ :param optimization_status: When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_, this response element indicates whether SnapStart is activated for the specified function version.
7488
7531
 
7489
7532
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html
7490
7533
  :exampleMetadata: fixture=_generated
@@ -7512,7 +7555,7 @@ class CfnFunction(
7512
7555
 
7513
7556
  @builtins.property
7514
7557
  def apply_on(self) -> typing.Optional[builtins.str]:
7515
- '''When set to ``PublishedVersions`` , Lambda creates a snapshot of the execution environment when you publish a function version.
7558
+ '''When set to ``PublishedVersions``, Lambda creates a snapshot of the execution environment when you publish a function version.
7516
7559
 
7517
7560
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html#cfn-lambda-function-snapstartresponse-applyon
7518
7561
  '''
@@ -7521,7 +7564,7 @@ class CfnFunction(
7521
7564
 
7522
7565
  @builtins.property
7523
7566
  def optimization_status(self) -> typing.Optional[builtins.str]:
7524
- '''When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_ , this response element indicates whether SnapStart is activated for the specified function version.
7567
+ '''When you provide a `qualified Amazon Resource Name (ARN) <https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using>`_, this response element indicates whether SnapStart is activated for the specified function version.
7525
7568
 
7526
7569
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstartresponse.html#cfn-lambda-function-snapstartresponse-optimizationstatus
7527
7570
  '''
@@ -7546,7 +7589,7 @@ class CfnFunction(
7546
7589
  )
7547
7590
  class TracingConfigProperty:
7548
7591
  def __init__(self, *, mode: typing.Optional[builtins.str] = None) -> None:
7549
- '''The function's `AWS X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active`` .
7592
+ '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
7550
7593
 
7551
7594
  :param mode: The tracing mode.
7552
7595
 
@@ -7609,12 +7652,9 @@ class CfnFunction(
7609
7652
  ) -> None:
7610
7653
  '''The VPC security groups and subnets that are attached to a Lambda function.
7611
7654
 
7612
- When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
7613
- .. epigraph::
7614
-
7615
- When you delete a function, AWS CloudFormation monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before AWS CloudFormation can delete the VPC's resources.
7616
-
7617
- To monitor network interfaces, AWS CloudFormation needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, AWS CloudFormation does not wait for network interfaces to be deleted.
7655
+ When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_.
7656
+ When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources.
7657
+ To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
7618
7658
 
7619
7659
  :param ipv6_allowed_for_dual_stack: Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
7620
7660
  :param security_group_ids: A list of VPC security group IDs.
@@ -7710,6 +7750,7 @@ class CfnFunction(
7710
7750
  "logging_config": "loggingConfig",
7711
7751
  "memory_size": "memorySize",
7712
7752
  "package_type": "packageType",
7753
+ "recursive_loop": "recursiveLoop",
7713
7754
  "reserved_concurrent_executions": "reservedConcurrentExecutions",
7714
7755
  "runtime": "runtime",
7715
7756
  "runtime_management_config": "runtimeManagementConfig",
@@ -7741,6 +7782,7 @@ class CfnFunctionProps:
7741
7782
  logging_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.LoggingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7742
7783
  memory_size: typing.Optional[jsii.Number] = None,
7743
7784
  package_type: typing.Optional[builtins.str] = None,
7785
+ recursive_loop: typing.Optional[builtins.str] = None,
7744
7786
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
7745
7787
  runtime: typing.Optional[builtins.str] = None,
7746
7788
  runtime_management_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.RuntimeManagementConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -7752,31 +7794,32 @@ class CfnFunctionProps:
7752
7794
  ) -> None:
7753
7795
  '''Properties for defining a ``CfnFunction``.
7754
7796
 
7755
- :param code: The code for the function.
7797
+ :param code: The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
7756
7798
  :param role: The Amazon Resource Name (ARN) of the function's execution role.
7757
- :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
7799
+ :param architectures: The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
7758
7800
  :param code_signing_config_arn: To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
7759
- :param dead_letter_config: A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
7801
+ :param dead_letter_config: The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
7760
7802
  :param description: A description of the function.
7761
- :param environment: Environment variables that are accessible from function code during execution.
7803
+ :param environment: A function's environment variable settings. You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
7762
7804
  :param ephemeral_storage: The size of the function's ``/tmp`` directory in MB. The default value is 512, but it can be any whole number between 512 and 10,240 MB.
7763
- :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
7764
- :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, AWS CloudFormation generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
7765
- :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_ .
7766
- :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
7767
- :param kms_key_arn: The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
7805
+ :param file_system_configs: Connection settings for an Amazon EFS file system. To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function. For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
7806
+ :param function_name: The name of the Lambda function, up to 64 characters in length. If you don't specify a name, CFN generates one. If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
7807
+ :param handler: The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_.
7808
+ :param image_config: Configuration values that override the container image Dockerfile settings. For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
7809
+ :param kms_key_arn: The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_. When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
7768
7810
  :param layers: A list of `function layers <https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html>`_ to add to the function's execution environment. Specify each layer by its ARN, including the version.
7769
7811
  :param logging_config: The function's Amazon CloudWatch Logs configuration settings.
7770
7812
  :param memory_size: The amount of `memory available to the function <https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console>`_ at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB. Note that new AWS accounts have reduced concurrency and memory quotas. AWS raises these quotas automatically based on your usage. You can also request a quota increase.
7771
7813
  :param package_type: The type of deployment package. Set to ``Image`` for container image and set ``Zip`` for .zip file archive.
7814
+ :param recursive_loop: This property is set to terminate unintended recursions. If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
7772
7815
  :param reserved_concurrent_executions: The number of simultaneous executions to reserve for the function.
7773
- :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ . For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
7774
- :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
7775
- :param snap_start: The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7816
+ :param runtime: The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
7817
+ :param runtime_management_config: Sets the runtime management configuration for a function's version. For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
7818
+ :param snap_start: The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
7776
7819
  :param tags: A list of `tags <https://docs.aws.amazon.com/lambda/latest/dg/tagging.html>`_ to apply to the function.
7777
- :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
7778
- :param tracing_config: Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
7779
- :param vpc_config: For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
7820
+ :param timeout: The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
7821
+ :param tracing_config: The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
7822
+ :param vpc_config: The VPC security groups and subnets that are attached to a Lambda function. When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_. When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources. To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
7780
7823
 
7781
7824
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html
7782
7825
  :exampleMetadata: fixture=_generated
@@ -7793,6 +7836,7 @@ class CfnFunctionProps:
7793
7836
  s3_bucket="s3Bucket",
7794
7837
  s3_key="s3Key",
7795
7838
  s3_object_version="s3ObjectVersion",
7839
+ source_kms_key_arn="sourceKmsKeyArn",
7796
7840
  zip_file="zipFile"
7797
7841
  ),
7798
7842
  role="role",
@@ -7833,6 +7877,7 @@ class CfnFunctionProps:
7833
7877
  ),
7834
7878
  memory_size=123,
7835
7879
  package_type="packageType",
7880
+ recursive_loop="recursiveLoop",
7836
7881
  reserved_concurrent_executions=123,
7837
7882
  runtime="runtime",
7838
7883
  runtime_management_config=lambda.CfnFunction.RuntimeManagementConfigProperty(
@@ -7878,6 +7923,7 @@ class CfnFunctionProps:
7878
7923
  check_type(argname="argument logging_config", value=logging_config, expected_type=type_hints["logging_config"])
7879
7924
  check_type(argname="argument memory_size", value=memory_size, expected_type=type_hints["memory_size"])
7880
7925
  check_type(argname="argument package_type", value=package_type, expected_type=type_hints["package_type"])
7926
+ check_type(argname="argument recursive_loop", value=recursive_loop, expected_type=type_hints["recursive_loop"])
7881
7927
  check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
7882
7928
  check_type(argname="argument runtime", value=runtime, expected_type=type_hints["runtime"])
7883
7929
  check_type(argname="argument runtime_management_config", value=runtime_management_config, expected_type=type_hints["runtime_management_config"])
@@ -7920,6 +7966,8 @@ class CfnFunctionProps:
7920
7966
  self._values["memory_size"] = memory_size
7921
7967
  if package_type is not None:
7922
7968
  self._values["package_type"] = package_type
7969
+ if recursive_loop is not None:
7970
+ self._values["recursive_loop"] = recursive_loop
7923
7971
  if reserved_concurrent_executions is not None:
7924
7972
  self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
7925
7973
  if runtime is not None:
@@ -7939,7 +7987,7 @@ class CfnFunctionProps:
7939
7987
 
7940
7988
  @builtins.property
7941
7989
  def code(self) -> typing.Union[_IResolvable_da3f097b, CfnFunction.CodeProperty]:
7942
- '''The code for the function.
7990
+ '''The `deployment package <https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html>`_ for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.
7943
7991
 
7944
7992
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code
7945
7993
  '''
@@ -7961,7 +8009,7 @@ class CfnFunctionProps:
7961
8009
  def architectures(self) -> typing.Optional[typing.List[builtins.str]]:
7962
8010
  '''The instruction set architecture that the function supports.
7963
8011
 
7964
- Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64`` .
8012
+ Enter a string array with one of the valid values (arm64 or x86_64). The default value is ``x86_64``.
7965
8013
 
7966
8014
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures
7967
8015
  '''
@@ -7972,8 +8020,7 @@ class CfnFunctionProps:
7972
8020
  def code_signing_config_arn(self) -> typing.Optional[builtins.str]:
7973
8021
  '''To enable code signing for this function, specify the ARN of a code-signing configuration.
7974
8022
 
7975
- A code-signing configuration
7976
- includes a set of signing profiles, which define the trusted publishers for this function.
8023
+ A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
7977
8024
 
7978
8025
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn
7979
8026
  '''
@@ -7984,9 +8031,7 @@ class CfnFunctionProps:
7984
8031
  def dead_letter_config(
7985
8032
  self,
7986
8033
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.DeadLetterConfigProperty]]:
7987
- '''A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing.
7988
-
7989
- For more information, see `Dead-letter queues <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq>`_ .
8034
+ '''The `dead-letter queue <https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq>`_ for failed asynchronous invocations.
7990
8035
 
7991
8036
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-deadletterconfig
7992
8037
  '''
@@ -8006,7 +8051,9 @@ class CfnFunctionProps:
8006
8051
  def environment(
8007
8052
  self,
8008
8053
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.EnvironmentProperty]]:
8009
- '''Environment variables that are accessible from function code during execution.
8054
+ '''A function's environment variable settings.
8055
+
8056
+ You can use environment variables to adjust your function's behavior without updating code. An environment variable is a pair of strings that are stored in a function's version-specific configuration.
8010
8057
 
8011
8058
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-environment
8012
8059
  '''
@@ -8033,8 +8080,7 @@ class CfnFunctionProps:
8033
8080
  '''Connection settings for an Amazon EFS file system.
8034
8081
 
8035
8082
  To connect a function to a file system, a mount target must be available in every Availability Zone that your function connects to. If your template contains an `AWS::EFS::MountTarget <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>`_ resource, you must also specify a ``DependsOn`` attribute to ensure that the mount target is created or updated before the function.
8036
-
8037
- For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ .
8083
+ For more information about using the ``DependsOn`` attribute, see `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_.
8038
8084
 
8039
8085
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs
8040
8086
  '''
@@ -8045,8 +8091,7 @@ class CfnFunctionProps:
8045
8091
  def function_name(self) -> typing.Optional[builtins.str]:
8046
8092
  '''The name of the Lambda function, up to 64 characters in length.
8047
8093
 
8048
- If you don't specify a name, AWS CloudFormation generates one.
8049
-
8094
+ If you don't specify a name, CFN generates one.
8050
8095
  If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
8051
8096
 
8052
8097
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname
@@ -8058,7 +8103,7 @@ class CfnFunctionProps:
8058
8103
  def handler(self) -> typing.Optional[builtins.str]:
8059
8104
  '''The name of the method within your code that Lambda calls to run your function.
8060
8105
 
8061
- Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_ .
8106
+ Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see `Lambda programming model <https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html>`_.
8062
8107
 
8063
8108
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler
8064
8109
  '''
@@ -8071,7 +8116,7 @@ class CfnFunctionProps:
8071
8116
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.ImageConfigProperty]]:
8072
8117
  '''Configuration values that override the container image Dockerfile settings.
8073
8118
 
8074
- For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_ .
8119
+ For more information, see `Container image settings <https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-parms>`_.
8075
8120
 
8076
8121
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig
8077
8122
  '''
@@ -8080,7 +8125,7 @@ class CfnFunctionProps:
8080
8125
 
8081
8126
  @builtins.property
8082
8127
  def kms_key_arn(self) -> typing.Optional[builtins.str]:
8083
- '''The ARN of the AWS Key Management Service ( AWS KMS ) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_ . When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
8128
+ '''The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's `environment variables <https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption>`_. When `Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html>`_ is activated, Lambda also uses this key is to encrypt your function's snapshot. If you deploy your function using a container image, Lambda also uses this key to encrypt your function when it's deployed. Note that this is not the same key that's used to protect your container image in the Amazon Elastic Container Registry (Amazon ECR). If you don't provide a customer managed key, Lambda uses a default service key.
8084
8129
 
8085
8130
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn
8086
8131
  '''
@@ -8127,6 +8172,17 @@ class CfnFunctionProps:
8127
8172
  result = self._values.get("package_type")
8128
8173
  return typing.cast(typing.Optional[builtins.str], result)
8129
8174
 
8175
+ @builtins.property
8176
+ def recursive_loop(self) -> typing.Optional[builtins.str]:
8177
+ '''This property is set to terminate unintended recursions.
8178
+
8179
+ If set to ``Terminate``, Lambda detects and terminates unitended recursive loops. If set to ``Allow`` Lambda lets recursions be and does not terminate it.
8180
+
8181
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop
8182
+ '''
8183
+ result = self._values.get("recursive_loop")
8184
+ return typing.cast(typing.Optional[builtins.str], result)
8185
+
8130
8186
  @builtins.property
8131
8187
  def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
8132
8188
  '''The number of simultaneous executions to reserve for the function.
@@ -8138,11 +8194,7 @@ class CfnFunctionProps:
8138
8194
 
8139
8195
  @builtins.property
8140
8196
  def runtime(self) -> typing.Optional[builtins.str]:
8141
- '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_ . Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image.
8142
-
8143
- The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_ .
8144
-
8145
- For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_ .
8197
+ '''The identifier of the function's `runtime <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html>`_. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see `Runtime use after deprecation <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels>`_. For a list of all currently supported runtimes, see `Supported runtimes <https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported>`_.
8146
8198
 
8147
8199
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime
8148
8200
  '''
@@ -8155,7 +8207,7 @@ class CfnFunctionProps:
8155
8207
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.RuntimeManagementConfigProperty]]:
8156
8208
  '''Sets the runtime management configuration for a function's version.
8157
8209
 
8158
- For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_ .
8210
+ For more information, see `Runtime updates <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-update.html>`_.
8159
8211
 
8160
8212
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtimemanagementconfig
8161
8213
  '''
@@ -8166,7 +8218,7 @@ class CfnFunctionProps:
8166
8218
  def snap_start(
8167
8219
  self,
8168
8220
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.SnapStartProperty]]:
8169
- '''The function's `AWS Lambda SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
8221
+ '''The function's `SnapStart <https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html>`_ setting.
8170
8222
 
8171
8223
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-snapstart
8172
8224
  '''
@@ -8186,7 +8238,7 @@ class CfnFunctionProps:
8186
8238
  def timeout(self) -> typing.Optional[jsii.Number]:
8187
8239
  '''The amount of time (in seconds) that Lambda allows a function to run before stopping it.
8188
8240
 
8189
- The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_ .
8241
+ The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see `Lambda execution environment <https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html>`_.
8190
8242
 
8191
8243
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout
8192
8244
  '''
@@ -8197,7 +8249,7 @@ class CfnFunctionProps:
8197
8249
  def tracing_config(
8198
8250
  self,
8199
8251
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.TracingConfigProperty]]:
8200
- '''Set ``Mode`` to ``Active`` to sample and trace a subset of incoming requests with `X-Ray <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ .
8252
+ '''The function's ` <https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html>`_ tracing configuration. To sample and record incoming requests, set ``Mode`` to ``Active``.
8201
8253
 
8202
8254
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig
8203
8255
  '''
@@ -8208,9 +8260,11 @@ class CfnFunctionProps:
8208
8260
  def vpc_config(
8209
8261
  self,
8210
8262
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFunction.VpcConfigProperty]]:
8211
- '''For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC.
8263
+ '''The VPC security groups and subnets that are attached to a Lambda function.
8212
8264
 
8213
- When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see `Configuring a Lambda function to access resources in a VPC <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_ .
8265
+ When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see `VPC Settings <https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html>`_.
8266
+ When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources.
8267
+ To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
8214
8268
 
8215
8269
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-vpcconfig
8216
8270
  '''
@@ -8362,7 +8416,7 @@ class CfnLayerVersion(
8362
8416
  if __debug__:
8363
8417
  type_hints = typing.get_type_hints(_typecheckingstub__16fdce2009fa44459d262b1473f3f14ba14cc73bd0ed3916d4bd0edcf3e43b4d)
8364
8418
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8365
- jsii.set(self, "content", value)
8419
+ jsii.set(self, "content", value) # pyright: ignore[reportArgumentType]
8366
8420
 
8367
8421
  @builtins.property
8368
8422
  @jsii.member(jsii_name="compatibleArchitectures")
@@ -8378,7 +8432,7 @@ class CfnLayerVersion(
8378
8432
  if __debug__:
8379
8433
  type_hints = typing.get_type_hints(_typecheckingstub__08839a09e116d09d437639b549a9f46251026b97c49c02e63d22b976b1705dce)
8380
8434
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8381
- jsii.set(self, "compatibleArchitectures", value)
8435
+ jsii.set(self, "compatibleArchitectures", value) # pyright: ignore[reportArgumentType]
8382
8436
 
8383
8437
  @builtins.property
8384
8438
  @jsii.member(jsii_name="compatibleRuntimes")
@@ -8394,7 +8448,7 @@ class CfnLayerVersion(
8394
8448
  if __debug__:
8395
8449
  type_hints = typing.get_type_hints(_typecheckingstub__43473c5b3bfb35dd80a0a3acca8e7e0c5fc897741acf287f2ca8c7ea72a554f9)
8396
8450
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8397
- jsii.set(self, "compatibleRuntimes", value)
8451
+ jsii.set(self, "compatibleRuntimes", value) # pyright: ignore[reportArgumentType]
8398
8452
 
8399
8453
  @builtins.property
8400
8454
  @jsii.member(jsii_name="description")
@@ -8407,7 +8461,7 @@ class CfnLayerVersion(
8407
8461
  if __debug__:
8408
8462
  type_hints = typing.get_type_hints(_typecheckingstub__9de7bf47b62135fe00acab97e2e852614fdc2347e66707de5b86a002b25e1379)
8409
8463
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8410
- jsii.set(self, "description", value)
8464
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
8411
8465
 
8412
8466
  @builtins.property
8413
8467
  @jsii.member(jsii_name="layerName")
@@ -8420,7 +8474,7 @@ class CfnLayerVersion(
8420
8474
  if __debug__:
8421
8475
  type_hints = typing.get_type_hints(_typecheckingstub__e993c2ac2a3c971df686f5d3e84116d1aa3ddc96939d07988c83cd8183f40191)
8422
8476
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8423
- jsii.set(self, "layerName", value)
8477
+ jsii.set(self, "layerName", value) # pyright: ignore[reportArgumentType]
8424
8478
 
8425
8479
  @builtins.property
8426
8480
  @jsii.member(jsii_name="licenseInfo")
@@ -8436,7 +8490,7 @@ class CfnLayerVersion(
8436
8490
  if __debug__:
8437
8491
  type_hints = typing.get_type_hints(_typecheckingstub__901b954aebd75eb5e434b423ce636efcd7b6175bcb5075a916935082cf58517d)
8438
8492
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8439
- jsii.set(self, "licenseInfo", value)
8493
+ jsii.set(self, "licenseInfo", value) # pyright: ignore[reportArgumentType]
8440
8494
 
8441
8495
  @jsii.data_type(
8442
8496
  jsii_type="aws-cdk-lib.aws_lambda.CfnLayerVersion.ContentProperty",
@@ -8649,7 +8703,7 @@ class CfnLayerVersionPermission(
8649
8703
  if __debug__:
8650
8704
  type_hints = typing.get_type_hints(_typecheckingstub__a8acb7cf08f86ac198f71bbdc5d1b990c075e39f8b0af699b561835f6d90d323)
8651
8705
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8652
- jsii.set(self, "action", value)
8706
+ jsii.set(self, "action", value) # pyright: ignore[reportArgumentType]
8653
8707
 
8654
8708
  @builtins.property
8655
8709
  @jsii.member(jsii_name="layerVersionArn")
@@ -8662,7 +8716,7 @@ class CfnLayerVersionPermission(
8662
8716
  if __debug__:
8663
8717
  type_hints = typing.get_type_hints(_typecheckingstub__06dce1e31e6399ecebdda1a7b070d5eb8239cbb3bb5ad1b06b9e4ba565584021)
8664
8718
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8665
- jsii.set(self, "layerVersionArn", value)
8719
+ jsii.set(self, "layerVersionArn", value) # pyright: ignore[reportArgumentType]
8666
8720
 
8667
8721
  @builtins.property
8668
8722
  @jsii.member(jsii_name="principal")
@@ -8675,7 +8729,7 @@ class CfnLayerVersionPermission(
8675
8729
  if __debug__:
8676
8730
  type_hints = typing.get_type_hints(_typecheckingstub__c9a1279a904647e3b5f593df647c106c101d17fc942ffea4b4c867787632e62d)
8677
8731
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8678
- jsii.set(self, "principal", value)
8732
+ jsii.set(self, "principal", value) # pyright: ignore[reportArgumentType]
8679
8733
 
8680
8734
  @builtins.property
8681
8735
  @jsii.member(jsii_name="organizationId")
@@ -8688,7 +8742,7 @@ class CfnLayerVersionPermission(
8688
8742
  if __debug__:
8689
8743
  type_hints = typing.get_type_hints(_typecheckingstub__45c67e7ddd4fde4ad3243685942dee1cdc90213c5a305f4ccea252422bd56b9d)
8690
8744
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8691
- jsii.set(self, "organizationId", value)
8745
+ jsii.set(self, "organizationId", value) # pyright: ignore[reportArgumentType]
8692
8746
 
8693
8747
 
8694
8748
  @jsii.data_type(
@@ -9096,12 +9150,12 @@ class CfnPermission(
9096
9150
  :param id: Construct identifier for this resource (unique in its scope).
9097
9151
  :param action: The action that the principal can use on the function. For example, ``lambda:InvokeFunction`` or ``lambda:GetFunction`` .
9098
9152
  :param function_name: The name or ARN of the Lambda function, version, or alias. **Name formats** - *Function name* – ``my-function`` (name-only), ``my-function:v1`` (with alias). - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* – ``123456789012:function:my-function`` . You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9099
- :param principal: The AWS service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9153
+ :param principal: The AWS-service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9100
9154
  :param event_source_token: For Alexa Smart Home functions, a token that the invoker must supply.
9101
9155
  :param function_url_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>`_ .
9102
9156
  :param principal_org_id: The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.
9103
- :param source_account: For AWS service , the ID of the AWS account that owns the resource. Use this together with ``SourceArn`` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.
9104
- :param source_arn: For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic. Note that Lambda configures the comparison using the ``StringLike`` operator.
9157
+ :param source_account: For AWS-service , the ID of the AWS account that owns the resource. Use this together with ``SourceArn`` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.
9158
+ :param source_arn: For AWS-services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic. Note that Lambda configures the comparison using the ``StringLike`` operator.
9105
9159
  '''
9106
9160
  if __debug__:
9107
9161
  type_hints = typing.get_type_hints(_typecheckingstub__c457a277b84dbba5bd94a2c0135335b8d7dbb3d409b1fa988b4f5a219def8833)
@@ -9174,7 +9228,7 @@ class CfnPermission(
9174
9228
  if __debug__:
9175
9229
  type_hints = typing.get_type_hints(_typecheckingstub__df115766595b459e6facc31968c7c21d3891662bf7de9b37367e71ea6d4114f0)
9176
9230
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9177
- jsii.set(self, "action", value)
9231
+ jsii.set(self, "action", value) # pyright: ignore[reportArgumentType]
9178
9232
 
9179
9233
  @builtins.property
9180
9234
  @jsii.member(jsii_name="functionName")
@@ -9187,12 +9241,12 @@ class CfnPermission(
9187
9241
  if __debug__:
9188
9242
  type_hints = typing.get_type_hints(_typecheckingstub__6b78b627aafc24e5049b4f124fa9ed461ff5de5656d8eb50a73c2129a84e7dbb)
9189
9243
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9190
- jsii.set(self, "functionName", value)
9244
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
9191
9245
 
9192
9246
  @builtins.property
9193
9247
  @jsii.member(jsii_name="principal")
9194
9248
  def principal(self) -> builtins.str:
9195
- '''The AWS service or AWS account that invokes the function.'''
9249
+ '''The AWS-service or AWS account that invokes the function.'''
9196
9250
  return typing.cast(builtins.str, jsii.get(self, "principal"))
9197
9251
 
9198
9252
  @principal.setter
@@ -9200,7 +9254,7 @@ class CfnPermission(
9200
9254
  if __debug__:
9201
9255
  type_hints = typing.get_type_hints(_typecheckingstub__a8b1d5ebdfbdd1f6dd0ae27ea787a03534f8840c5afd7e97345329a87e64c9a3)
9202
9256
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9203
- jsii.set(self, "principal", value)
9257
+ jsii.set(self, "principal", value) # pyright: ignore[reportArgumentType]
9204
9258
 
9205
9259
  @builtins.property
9206
9260
  @jsii.member(jsii_name="eventSourceToken")
@@ -9213,7 +9267,7 @@ class CfnPermission(
9213
9267
  if __debug__:
9214
9268
  type_hints = typing.get_type_hints(_typecheckingstub__7584a173c7ddfb61695a8eaeb94df07bc5ed6da7dacb871ce3f736ac59ec2b62)
9215
9269
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9216
- jsii.set(self, "eventSourceToken", value)
9270
+ jsii.set(self, "eventSourceToken", value) # pyright: ignore[reportArgumentType]
9217
9271
 
9218
9272
  @builtins.property
9219
9273
  @jsii.member(jsii_name="functionUrlAuthType")
@@ -9226,7 +9280,7 @@ class CfnPermission(
9226
9280
  if __debug__:
9227
9281
  type_hints = typing.get_type_hints(_typecheckingstub__c85fd263b0dc67595e83c426e4f8a064ea18d154ec013099a2ff44bb12a40473)
9228
9282
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9229
- jsii.set(self, "functionUrlAuthType", value)
9283
+ jsii.set(self, "functionUrlAuthType", value) # pyright: ignore[reportArgumentType]
9230
9284
 
9231
9285
  @builtins.property
9232
9286
  @jsii.member(jsii_name="principalOrgId")
@@ -9239,12 +9293,12 @@ class CfnPermission(
9239
9293
  if __debug__:
9240
9294
  type_hints = typing.get_type_hints(_typecheckingstub__15afcc0405054080f46df62ed10831279de0524bf06aeea4268901393a2625c3)
9241
9295
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9242
- jsii.set(self, "principalOrgId", value)
9296
+ jsii.set(self, "principalOrgId", value) # pyright: ignore[reportArgumentType]
9243
9297
 
9244
9298
  @builtins.property
9245
9299
  @jsii.member(jsii_name="sourceAccount")
9246
9300
  def source_account(self) -> typing.Optional[builtins.str]:
9247
- '''For AWS service , the ID of the AWS account that owns the resource.'''
9301
+ '''For AWS-service , the ID of the AWS account that owns the resource.'''
9248
9302
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceAccount"))
9249
9303
 
9250
9304
  @source_account.setter
@@ -9252,12 +9306,12 @@ class CfnPermission(
9252
9306
  if __debug__:
9253
9307
  type_hints = typing.get_type_hints(_typecheckingstub__7daf8201bed0090388652951678b300be0c44422471d3bd64c0d0f26e4996f38)
9254
9308
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9255
- jsii.set(self, "sourceAccount", value)
9309
+ jsii.set(self, "sourceAccount", value) # pyright: ignore[reportArgumentType]
9256
9310
 
9257
9311
  @builtins.property
9258
9312
  @jsii.member(jsii_name="sourceArn")
9259
9313
  def source_arn(self) -> typing.Optional[builtins.str]:
9260
- '''For AWS services , the ARN of the AWS resource that invokes the function.'''
9314
+ '''For AWS-services , the ARN of the AWS resource that invokes the function.'''
9261
9315
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "sourceArn"))
9262
9316
 
9263
9317
  @source_arn.setter
@@ -9265,7 +9319,7 @@ class CfnPermission(
9265
9319
  if __debug__:
9266
9320
  type_hints = typing.get_type_hints(_typecheckingstub__5e353afa8c93203f738da3be5d082cb1816a03108506ae44264327d28f36e502)
9267
9321
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9268
- jsii.set(self, "sourceArn", value)
9322
+ jsii.set(self, "sourceArn", value) # pyright: ignore[reportArgumentType]
9269
9323
 
9270
9324
 
9271
9325
  @jsii.data_type(
@@ -9299,12 +9353,12 @@ class CfnPermissionProps:
9299
9353
 
9300
9354
  :param action: The action that the principal can use on the function. For example, ``lambda:InvokeFunction`` or ``lambda:GetFunction`` .
9301
9355
  :param function_name: The name or ARN of the Lambda function, version, or alias. **Name formats** - *Function name* – ``my-function`` (name-only), ``my-function:v1`` (with alias). - *Function ARN* – ``arn:aws:lambda:us-west-2:123456789012:function:my-function`` . - *Partial ARN* – ``123456789012:function:my-function`` . You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
9302
- :param principal: The AWS service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9356
+ :param principal: The AWS-service or AWS account that invokes the function. If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9303
9357
  :param event_source_token: For Alexa Smart Home functions, a token that the invoker must supply.
9304
9358
  :param function_url_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>`_ .
9305
9359
  :param principal_org_id: The identifier for your organization in AWS Organizations . Use this to grant permissions to all the AWS accounts under this organization.
9306
- :param source_account: For AWS service , the ID of the AWS account that owns the resource. Use this together with ``SourceArn`` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.
9307
- :param source_arn: For AWS services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic. Note that Lambda configures the comparison using the ``StringLike`` operator.
9360
+ :param source_account: For AWS-service , the ID of the AWS account that owns the resource. Use this together with ``SourceArn`` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.
9361
+ :param source_arn: For AWS-services , the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic. Note that Lambda configures the comparison using the ``StringLike`` operator.
9308
9362
 
9309
9363
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html
9310
9364
  :exampleMetadata: fixture=_generated
@@ -9385,7 +9439,7 @@ class CfnPermissionProps:
9385
9439
 
9386
9440
  @builtins.property
9387
9441
  def principal(self) -> builtins.str:
9388
- '''The AWS service or AWS account that invokes the function.
9442
+ '''The AWS-service or AWS account that invokes the function.
9389
9443
 
9390
9444
  If you specify a service, use ``SourceArn`` or ``SourceAccount`` to limit who can invoke the function through that service.
9391
9445
 
@@ -9428,7 +9482,7 @@ class CfnPermissionProps:
9428
9482
 
9429
9483
  @builtins.property
9430
9484
  def source_account(self) -> typing.Optional[builtins.str]:
9431
- '''For AWS service , the ID of the AWS account that owns the resource.
9485
+ '''For AWS-service , the ID of the AWS account that owns the resource.
9432
9486
 
9433
9487
  Use this together with ``SourceArn`` to ensure that the specified account owns the resource. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.
9434
9488
 
@@ -9439,7 +9493,7 @@ class CfnPermissionProps:
9439
9493
 
9440
9494
  @builtins.property
9441
9495
  def source_arn(self) -> typing.Optional[builtins.str]:
9442
- '''For AWS services , the ARN of the AWS resource that invokes the function.
9496
+ '''For AWS-services , the ARN of the AWS resource that invokes the function.
9443
9497
 
9444
9498
  For example, an Amazon S3 bucket or Amazon SNS topic.
9445
9499
 
@@ -9598,7 +9652,7 @@ class CfnUrl(
9598
9652
  if __debug__:
9599
9653
  type_hints = typing.get_type_hints(_typecheckingstub__3825ac9d2b066b8684c19c73c49481a98ec726da763f3c47d81eecf450d60f11)
9600
9654
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9601
- jsii.set(self, "authType", value)
9655
+ jsii.set(self, "authType", value) # pyright: ignore[reportArgumentType]
9602
9656
 
9603
9657
  @builtins.property
9604
9658
  @jsii.member(jsii_name="targetFunctionArn")
@@ -9611,7 +9665,7 @@ class CfnUrl(
9611
9665
  if __debug__:
9612
9666
  type_hints = typing.get_type_hints(_typecheckingstub__5fedf78e7a48e0b177ef81d5fbc67f89d31b5c9d7578d78803f563dcaf2c39a6)
9613
9667
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9614
- jsii.set(self, "targetFunctionArn", value)
9668
+ jsii.set(self, "targetFunctionArn", value) # pyright: ignore[reportArgumentType]
9615
9669
 
9616
9670
  @builtins.property
9617
9671
  @jsii.member(jsii_name="cors")
@@ -9629,7 +9683,7 @@ class CfnUrl(
9629
9683
  if __debug__:
9630
9684
  type_hints = typing.get_type_hints(_typecheckingstub__d41b12f6e3c274633a1ab237c9d2c8dae2757548abbc8e5bde3fe4176ff93b35)
9631
9685
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9632
- jsii.set(self, "cors", value)
9686
+ jsii.set(self, "cors", value) # pyright: ignore[reportArgumentType]
9633
9687
 
9634
9688
  @builtins.property
9635
9689
  @jsii.member(jsii_name="invokeMode")
@@ -9642,7 +9696,7 @@ class CfnUrl(
9642
9696
  if __debug__:
9643
9697
  type_hints = typing.get_type_hints(_typecheckingstub__de96f9d091517b1e5b2c30ee19b262b1bc639d57f811b38dc952094468738887)
9644
9698
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9645
- jsii.set(self, "invokeMode", value)
9699
+ jsii.set(self, "invokeMode", value) # pyright: ignore[reportArgumentType]
9646
9700
 
9647
9701
  @builtins.property
9648
9702
  @jsii.member(jsii_name="qualifier")
@@ -9655,7 +9709,7 @@ class CfnUrl(
9655
9709
  if __debug__:
9656
9710
  type_hints = typing.get_type_hints(_typecheckingstub__be10204dad3e3ae396b62dbe6a430db367f44e796f51c5039cef395b94e2e908)
9657
9711
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9658
- jsii.set(self, "qualifier", value)
9712
+ jsii.set(self, "qualifier", value) # pyright: ignore[reportArgumentType]
9659
9713
 
9660
9714
  @jsii.data_type(
9661
9715
  jsii_type="aws-cdk-lib.aws_lambda.CfnUrl.CorsProperty",
@@ -10097,7 +10151,7 @@ class CfnVersion(
10097
10151
  if __debug__:
10098
10152
  type_hints = typing.get_type_hints(_typecheckingstub__517ec870f1330321d13eea9fbc5944c14ea20218b8aa28c35494f72f5a6a1be3)
10099
10153
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10100
- jsii.set(self, "functionName", value)
10154
+ jsii.set(self, "functionName", value) # pyright: ignore[reportArgumentType]
10101
10155
 
10102
10156
  @builtins.property
10103
10157
  @jsii.member(jsii_name="codeSha256")
@@ -10110,7 +10164,7 @@ class CfnVersion(
10110
10164
  if __debug__:
10111
10165
  type_hints = typing.get_type_hints(_typecheckingstub__71885c0338af377c06eae5f6eef8ce2cdc338fb7b10c9e98ffaa14c9a1e85064)
10112
10166
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10113
- jsii.set(self, "codeSha256", value)
10167
+ jsii.set(self, "codeSha256", value) # pyright: ignore[reportArgumentType]
10114
10168
 
10115
10169
  @builtins.property
10116
10170
  @jsii.member(jsii_name="description")
@@ -10123,7 +10177,7 @@ class CfnVersion(
10123
10177
  if __debug__:
10124
10178
  type_hints = typing.get_type_hints(_typecheckingstub__f00e141771e43b8312d6a22399ba2d956886a5861db2296d1a2f16f8bba28b35)
10125
10179
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10126
- jsii.set(self, "description", value)
10180
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
10127
10181
 
10128
10182
  @builtins.property
10129
10183
  @jsii.member(jsii_name="policy")
@@ -10136,7 +10190,7 @@ class CfnVersion(
10136
10190
  if __debug__:
10137
10191
  type_hints = typing.get_type_hints(_typecheckingstub__ca802d0cfdb44c8f362bdb1d342a752f1a5ebd921d11a7b2fd0806cca5d9200a)
10138
10192
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10139
- jsii.set(self, "policy", value)
10193
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
10140
10194
 
10141
10195
  @builtins.property
10142
10196
  @jsii.member(jsii_name="provisionedConcurrencyConfig")
@@ -10154,7 +10208,7 @@ class CfnVersion(
10154
10208
  if __debug__:
10155
10209
  type_hints = typing.get_type_hints(_typecheckingstub__e46534e1d83b58a93edc70a851ca891701ea58cfe9a3fc7dc106915c1a475fa6)
10156
10210
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10157
- jsii.set(self, "provisionedConcurrencyConfig", value)
10211
+ jsii.set(self, "provisionedConcurrencyConfig", value) # pyright: ignore[reportArgumentType]
10158
10212
 
10159
10213
  @builtins.property
10160
10214
  @jsii.member(jsii_name="runtimePolicy")
@@ -10172,7 +10226,7 @@ class CfnVersion(
10172
10226
  if __debug__:
10173
10227
  type_hints = typing.get_type_hints(_typecheckingstub__584bd4a88ccc7115243718679495b0e532174830ccb955a353592cc13c8ac084)
10174
10228
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10175
- jsii.set(self, "runtimePolicy", value)
10229
+ jsii.set(self, "runtimePolicy", value) # pyright: ignore[reportArgumentType]
10176
10230
 
10177
10231
  @jsii.data_type(
10178
10232
  jsii_type="aws-cdk-lib.aws_lambda.CfnVersion.ProvisionedConcurrencyConfigurationProperty",
@@ -14082,6 +14136,7 @@ class FunctionAttributes:
14082
14136
  "params_and_secrets": "paramsAndSecrets",
14083
14137
  "profiling": "profiling",
14084
14138
  "profiling_group": "profilingGroup",
14139
+ "recursive_loop": "recursiveLoop",
14085
14140
  "reserved_concurrent_executions": "reservedConcurrentExecutions",
14086
14141
  "role": "role",
14087
14142
  "runtime_management_mode": "runtimeManagementMode",
@@ -14135,6 +14190,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14135
14190
  params_and_secrets: typing.Optional["ParamsAndSecretsLayerVersion"] = None,
14136
14191
  profiling: typing.Optional[builtins.bool] = None,
14137
14192
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
14193
+ recursive_loop: typing.Optional["RecursiveLoop"] = None,
14138
14194
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
14139
14195
  role: typing.Optional[_IRole_235f5d8e] = None,
14140
14196
  runtime_management_mode: typing.Optional["RuntimeManagementMode"] = None,
@@ -14185,6 +14241,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14185
14241
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
14186
14242
  :param profiling: Enable profiling. Default: - No profiling.
14187
14243
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
14244
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
14188
14245
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
14189
14246
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
14190
14247
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -14290,6 +14347,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14290
14347
  params_and_secrets=params_and_secrets_layer_version,
14291
14348
  profiling=False,
14292
14349
  profiling_group=profiling_group,
14350
+ recursive_loop=lambda_.RecursiveLoop.ALLOW,
14293
14351
  reserved_concurrent_executions=123,
14294
14352
  retry_attempts=123,
14295
14353
  role=role,
@@ -14357,6 +14415,7 @@ class FunctionOptions(EventInvokeConfigOptions):
14357
14415
  check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
14358
14416
  check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
14359
14417
  check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
14418
+ check_type(argname="argument recursive_loop", value=recursive_loop, expected_type=type_hints["recursive_loop"])
14360
14419
  check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
14361
14420
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
14362
14421
  check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
@@ -14441,6 +14500,8 @@ class FunctionOptions(EventInvokeConfigOptions):
14441
14500
  self._values["profiling"] = profiling
14442
14501
  if profiling_group is not None:
14443
14502
  self._values["profiling_group"] = profiling_group
14503
+ if recursive_loop is not None:
14504
+ self._values["recursive_loop"] = recursive_loop
14444
14505
  if reserved_concurrent_executions is not None:
14445
14506
  self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
14446
14507
  if role is not None:
@@ -14889,6 +14950,17 @@ class FunctionOptions(EventInvokeConfigOptions):
14889
14950
  result = self._values.get("profiling_group")
14890
14951
  return typing.cast(typing.Optional[_IProfilingGroup_0bba72c4], result)
14891
14952
 
14953
+ @builtins.property
14954
+ def recursive_loop(self) -> typing.Optional["RecursiveLoop"]:
14955
+ '''Sets the Recursive Loop Protection for Lambda Function.
14956
+
14957
+ It lets Lambda detect and terminate unintended recusrive loops.
14958
+
14959
+ :default: RecursiveLoop.Terminate
14960
+ '''
14961
+ result = self._values.get("recursive_loop")
14962
+ return typing.cast(typing.Optional["RecursiveLoop"], result)
14963
+
14892
14964
  @builtins.property
14893
14965
  def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
14894
14966
  '''The maximum of concurrent executions you want to reserve for the function.
@@ -15079,6 +15151,7 @@ class FunctionOptions(EventInvokeConfigOptions):
15079
15151
  "params_and_secrets": "paramsAndSecrets",
15080
15152
  "profiling": "profiling",
15081
15153
  "profiling_group": "profilingGroup",
15154
+ "recursive_loop": "recursiveLoop",
15082
15155
  "reserved_concurrent_executions": "reservedConcurrentExecutions",
15083
15156
  "role": "role",
15084
15157
  "runtime_management_mode": "runtimeManagementMode",
@@ -15135,6 +15208,7 @@ class FunctionProps(FunctionOptions):
15135
15208
  params_and_secrets: typing.Optional["ParamsAndSecretsLayerVersion"] = None,
15136
15209
  profiling: typing.Optional[builtins.bool] = None,
15137
15210
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
15211
+ recursive_loop: typing.Optional["RecursiveLoop"] = None,
15138
15212
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
15139
15213
  role: typing.Optional[_IRole_235f5d8e] = None,
15140
15214
  runtime_management_mode: typing.Optional["RuntimeManagementMode"] = None,
@@ -15187,6 +15261,7 @@ class FunctionProps(FunctionOptions):
15187
15261
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
15188
15262
  :param profiling: Enable profiling. Default: - No profiling.
15189
15263
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
15264
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
15190
15265
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
15191
15266
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
15192
15267
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -15275,6 +15350,7 @@ class FunctionProps(FunctionOptions):
15275
15350
  check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
15276
15351
  check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
15277
15352
  check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
15353
+ check_type(argname="argument recursive_loop", value=recursive_loop, expected_type=type_hints["recursive_loop"])
15278
15354
  check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
15279
15355
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
15280
15356
  check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
@@ -15366,6 +15442,8 @@ class FunctionProps(FunctionOptions):
15366
15442
  self._values["profiling"] = profiling
15367
15443
  if profiling_group is not None:
15368
15444
  self._values["profiling_group"] = profiling_group
15445
+ if recursive_loop is not None:
15446
+ self._values["recursive_loop"] = recursive_loop
15369
15447
  if reserved_concurrent_executions is not None:
15370
15448
  self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
15371
15449
  if role is not None:
@@ -15814,6 +15892,17 @@ class FunctionProps(FunctionOptions):
15814
15892
  result = self._values.get("profiling_group")
15815
15893
  return typing.cast(typing.Optional[_IProfilingGroup_0bba72c4], result)
15816
15894
 
15895
+ @builtins.property
15896
+ def recursive_loop(self) -> typing.Optional["RecursiveLoop"]:
15897
+ '''Sets the Recursive Loop Protection for Lambda Function.
15898
+
15899
+ It lets Lambda detect and terminate unintended recusrive loops.
15900
+
15901
+ :default: RecursiveLoop.Terminate
15902
+ '''
15903
+ result = self._values.get("recursive_loop")
15904
+ return typing.cast(typing.Optional["RecursiveLoop"], result)
15905
+
15817
15906
  @builtins.property
15818
15907
  def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
15819
15908
  '''The maximum of concurrent executions you want to reserve for the function.
@@ -19784,6 +19873,27 @@ class Permission:
19784
19873
  )
19785
19874
 
19786
19875
 
19876
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_lambda.RecursiveLoop")
19877
+ class RecursiveLoop(enum.Enum):
19878
+ '''
19879
+ :exampleMetadata: infused
19880
+
19881
+ Example::
19882
+
19883
+ fn = lambda_.Function(self, "MyFunction",
19884
+ code=lambda_.Code.from_asset(path.join(__dirname, "handler.zip")),
19885
+ runtime=lambda_.Runtime.JAVA_11,
19886
+ handler="example.Handler::handleRequest",
19887
+ recursive_loop=lambda_.RecursiveLoop.TERMINATE
19888
+ )
19889
+ '''
19890
+
19891
+ ALLOW = "ALLOW"
19892
+ '''Allows the recursive loop to happen and does not terminate it.'''
19893
+ TERMINATE = "TERMINATE"
19894
+ '''Terminates the recursive loop.'''
19895
+
19896
+
19787
19897
  @jsii.data_type(
19788
19898
  jsii_type="aws-cdk-lib.aws_lambda.ResourceBindOptions",
19789
19899
  jsii_struct_bases=[],
@@ -20493,6 +20603,7 @@ class S3Code(Code, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_lambda.S3
20493
20603
  "params_and_secrets": "paramsAndSecrets",
20494
20604
  "profiling": "profiling",
20495
20605
  "profiling_group": "profilingGroup",
20606
+ "recursive_loop": "recursiveLoop",
20496
20607
  "reserved_concurrent_executions": "reservedConcurrentExecutions",
20497
20608
  "role": "role",
20498
20609
  "runtime_management_mode": "runtimeManagementMode",
@@ -20551,6 +20662,7 @@ class SingletonFunctionProps(FunctionProps):
20551
20662
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
20552
20663
  profiling: typing.Optional[builtins.bool] = None,
20553
20664
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
20665
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
20554
20666
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
20555
20667
  role: typing.Optional[_IRole_235f5d8e] = None,
20556
20668
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -20606,6 +20718,7 @@ class SingletonFunctionProps(FunctionProps):
20606
20718
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
20607
20719
  :param profiling: Enable profiling. Default: - No profiling.
20608
20720
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
20721
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
20609
20722
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
20610
20723
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
20611
20724
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -20679,6 +20792,7 @@ class SingletonFunctionProps(FunctionProps):
20679
20792
  check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
20680
20793
  check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
20681
20794
  check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
20795
+ check_type(argname="argument recursive_loop", value=recursive_loop, expected_type=type_hints["recursive_loop"])
20682
20796
  check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
20683
20797
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
20684
20798
  check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
@@ -20773,6 +20887,8 @@ class SingletonFunctionProps(FunctionProps):
20773
20887
  self._values["profiling"] = profiling
20774
20888
  if profiling_group is not None:
20775
20889
  self._values["profiling_group"] = profiling_group
20890
+ if recursive_loop is not None:
20891
+ self._values["recursive_loop"] = recursive_loop
20776
20892
  if reserved_concurrent_executions is not None:
20777
20893
  self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
20778
20894
  if role is not None:
@@ -21221,6 +21337,17 @@ class SingletonFunctionProps(FunctionProps):
21221
21337
  result = self._values.get("profiling_group")
21222
21338
  return typing.cast(typing.Optional[_IProfilingGroup_0bba72c4], result)
21223
21339
 
21340
+ @builtins.property
21341
+ def recursive_loop(self) -> typing.Optional[RecursiveLoop]:
21342
+ '''Sets the Recursive Loop Protection for Lambda Function.
21343
+
21344
+ It lets Lambda detect and terminate unintended recusrive loops.
21345
+
21346
+ :default: RecursiveLoop.Terminate
21347
+ '''
21348
+ result = self._values.get("recursive_loop")
21349
+ return typing.cast(typing.Optional[RecursiveLoop], result)
21350
+
21224
21351
  @builtins.property
21225
21352
  def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
21226
21353
  '''The maximum of concurrent executions you want to reserve for the function.
@@ -23416,6 +23543,7 @@ class CodeSigningConfig(
23416
23543
  "params_and_secrets": "paramsAndSecrets",
23417
23544
  "profiling": "profiling",
23418
23545
  "profiling_group": "profilingGroup",
23546
+ "recursive_loop": "recursiveLoop",
23419
23547
  "reserved_concurrent_executions": "reservedConcurrentExecutions",
23420
23548
  "role": "role",
23421
23549
  "runtime_management_mode": "runtimeManagementMode",
@@ -23470,6 +23598,7 @@ class DockerImageFunctionProps(FunctionOptions):
23470
23598
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
23471
23599
  profiling: typing.Optional[builtins.bool] = None,
23472
23600
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
23601
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
23473
23602
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
23474
23603
  role: typing.Optional[_IRole_235f5d8e] = None,
23475
23604
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -23521,6 +23650,7 @@ class DockerImageFunctionProps(FunctionOptions):
23521
23650
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
23522
23651
  :param profiling: Enable profiling. Default: - No profiling.
23523
23652
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
23653
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
23524
23654
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
23525
23655
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
23526
23656
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -23588,6 +23718,7 @@ class DockerImageFunctionProps(FunctionOptions):
23588
23718
  check_type(argname="argument params_and_secrets", value=params_and_secrets, expected_type=type_hints["params_and_secrets"])
23589
23719
  check_type(argname="argument profiling", value=profiling, expected_type=type_hints["profiling"])
23590
23720
  check_type(argname="argument profiling_group", value=profiling_group, expected_type=type_hints["profiling_group"])
23721
+ check_type(argname="argument recursive_loop", value=recursive_loop, expected_type=type_hints["recursive_loop"])
23591
23722
  check_type(argname="argument reserved_concurrent_executions", value=reserved_concurrent_executions, expected_type=type_hints["reserved_concurrent_executions"])
23592
23723
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
23593
23724
  check_type(argname="argument runtime_management_mode", value=runtime_management_mode, expected_type=type_hints["runtime_management_mode"])
@@ -23675,6 +23806,8 @@ class DockerImageFunctionProps(FunctionOptions):
23675
23806
  self._values["profiling"] = profiling
23676
23807
  if profiling_group is not None:
23677
23808
  self._values["profiling_group"] = profiling_group
23809
+ if recursive_loop is not None:
23810
+ self._values["recursive_loop"] = recursive_loop
23678
23811
  if reserved_concurrent_executions is not None:
23679
23812
  self._values["reserved_concurrent_executions"] = reserved_concurrent_executions
23680
23813
  if role is not None:
@@ -24121,6 +24254,17 @@ class DockerImageFunctionProps(FunctionOptions):
24121
24254
  result = self._values.get("profiling_group")
24122
24255
  return typing.cast(typing.Optional[_IProfilingGroup_0bba72c4], result)
24123
24256
 
24257
+ @builtins.property
24258
+ def recursive_loop(self) -> typing.Optional[RecursiveLoop]:
24259
+ '''Sets the Recursive Loop Protection for Lambda Function.
24260
+
24261
+ It lets Lambda detect and terminate unintended recusrive loops.
24262
+
24263
+ :default: RecursiveLoop.Terminate
24264
+ '''
24265
+ result = self._values.get("recursive_loop")
24266
+ return typing.cast(typing.Optional[RecursiveLoop], result)
24267
+
24124
24268
  @builtins.property
24125
24269
  def reserved_concurrent_executions(self) -> typing.Optional[jsii.Number]:
24126
24270
  '''The maximum of concurrent executions you want to reserve for the function.
@@ -25509,6 +25653,7 @@ class SingletonFunction(
25509
25653
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
25510
25654
  profiling: typing.Optional[builtins.bool] = None,
25511
25655
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
25656
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
25512
25657
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
25513
25658
  role: typing.Optional[_IRole_235f5d8e] = None,
25514
25659
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -25565,6 +25710,7 @@ class SingletonFunction(
25565
25710
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
25566
25711
  :param profiling: Enable profiling. Default: - No profiling.
25567
25712
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
25713
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
25568
25714
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
25569
25715
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
25570
25716
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -25623,6 +25769,7 @@ class SingletonFunction(
25623
25769
  params_and_secrets=params_and_secrets,
25624
25770
  profiling=profiling,
25625
25771
  profiling_group=profiling_group,
25772
+ recursive_loop=recursive_loop,
25626
25773
  reserved_concurrent_executions=reserved_concurrent_executions,
25627
25774
  role=role,
25628
25775
  runtime_management_mode=runtime_management_mode,
@@ -25690,6 +25837,34 @@ class SingletonFunction(
25690
25837
  check_type(argname="argument layers", value=layers, expected_type=typing.Tuple[type_hints["layers"], ...]) # pyright: ignore [reportGeneralTypeIssues]
25691
25838
  return typing.cast(None, jsii.invoke(self, "addLayers", [*layers]))
25692
25839
 
25840
+ @jsii.member(jsii_name="addMetadata")
25841
+ def add_metadata(
25842
+ self,
25843
+ type: builtins.str,
25844
+ data: typing.Any,
25845
+ *,
25846
+ stack_trace: typing.Optional[builtins.bool] = None,
25847
+ trace_from_function: typing.Any = None,
25848
+ ) -> None:
25849
+ '''Use this method to write to the construct tree.
25850
+
25851
+ The metadata entries are written to the Cloud Assembly Manifest if the ``treeMetadata`` property is specified in the props of the App that contains this Construct.
25852
+
25853
+ :param type: -
25854
+ :param data: -
25855
+ :param stack_trace: Include stack trace with metadata entry. Default: false
25856
+ :param trace_from_function: A JavaScript function to begin tracing from. This option is ignored unless ``stackTrace`` is ``true``. Default: addMetadata()
25857
+ '''
25858
+ if __debug__:
25859
+ type_hints = typing.get_type_hints(_typecheckingstub__259cc2cc87abf52dc5f1d114dffcd0817a80d0011ad64386cc1a926af1a16ddd)
25860
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
25861
+ check_type(argname="argument data", value=data, expected_type=type_hints["data"])
25862
+ options = _constructs_77d1e7e8.MetadataOptions(
25863
+ stack_trace=stack_trace, trace_from_function=trace_from_function
25864
+ )
25865
+
25866
+ return typing.cast(None, jsii.invoke(self, "addMetadata", [type, data, options]))
25867
+
25693
25868
  @jsii.member(jsii_name="addPermission")
25694
25869
  def add_permission(
25695
25870
  self,
@@ -26467,6 +26642,7 @@ class Function(
26467
26642
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
26468
26643
  profiling: typing.Optional[builtins.bool] = None,
26469
26644
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
26645
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
26470
26646
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
26471
26647
  role: typing.Optional[_IRole_235f5d8e] = None,
26472
26648
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -26521,6 +26697,7 @@ class Function(
26521
26697
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
26522
26698
  :param profiling: Enable profiling. Default: - No profiling.
26523
26699
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
26700
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
26524
26701
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
26525
26702
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
26526
26703
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -26577,6 +26754,7 @@ class Function(
26577
26754
  params_and_secrets=params_and_secrets,
26578
26755
  profiling=profiling,
26579
26756
  profiling_group=profiling_group,
26757
+ recursive_loop=recursive_loop,
26580
26758
  reserved_concurrent_executions=reserved_concurrent_executions,
26581
26759
  role=role,
26582
26760
  runtime_management_mode=runtime_management_mode,
@@ -27259,6 +27437,7 @@ class DockerImageFunction(
27259
27437
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
27260
27438
  profiling: typing.Optional[builtins.bool] = None,
27261
27439
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
27440
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
27262
27441
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
27263
27442
  role: typing.Optional[_IRole_235f5d8e] = None,
27264
27443
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -27311,6 +27490,7 @@ class DockerImageFunction(
27311
27490
  :param params_and_secrets: Specify the configuration of Parameters and Secrets Extension. Default: - No Parameters and Secrets Extension
27312
27491
  :param profiling: Enable profiling. Default: - No profiling.
27313
27492
  :param profiling_group: Profiling Group. Default: - A new profiling group will be created if ``profiling`` is set.
27493
+ :param recursive_loop: Sets the Recursive Loop Protection for Lambda Function. It lets Lambda detect and terminate unintended recusrive loops. Default: RecursiveLoop.Terminate
27314
27494
  :param reserved_concurrent_executions: The maximum of concurrent executions you want to reserve for the function. Default: - No specific limit - account limit.
27315
27495
  :param role: Lambda execution role. This is the role that will be assumed by the function upon execution. It controls the permissions that the function will have. The Role must be assumable by the 'lambda.amazonaws.com' service principal. The default Role automatically has permissions granted for Lambda execution. If you provide a Role, you must add the relevant AWS managed policies yourself. The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and "service-role/AWSLambdaVPCAccessExecutionRole". Default: - A unique role will be generated for this lambda function. Both supplied and generated roles can always be changed by calling ``addToRolePolicy``.
27316
27496
  :param runtime_management_mode: Sets the runtime management configuration for a function's version. Default: Auto
@@ -27365,6 +27545,7 @@ class DockerImageFunction(
27365
27545
  params_and_secrets=params_and_secrets,
27366
27546
  profiling=profiling,
27367
27547
  profiling_group=profiling_group,
27548
+ recursive_loop=recursive_loop,
27368
27549
  reserved_concurrent_executions=reserved_concurrent_executions,
27369
27550
  role=role,
27370
27551
  runtime_management_mode=runtime_management_mode,
@@ -27495,6 +27676,7 @@ __all__ = [
27495
27676
  "ParamsAndSecretsVersions",
27496
27677
  "Permission",
27497
27678
  "QualifiedFunctionBase",
27679
+ "RecursiveLoop",
27498
27680
  "ResourceBindOptions",
27499
27681
  "Runtime",
27500
27682
  "RuntimeFamily",
@@ -27705,7 +27887,7 @@ def _typecheckingstub__7525467ed4a8de7249cf79d24091ae59273412647fd30558b48ead6b6
27705
27887
 
27706
27888
  def _typecheckingstub__6cdf547e432e98f71c10bd59a276cb1a69fa82898a8f92c15fff9c69bf506ce0(
27707
27889
  *,
27708
- additional_version_weights: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAlias.VersionWeightProperty, typing.Dict[builtins.str, typing.Any]]]]],
27890
+ additional_version_weights: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAlias.VersionWeightProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
27709
27891
  ) -> None:
27710
27892
  """Type checking stubs"""
27711
27893
  pass
@@ -28208,6 +28390,7 @@ def _typecheckingstub__d971f3872acf20816e6da364ff9e6bec83fe2e68bbb9a7debc845b400
28208
28390
  logging_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.LoggingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
28209
28391
  memory_size: typing.Optional[jsii.Number] = None,
28210
28392
  package_type: typing.Optional[builtins.str] = None,
28393
+ recursive_loop: typing.Optional[builtins.str] = None,
28211
28394
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
28212
28395
  runtime: typing.Optional[builtins.str] = None,
28213
28396
  runtime_management_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.RuntimeManagementConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -28334,6 +28517,12 @@ def _typecheckingstub__7f9bb5c748b58d456d8f996b07509c9991044629122c76de58eaabc34
28334
28517
  """Type checking stubs"""
28335
28518
  pass
28336
28519
 
28520
+ def _typecheckingstub__021080e0643735be55c0ce187b6c3482fd8d23af0a29c95ad94660f1cf184a90(
28521
+ value: typing.Optional[builtins.str],
28522
+ ) -> None:
28523
+ """Type checking stubs"""
28524
+ pass
28525
+
28337
28526
  def _typecheckingstub__776a8ed6e24e90be835cb39b621ff66305005b357a6debbf3a62f69d83289278(
28338
28527
  value: typing.Optional[jsii.Number],
28339
28528
  ) -> None:
@@ -28388,6 +28577,7 @@ def _typecheckingstub__7102a6215772d5cf5b9392746e4c0cd11ba84424f7dbcd39e9d78ba08
28388
28577
  s3_bucket: typing.Optional[builtins.str] = None,
28389
28578
  s3_key: typing.Optional[builtins.str] = None,
28390
28579
  s3_object_version: typing.Optional[builtins.str] = None,
28580
+ source_kms_key_arn: typing.Optional[builtins.str] = None,
28391
28581
  zip_file: typing.Optional[builtins.str] = None,
28392
28582
  ) -> None:
28393
28583
  """Type checking stubs"""
@@ -28499,6 +28689,7 @@ def _typecheckingstub__06b7f494e25475a49ebed0d7ed6d0fca9653b5fa5e00ded0cba4fc40a
28499
28689
  logging_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.LoggingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
28500
28690
  memory_size: typing.Optional[jsii.Number] = None,
28501
28691
  package_type: typing.Optional[builtins.str] = None,
28692
+ recursive_loop: typing.Optional[builtins.str] = None,
28502
28693
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
28503
28694
  runtime: typing.Optional[builtins.str] = None,
28504
28695
  runtime_management_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFunction.RuntimeManagementConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -29382,6 +29573,7 @@ def _typecheckingstub__59918bb957d892739733c7a5849db990615fe5329709ad7ba703e0ee4
29382
29573
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
29383
29574
  profiling: typing.Optional[builtins.bool] = None,
29384
29575
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
29576
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
29385
29577
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
29386
29578
  role: typing.Optional[_IRole_235f5d8e] = None,
29387
29579
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -29435,6 +29627,7 @@ def _typecheckingstub__94e70d11aa3c53737d418dbb9983973dfc06dbdef5c8cc30613cc3c6d
29435
29627
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
29436
29628
  profiling: typing.Optional[builtins.bool] = None,
29437
29629
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
29630
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
29438
29631
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
29439
29632
  role: typing.Optional[_IRole_235f5d8e] = None,
29440
29633
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -29932,6 +30125,7 @@ def _typecheckingstub__68a03ec9f866a29c77aabcf8328c63a49511790fa9714874f255b3292
29932
30125
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
29933
30126
  profiling: typing.Optional[builtins.bool] = None,
29934
30127
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
30128
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
29935
30129
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
29936
30130
  role: typing.Optional[_IRole_235f5d8e] = None,
29937
30131
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -30183,6 +30377,7 @@ def _typecheckingstub__04dd97f4b18c00e7ee0981f2428664401ae0b75dbda6102ea3ef53d08
30183
30377
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
30184
30378
  profiling: typing.Optional[builtins.bool] = None,
30185
30379
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
30380
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
30186
30381
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
30187
30382
  role: typing.Optional[_IRole_235f5d8e] = None,
30188
30383
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -30441,6 +30636,7 @@ def _typecheckingstub__e7b766bff13bb7266787cec9bebb600187e19c1672e530bb9cfa31649
30441
30636
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
30442
30637
  profiling: typing.Optional[builtins.bool] = None,
30443
30638
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
30639
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
30444
30640
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
30445
30641
  role: typing.Optional[_IRole_235f5d8e] = None,
30446
30642
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -30481,6 +30677,16 @@ def _typecheckingstub__dfe2164ed2ba41ee277e402c96b5d6ca860bb63bfa759b1be39957fac
30481
30677
  """Type checking stubs"""
30482
30678
  pass
30483
30679
 
30680
+ def _typecheckingstub__259cc2cc87abf52dc5f1d114dffcd0817a80d0011ad64386cc1a926af1a16ddd(
30681
+ type: builtins.str,
30682
+ data: typing.Any,
30683
+ *,
30684
+ stack_trace: typing.Optional[builtins.bool] = None,
30685
+ trace_from_function: typing.Any = None,
30686
+ ) -> None:
30687
+ """Type checking stubs"""
30688
+ pass
30689
+
30484
30690
  def _typecheckingstub__6d48a048e22819587505668ae6e1fbdfeedaaaf355ad52bd1196e683b1815a22(
30485
30691
  name: builtins.str,
30486
30692
  *,
@@ -30647,6 +30853,7 @@ def _typecheckingstub__724895b6b59aaf2b678ef25f2beca19fb114fc04ff6b37edef28e12b3
30647
30853
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
30648
30854
  profiling: typing.Optional[builtins.bool] = None,
30649
30855
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
30856
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
30650
30857
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
30651
30858
  role: typing.Optional[_IRole_235f5d8e] = None,
30652
30859
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,
@@ -30790,6 +30997,7 @@ def _typecheckingstub__368a49fe1f866c7ea7986c57b6f8488d0fddea8f62bf05ec1ed7eb09b
30790
30997
  params_and_secrets: typing.Optional[ParamsAndSecretsLayerVersion] = None,
30791
30998
  profiling: typing.Optional[builtins.bool] = None,
30792
30999
  profiling_group: typing.Optional[_IProfilingGroup_0bba72c4] = None,
31000
+ recursive_loop: typing.Optional[RecursiveLoop] = None,
30793
31001
  reserved_concurrent_executions: typing.Optional[jsii.Number] = None,
30794
31002
  role: typing.Optional[_IRole_235f5d8e] = None,
30795
31003
  runtime_management_mode: typing.Optional[RuntimeManagementMode] = None,