aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.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 (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -261,8 +261,8 @@ from .. import (
261
261
  SymlinkFollowMode as _SymlinkFollowMode_047ec1f6,
262
262
  )
263
263
  from ..aws_iam import IGrantable as _IGrantable_71c4f5de
264
- from ..aws_kms import IKey as _IKey_5f11635f
265
264
  from ..aws_s3 import IBucket as _IBucket_42e086fd
265
+ from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
266
266
 
267
267
 
268
268
  @jsii.implements(_IAsset_03c624d8)
@@ -299,7 +299,7 @@ class Asset(
299
299
  deploy_time: typing.Optional[builtins.bool] = None,
300
300
  display_name: typing.Optional[builtins.str] = None,
301
301
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
302
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
302
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
303
303
  asset_hash: typing.Optional[builtins.str] = None,
304
304
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
305
305
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -486,7 +486,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
486
486
  deploy_time: typing.Optional[builtins.bool] = None,
487
487
  display_name: typing.Optional[builtins.str] = None,
488
488
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
489
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
489
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
490
490
  ) -> None:
491
491
  '''
492
492
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -689,13 +689,13 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
689
689
  return typing.cast(typing.Optional[typing.List[_IGrantable_71c4f5de]], result)
690
690
 
691
691
  @builtins.property
692
- def source_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
692
+ def source_kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
693
693
  '''The ARN of the KMS key used to encrypt the handler code.
694
694
 
695
695
  :default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
696
696
  '''
697
697
  result = self._values.get("source_kms_key")
698
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
698
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
699
699
 
700
700
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
701
701
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -739,7 +739,7 @@ class AssetProps(AssetOptions):
739
739
  deploy_time: typing.Optional[builtins.bool] = None,
740
740
  display_name: typing.Optional[builtins.str] = None,
741
741
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
742
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
742
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
743
743
  path: builtins.str,
744
744
  ) -> None:
745
745
  '''
@@ -947,13 +947,13 @@ class AssetProps(AssetOptions):
947
947
  return typing.cast(typing.Optional[typing.List[_IGrantable_71c4f5de]], result)
948
948
 
949
949
  @builtins.property
950
- def source_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
950
+ def source_kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
951
951
  '''The ARN of the KMS key used to encrypt the handler code.
952
952
 
953
953
  :default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
954
954
  '''
955
955
  result = self._values.get("source_kms_key")
956
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
956
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
957
957
 
958
958
  @builtins.property
959
959
  def path(self) -> builtins.str:
@@ -996,7 +996,7 @@ def _typecheckingstub__00df81fd3b746cf2ee52c0e7a23b6fdc1b45db97673ca7e25a9651e7e
996
996
  deploy_time: typing.Optional[builtins.bool] = None,
997
997
  display_name: typing.Optional[builtins.str] = None,
998
998
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
999
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
999
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
1000
1000
  asset_hash: typing.Optional[builtins.str] = None,
1001
1001
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
1002
1002
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1031,7 +1031,7 @@ def _typecheckingstub__11950fe0327642dd25ddfeb2c620bb33847718475fe489bf003d096a0
1031
1031
  deploy_time: typing.Optional[builtins.bool] = None,
1032
1032
  display_name: typing.Optional[builtins.str] = None,
1033
1033
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
1034
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
1034
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
1035
1035
  ) -> None:
1036
1036
  """Type checking stubs"""
1037
1037
  pass
@@ -1047,7 +1047,7 @@ def _typecheckingstub__f879318d3885bc2e9c71c124fac7ad5a955812e438be7c03244c3aad7
1047
1047
  deploy_time: typing.Optional[builtins.bool] = None,
1048
1048
  display_name: typing.Optional[builtins.str] = None,
1049
1049
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
1050
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
1050
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
1051
1051
  path: builtins.str,
1052
1052
  ) -> None:
1053
1053
  """Type checking stubs"""
@@ -329,6 +329,25 @@ s3deploy.BucketDeployment(self, "DeployWithInvalidation",
329
329
  )
330
330
  ```
331
331
 
332
+ By default, the deployment will wait for invalidation to succeed to complete. This will poll Cloudfront for a maximum of 13 minutes to check for a successful invalidation. The drawback to this is that the deployment will fail if invalidation fails or if it takes longer than 13 minutes. As a workaround, there is the option `waitForDistributionInvalidation`, which can be set to false to skip waiting for the invalidation, but this can be risky as invalidation errors will not be reported.
333
+
334
+ ```python
335
+ import aws_cdk.aws_cloudfront as cloudfront
336
+
337
+ # bucket: s3.IBucket
338
+ # distribution: cloudfront.IDistribution
339
+
340
+
341
+ s3deploy.BucketDeployment(self, "DeployWithInvalidation",
342
+ sources=[s3deploy.Source.asset("./website-dist")],
343
+ destination_bucket=bucket,
344
+ distribution=distribution,
345
+ distribution_paths=["/images/*.png"],
346
+ # Invalidate cache but don't wait or verify that invalidation has completed successfully.
347
+ wait_for_distribution_invalidation=False
348
+ )
349
+ ```
350
+
332
351
  ## Signed Content Payloads
333
352
 
334
353
  By default, deployment uses streaming uploads which set the `x-amz-content-sha256`
@@ -524,6 +543,67 @@ cdk.CfnOutput(self, "ObjectKey",
524
543
  )
525
544
  ```
526
545
 
546
+ ## Specifying a Custom VPC, Subnets, and Security Groups in BucketDeployment
547
+
548
+ By default, the AWS CDK BucketDeployment construct runs in a publicly accessible environment. However, for enhanced security and compliance, you may need to deploy your assets from within a VPC while restricting network access through custom subnets and security groups.
549
+
550
+ ### Using a Custom VPC
551
+
552
+ To deploy assets within a private network, specify the vpc property in BucketDeploymentProps. This ensures that the deployment Lambda function executes within your specified VPC.
553
+
554
+ ```python
555
+ vpc = ec2.Vpc.from_lookup(self, "ExistingVPC", vpc_id="vpc-12345678")
556
+ bucket = s3.Bucket(self, "MyBucket")
557
+
558
+ s3deploy.BucketDeployment(self, "DeployToS3",
559
+ destination_bucket=bucket,
560
+ vpc=vpc,
561
+ sources=[s3deploy.Source.asset("./website")]
562
+ )
563
+ ```
564
+
565
+ ### Specifying Subnets for Deployment
566
+
567
+ By default, when you specify a VPC, the BucketDeployment function is deployed in the private subnets of that VPC.
568
+ However, you can customize the subnet selection using the vpcSubnets property.
569
+
570
+ ```python
571
+ vpc = ec2.Vpc.from_lookup(self, "ExistingVPC", vpc_id="vpc-12345678")
572
+ bucket = s3.Bucket(self, "MyBucket")
573
+
574
+ s3deploy.BucketDeployment(self, "DeployToS3",
575
+ destination_bucket=bucket,
576
+ vpc=vpc,
577
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC),
578
+ sources=[s3deploy.Source.asset("./website")]
579
+ )
580
+ ```
581
+
582
+ ### Defining Custom Security Groups
583
+
584
+ For enhanced network security, you can now specify custom security groups in BucketDeploymentProps.
585
+ This allows fine-grained control over ingress and egress rules for the deployment Lambda function.
586
+
587
+ ```python
588
+ vpc = ec2.Vpc.from_lookup(self, "ExistingVPC", vpc_id="vpc-12345678")
589
+ bucket = s3.Bucket(self, "MyBucket")
590
+
591
+ security_group = ec2.SecurityGroup(self, "CustomSG",
592
+ vpc=vpc,
593
+ description="Allow HTTPS outbound access",
594
+ allow_all_outbound=False
595
+ )
596
+
597
+ security_group.add_egress_rule(ec2.Peer.any_ipv4(), ec2.Port.tcp(443), "Allow HTTPS traffic")
598
+
599
+ s3deploy.BucketDeployment(self, "DeployWithSecurityGroup",
600
+ destination_bucket=bucket,
601
+ vpc=vpc,
602
+ security_groups=[security_group],
603
+ sources=[s3deploy.Source.asset("./website")]
604
+ )
605
+ ```
606
+
527
607
  ## Notes
528
608
 
529
609
  * This library uses an AWS CloudFormation custom resource which is about 10MiB in
@@ -599,12 +679,12 @@ from .. import (
599
679
  Size as _Size_7b441c34,
600
680
  SymlinkFollowMode as _SymlinkFollowMode_047ec1f6,
601
681
  )
602
- from ..aws_cloudfront import IDistribution as _IDistribution_7ac752a4
603
682
  from ..aws_ec2 import (
604
- IVpc as _IVpc_f30d5663, SubnetSelection as _SubnetSelection_e57d76df
683
+ ISecurityGroup as _ISecurityGroup_acf8a799,
684
+ IVpc as _IVpc_f30d5663,
685
+ SubnetSelection as _SubnetSelection_e57d76df,
605
686
  )
606
687
  from ..aws_iam import IGrantable as _IGrantable_71c4f5de, IRole as _IRole_235f5d8e
607
- from ..aws_kms import IKey as _IKey_5f11635f
608
688
  from ..aws_logs import (
609
689
  ILogGroup as _ILogGroup_3c4fa718, RetentionDays as _RetentionDays_070f99f0
610
690
  )
@@ -612,6 +692,8 @@ from ..aws_s3 import (
612
692
  BucketAccessControl as _BucketAccessControl_466c7e1b, IBucket as _IBucket_42e086fd
613
693
  )
614
694
  from ..aws_s3_assets import AssetOptions as _AssetOptions_2aa69621
695
+ from ..interfaces.aws_cloudfront import IDistributionRef as _IDistributionRef_36fd2094
696
+ from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
615
697
 
616
698
 
617
699
  class BucketDeployment(
@@ -655,7 +737,7 @@ class BucketDeployment(
655
737
  content_language: typing.Optional[builtins.str] = None,
656
738
  content_type: typing.Optional[builtins.str] = None,
657
739
  destination_key_prefix: typing.Optional[builtins.str] = None,
658
- distribution: typing.Optional[_IDistribution_7ac752a4] = None,
740
+ distribution: typing.Optional[_IDistributionRef_36fd2094] = None,
659
741
  distribution_paths: typing.Optional[typing.Sequence[builtins.str]] = None,
660
742
  ephemeral_storage_size: typing.Optional[_Size_7b441c34] = None,
661
743
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -670,6 +752,7 @@ class BucketDeployment(
670
752
  prune: typing.Optional[builtins.bool] = None,
671
753
  retain_on_delete: typing.Optional[builtins.bool] = None,
672
754
  role: typing.Optional[_IRole_235f5d8e] = None,
755
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
673
756
  server_side_encryption: typing.Optional["ServerSideEncryption"] = None,
674
757
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
675
758
  server_side_encryption_customer_algorithm: typing.Optional[builtins.str] = None,
@@ -678,6 +761,7 @@ class BucketDeployment(
678
761
  use_efs: typing.Optional[builtins.bool] = None,
679
762
  vpc: typing.Optional[_IVpc_f30d5663] = None,
680
763
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
764
+ wait_for_distribution_invalidation: typing.Optional[builtins.bool] = None,
681
765
  website_redirect_location: typing.Optional[builtins.str] = None,
682
766
  ) -> None:
683
767
  '''
@@ -707,6 +791,7 @@ class BucketDeployment(
707
791
  :param prune: By default, files in the destination bucket that don't exist in the source will be deleted when the BucketDeployment resource is created or updated. If this is set to false, files in the destination bucket that do not exist in the asset, will NOT be deleted during deployment (create/update). Default: true
708
792
  :param retain_on_delete: If this is set to "false", the destination files will be deleted when the resource is deleted or the destination is updated. NOTICE: Configuring this to "false" might have operational implications. Please visit to the package documentation referred below to make sure you fully understand those implications. Default: true - when resource is deleted/updated, files are retained
709
793
  :param role: Execution role associated with this function. Default: - A role is automatically created
794
+ :param security_groups: The list of security groups to associate with the lambda handlers network interfaces. Only used if 'vpc' is supplied. Default: undefined - If the function is placed within a VPC and a security group is not specified a dedicated security group will be created for this function.
710
795
  :param server_side_encryption: System-defined x-amz-server-side-encryption metadata to be set on all objects in the deployment. Default: - Server side encryption is not used.
711
796
  :param server_side_encryption_aws_kms_key_id: System-defined x-amz-server-side-encryption-aws-kms-key-id metadata to be set on all objects in the deployment. Default: - Not set.
712
797
  :param server_side_encryption_customer_algorithm: System-defined x-amz-server-side-encryption-customer-algorithm metadata to be set on all objects in the deployment. Warning: This is not a useful parameter until this bug is fixed: https://github.com/aws/aws-cdk/issues/6080 Default: - Not set.
@@ -715,6 +800,7 @@ class BucketDeployment(
715
800
  :param use_efs: Mount an EFS file system. Enable this if your assets are large and you encounter disk space errors. Enabling this option will require a VPC to be specified. Default: - No EFS. Lambda has access only to 512MB of disk space.
716
801
  :param vpc: The VPC network to place the deployment lambda handler in. This is required if ``useEfs`` is set. Default: None
717
802
  :param vpc_subnets: Where in the VPC to place the deployment lambda handler. Only used if 'vpc' is supplied. Default: - the Vpc default strategy if not specified
803
+ :param wait_for_distribution_invalidation: In case of using a cloudfront distribtuion, if this property is set to false then the custom resource will not wait and verify for Cloudfront invalidation to complete. This may speed up deployment and avoid intermittent Cloudfront issues. However, this is risky and not recommended as cache invalidation can silently fail. Default: true
718
804
  :param website_redirect_location: System-defined x-amz-website-redirect-location metadata to be set on all objects in the deployment. Default: - No website redirection.
719
805
  '''
720
806
  if __debug__:
@@ -746,6 +832,7 @@ class BucketDeployment(
746
832
  prune=prune,
747
833
  retain_on_delete=retain_on_delete,
748
834
  role=role,
835
+ security_groups=security_groups,
749
836
  server_side_encryption=server_side_encryption,
750
837
  server_side_encryption_aws_kms_key_id=server_side_encryption_aws_kms_key_id,
751
838
  server_side_encryption_customer_algorithm=server_side_encryption_customer_algorithm,
@@ -754,6 +841,7 @@ class BucketDeployment(
754
841
  use_efs=use_efs,
755
842
  vpc=vpc,
756
843
  vpc_subnets=vpc_subnets,
844
+ wait_for_distribution_invalidation=wait_for_distribution_invalidation,
757
845
  website_redirect_location=website_redirect_location,
758
846
  )
759
847
 
@@ -853,6 +941,7 @@ class BucketDeployment(
853
941
  "prune": "prune",
854
942
  "retain_on_delete": "retainOnDelete",
855
943
  "role": "role",
944
+ "security_groups": "securityGroups",
856
945
  "server_side_encryption": "serverSideEncryption",
857
946
  "server_side_encryption_aws_kms_key_id": "serverSideEncryptionAwsKmsKeyId",
858
947
  "server_side_encryption_customer_algorithm": "serverSideEncryptionCustomerAlgorithm",
@@ -861,6 +950,7 @@ class BucketDeployment(
861
950
  "use_efs": "useEfs",
862
951
  "vpc": "vpc",
863
952
  "vpc_subnets": "vpcSubnets",
953
+ "wait_for_distribution_invalidation": "waitForDistributionInvalidation",
864
954
  "website_redirect_location": "websiteRedirectLocation",
865
955
  },
866
956
  )
@@ -877,7 +967,7 @@ class BucketDeploymentProps:
877
967
  content_language: typing.Optional[builtins.str] = None,
878
968
  content_type: typing.Optional[builtins.str] = None,
879
969
  destination_key_prefix: typing.Optional[builtins.str] = None,
880
- distribution: typing.Optional[_IDistribution_7ac752a4] = None,
970
+ distribution: typing.Optional[_IDistributionRef_36fd2094] = None,
881
971
  distribution_paths: typing.Optional[typing.Sequence[builtins.str]] = None,
882
972
  ephemeral_storage_size: typing.Optional[_Size_7b441c34] = None,
883
973
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -892,6 +982,7 @@ class BucketDeploymentProps:
892
982
  prune: typing.Optional[builtins.bool] = None,
893
983
  retain_on_delete: typing.Optional[builtins.bool] = None,
894
984
  role: typing.Optional[_IRole_235f5d8e] = None,
985
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
895
986
  server_side_encryption: typing.Optional["ServerSideEncryption"] = None,
896
987
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
897
988
  server_side_encryption_customer_algorithm: typing.Optional[builtins.str] = None,
@@ -900,6 +991,7 @@ class BucketDeploymentProps:
900
991
  use_efs: typing.Optional[builtins.bool] = None,
901
992
  vpc: typing.Optional[_IVpc_f30d5663] = None,
902
993
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
994
+ wait_for_distribution_invalidation: typing.Optional[builtins.bool] = None,
903
995
  website_redirect_location: typing.Optional[builtins.str] = None,
904
996
  ) -> None:
905
997
  '''Properties for ``BucketDeployment``.
@@ -928,6 +1020,7 @@ class BucketDeploymentProps:
928
1020
  :param prune: By default, files in the destination bucket that don't exist in the source will be deleted when the BucketDeployment resource is created or updated. If this is set to false, files in the destination bucket that do not exist in the asset, will NOT be deleted during deployment (create/update). Default: true
929
1021
  :param retain_on_delete: If this is set to "false", the destination files will be deleted when the resource is deleted or the destination is updated. NOTICE: Configuring this to "false" might have operational implications. Please visit to the package documentation referred below to make sure you fully understand those implications. Default: true - when resource is deleted/updated, files are retained
930
1022
  :param role: Execution role associated with this function. Default: - A role is automatically created
1023
+ :param security_groups: The list of security groups to associate with the lambda handlers network interfaces. Only used if 'vpc' is supplied. Default: undefined - If the function is placed within a VPC and a security group is not specified a dedicated security group will be created for this function.
931
1024
  :param server_side_encryption: System-defined x-amz-server-side-encryption metadata to be set on all objects in the deployment. Default: - Server side encryption is not used.
932
1025
  :param server_side_encryption_aws_kms_key_id: System-defined x-amz-server-side-encryption-aws-kms-key-id metadata to be set on all objects in the deployment. Default: - Not set.
933
1026
  :param server_side_encryption_customer_algorithm: System-defined x-amz-server-side-encryption-customer-algorithm metadata to be set on all objects in the deployment. Warning: This is not a useful parameter until this bug is fixed: https://github.com/aws/aws-cdk/issues/6080 Default: - Not set.
@@ -936,6 +1029,7 @@ class BucketDeploymentProps:
936
1029
  :param use_efs: Mount an EFS file system. Enable this if your assets are large and you encounter disk space errors. Enabling this option will require a VPC to be specified. Default: - No EFS. Lambda has access only to 512MB of disk space.
937
1030
  :param vpc: The VPC network to place the deployment lambda handler in. This is required if ``useEfs`` is set. Default: None
938
1031
  :param vpc_subnets: Where in the VPC to place the deployment lambda handler. Only used if 'vpc' is supplied. Default: - the Vpc default strategy if not specified
1032
+ :param wait_for_distribution_invalidation: In case of using a cloudfront distribtuion, if this property is set to false then the custom resource will not wait and verify for Cloudfront invalidation to complete. This may speed up deployment and avoid intermittent Cloudfront issues. However, this is risky and not recommended as cache invalidation can silently fail. Default: true
939
1033
  :param website_redirect_location: System-defined x-amz-website-redirect-location metadata to be set on all objects in the deployment. Default: - No website redirection.
940
1034
 
941
1035
  :exampleMetadata: infused
@@ -985,6 +1079,7 @@ class BucketDeploymentProps:
985
1079
  check_type(argname="argument prune", value=prune, expected_type=type_hints["prune"])
986
1080
  check_type(argname="argument retain_on_delete", value=retain_on_delete, expected_type=type_hints["retain_on_delete"])
987
1081
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
1082
+ check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
988
1083
  check_type(argname="argument server_side_encryption", value=server_side_encryption, expected_type=type_hints["server_side_encryption"])
989
1084
  check_type(argname="argument server_side_encryption_aws_kms_key_id", value=server_side_encryption_aws_kms_key_id, expected_type=type_hints["server_side_encryption_aws_kms_key_id"])
990
1085
  check_type(argname="argument server_side_encryption_customer_algorithm", value=server_side_encryption_customer_algorithm, expected_type=type_hints["server_side_encryption_customer_algorithm"])
@@ -993,6 +1088,7 @@ class BucketDeploymentProps:
993
1088
  check_type(argname="argument use_efs", value=use_efs, expected_type=type_hints["use_efs"])
994
1089
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
995
1090
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
1091
+ check_type(argname="argument wait_for_distribution_invalidation", value=wait_for_distribution_invalidation, expected_type=type_hints["wait_for_distribution_invalidation"])
996
1092
  check_type(argname="argument website_redirect_location", value=website_redirect_location, expected_type=type_hints["website_redirect_location"])
997
1093
  self._values: typing.Dict[builtins.str, typing.Any] = {
998
1094
  "destination_bucket": destination_bucket,
@@ -1042,6 +1138,8 @@ class BucketDeploymentProps:
1042
1138
  self._values["retain_on_delete"] = retain_on_delete
1043
1139
  if role is not None:
1044
1140
  self._values["role"] = role
1141
+ if security_groups is not None:
1142
+ self._values["security_groups"] = security_groups
1045
1143
  if server_side_encryption is not None:
1046
1144
  self._values["server_side_encryption"] = server_side_encryption
1047
1145
  if server_side_encryption_aws_kms_key_id is not None:
@@ -1058,6 +1156,8 @@ class BucketDeploymentProps:
1058
1156
  self._values["vpc"] = vpc
1059
1157
  if vpc_subnets is not None:
1060
1158
  self._values["vpc_subnets"] = vpc_subnets
1159
+ if wait_for_distribution_invalidation is not None:
1160
+ self._values["wait_for_distribution_invalidation"] = wait_for_distribution_invalidation
1061
1161
  if website_redirect_location is not None:
1062
1162
  self._values["website_redirect_location"] = website_redirect_location
1063
1163
 
@@ -1156,7 +1256,7 @@ class BucketDeploymentProps:
1156
1256
  return typing.cast(typing.Optional[builtins.str], result)
1157
1257
 
1158
1258
  @builtins.property
1159
- def distribution(self) -> typing.Optional[_IDistribution_7ac752a4]:
1259
+ def distribution(self) -> typing.Optional[_IDistributionRef_36fd2094]:
1160
1260
  '''The CloudFront distribution using the destination bucket as an origin.
1161
1261
 
1162
1262
  Files in the distribution's edge caches will be invalidated after
@@ -1165,7 +1265,7 @@ class BucketDeploymentProps:
1165
1265
  :default: - No invalidation occurs
1166
1266
  '''
1167
1267
  result = self._values.get("distribution")
1168
- return typing.cast(typing.Optional[_IDistribution_7ac752a4], result)
1268
+ return typing.cast(typing.Optional[_IDistributionRef_36fd2094], result)
1169
1269
 
1170
1270
  @builtins.property
1171
1271
  def distribution_paths(self) -> typing.Optional[typing.List[builtins.str]]:
@@ -1335,6 +1435,20 @@ class BucketDeploymentProps:
1335
1435
  result = self._values.get("role")
1336
1436
  return typing.cast(typing.Optional[_IRole_235f5d8e], result)
1337
1437
 
1438
+ @builtins.property
1439
+ def security_groups(self) -> typing.Optional[typing.List[_ISecurityGroup_acf8a799]]:
1440
+ '''The list of security groups to associate with the lambda handlers network interfaces.
1441
+
1442
+ Only used if 'vpc' is supplied.
1443
+
1444
+ :default:
1445
+
1446
+ undefined - If the function is placed within a VPC and a security group is
1447
+ not specified a dedicated security group will be created for this function.
1448
+ '''
1449
+ result = self._values.get("security_groups")
1450
+ return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
1451
+
1338
1452
  @builtins.property
1339
1453
  def server_side_encryption(self) -> typing.Optional["ServerSideEncryption"]:
1340
1454
  '''System-defined x-amz-server-side-encryption metadata to be set on all objects in the deployment.
@@ -1426,6 +1540,21 @@ class BucketDeploymentProps:
1426
1540
  result = self._values.get("vpc_subnets")
1427
1541
  return typing.cast(typing.Optional[_SubnetSelection_e57d76df], result)
1428
1542
 
1543
+ @builtins.property
1544
+ def wait_for_distribution_invalidation(self) -> typing.Optional[builtins.bool]:
1545
+ '''In case of using a cloudfront distribtuion, if this property is set to false then the custom resource will not wait and verify for Cloudfront invalidation to complete.
1546
+
1547
+ This may speed up deployment and avoid
1548
+ intermittent Cloudfront issues. However, this is risky and not recommended as cache invalidation
1549
+ can silently fail.
1550
+
1551
+ :default: true
1552
+
1553
+ :see: https://github.com/aws/aws-cdk/issues/15891
1554
+ '''
1555
+ result = self._values.get("wait_for_distribution_invalidation")
1556
+ return typing.cast(typing.Optional[builtins.bool], result)
1557
+
1429
1558
  @builtins.property
1430
1559
  def website_redirect_location(self) -> typing.Optional[builtins.str]:
1431
1560
  '''System-defined x-amz-website-redirect-location metadata to be set on all objects in the deployment.
@@ -2098,7 +2227,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
2098
2227
  deploy_time: typing.Optional[builtins.bool] = None,
2099
2228
  display_name: typing.Optional[builtins.str] = None,
2100
2229
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
2101
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
2230
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
2102
2231
  asset_hash: typing.Optional[builtins.str] = None,
2103
2232
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
2104
2233
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2484,7 +2613,7 @@ def _typecheckingstub__2544491e92aa50a255b927ef16b9cde2961eae48803afca3b5d1105bf
2484
2613
  content_language: typing.Optional[builtins.str] = None,
2485
2614
  content_type: typing.Optional[builtins.str] = None,
2486
2615
  destination_key_prefix: typing.Optional[builtins.str] = None,
2487
- distribution: typing.Optional[_IDistribution_7ac752a4] = None,
2616
+ distribution: typing.Optional[_IDistributionRef_36fd2094] = None,
2488
2617
  distribution_paths: typing.Optional[typing.Sequence[builtins.str]] = None,
2489
2618
  ephemeral_storage_size: typing.Optional[_Size_7b441c34] = None,
2490
2619
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2499,6 +2628,7 @@ def _typecheckingstub__2544491e92aa50a255b927ef16b9cde2961eae48803afca3b5d1105bf
2499
2628
  prune: typing.Optional[builtins.bool] = None,
2500
2629
  retain_on_delete: typing.Optional[builtins.bool] = None,
2501
2630
  role: typing.Optional[_IRole_235f5d8e] = None,
2631
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
2502
2632
  server_side_encryption: typing.Optional[ServerSideEncryption] = None,
2503
2633
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
2504
2634
  server_side_encryption_customer_algorithm: typing.Optional[builtins.str] = None,
@@ -2507,6 +2637,7 @@ def _typecheckingstub__2544491e92aa50a255b927ef16b9cde2961eae48803afca3b5d1105bf
2507
2637
  use_efs: typing.Optional[builtins.bool] = None,
2508
2638
  vpc: typing.Optional[_IVpc_f30d5663] = None,
2509
2639
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
2640
+ wait_for_distribution_invalidation: typing.Optional[builtins.bool] = None,
2510
2641
  website_redirect_location: typing.Optional[builtins.str] = None,
2511
2642
  ) -> None:
2512
2643
  """Type checking stubs"""
@@ -2529,7 +2660,7 @@ def _typecheckingstub__cbabf07e8b4adfb2b2058c075c4f35512ebc580f80a6db9bf13e90589
2529
2660
  content_language: typing.Optional[builtins.str] = None,
2530
2661
  content_type: typing.Optional[builtins.str] = None,
2531
2662
  destination_key_prefix: typing.Optional[builtins.str] = None,
2532
- distribution: typing.Optional[_IDistribution_7ac752a4] = None,
2663
+ distribution: typing.Optional[_IDistributionRef_36fd2094] = None,
2533
2664
  distribution_paths: typing.Optional[typing.Sequence[builtins.str]] = None,
2534
2665
  ephemeral_storage_size: typing.Optional[_Size_7b441c34] = None,
2535
2666
  exclude: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2544,6 +2675,7 @@ def _typecheckingstub__cbabf07e8b4adfb2b2058c075c4f35512ebc580f80a6db9bf13e90589
2544
2675
  prune: typing.Optional[builtins.bool] = None,
2545
2676
  retain_on_delete: typing.Optional[builtins.bool] = None,
2546
2677
  role: typing.Optional[_IRole_235f5d8e] = None,
2678
+ security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
2547
2679
  server_side_encryption: typing.Optional[ServerSideEncryption] = None,
2548
2680
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
2549
2681
  server_side_encryption_customer_algorithm: typing.Optional[builtins.str] = None,
@@ -2552,6 +2684,7 @@ def _typecheckingstub__cbabf07e8b4adfb2b2058c075c4f35512ebc580f80a6db9bf13e90589
2552
2684
  use_efs: typing.Optional[builtins.bool] = None,
2553
2685
  vpc: typing.Optional[_IVpc_f30d5663] = None,
2554
2686
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
2687
+ wait_for_distribution_invalidation: typing.Optional[builtins.bool] = None,
2555
2688
  website_redirect_location: typing.Optional[builtins.str] = None,
2556
2689
  ) -> None:
2557
2690
  """Type checking stubs"""
@@ -2646,7 +2779,7 @@ def _typecheckingstub__fc877c69568cee7364ec77003356fc6818118602dda64adf3dbf38ff7
2646
2779
  deploy_time: typing.Optional[builtins.bool] = None,
2647
2780
  display_name: typing.Optional[builtins.str] = None,
2648
2781
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
2649
- source_kms_key: typing.Optional[_IKey_5f11635f] = None,
2782
+ source_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
2650
2783
  asset_hash: typing.Optional[builtins.str] = None,
2651
2784
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
2652
2785
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2698,3 +2831,6 @@ def _typecheckingstub__dafa1619bb92595ec0ff7aa95e55221719ed81eb6d2f7d44a84193d81
2698
2831
  ) -> None:
2699
2832
  """Type checking stubs"""
2700
2833
  pass
2834
+
2835
+ for cls in [ISource]:
2836
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
@@ -84,11 +84,11 @@ import constructs as _constructs_77d1e7e8
84
84
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
85
85
  from ..aws_s3 import (
86
86
  BucketNotificationDestinationConfig as _BucketNotificationDestinationConfig_a4c4f83d,
87
- IBucket as _IBucket_42e086fd,
88
87
  IBucketNotificationDestination as _IBucketNotificationDestination_ae5ca51a,
89
88
  )
90
89
  from ..aws_sns import ITopic as _ITopic_9eca4852
91
90
  from ..aws_sqs import IQueue as _IQueue_7ed6f679
91
+ from ..interfaces.aws_s3 import IBucketRef as _IBucketRef_3debe44e
92
92
 
93
93
 
94
94
  @jsii.implements(_IBucketNotificationDestination_ae5ca51a)
@@ -127,7 +127,7 @@ class LambdaDestination(
127
127
  def bind(
128
128
  self,
129
129
  scope: _constructs_77d1e7e8.Construct,
130
- bucket: _IBucket_42e086fd,
130
+ bucket: _IBucketRef_3debe44e,
131
131
  ) -> _BucketNotificationDestinationConfig_a4c4f83d:
132
132
  '''Registers this resource to receive notifications for the specified bucket.
133
133
 
@@ -174,7 +174,7 @@ class SnsDestination(
174
174
  def bind(
175
175
  self,
176
176
  scope: _constructs_77d1e7e8.Construct,
177
- bucket: _IBucket_42e086fd,
177
+ bucket: _IBucketRef_3debe44e,
178
178
  ) -> _BucketNotificationDestinationConfig_a4c4f83d:
179
179
  '''Registers this resource to receive notifications for the specified bucket.
180
180
 
@@ -224,7 +224,7 @@ class SqsDestination(
224
224
  def bind(
225
225
  self,
226
226
  _scope: _constructs_77d1e7e8.Construct,
227
- bucket: _IBucket_42e086fd,
227
+ bucket: _IBucketRef_3debe44e,
228
228
  ) -> _BucketNotificationDestinationConfig_a4c4f83d:
229
229
  '''Allows using SQS queues as destinations for bucket notifications.
230
230
 
@@ -256,7 +256,7 @@ def _typecheckingstub__aa31f009d508c5e9716ef8081ccf63abb6866ffbf349417ea81abf6f6
256
256
 
257
257
  def _typecheckingstub__72fb0e43c5d0bdebbc9b643b327c5cd42f851dbe4c4a6ac53bb2849787b3adec(
258
258
  scope: _constructs_77d1e7e8.Construct,
259
- bucket: _IBucket_42e086fd,
259
+ bucket: _IBucketRef_3debe44e,
260
260
  ) -> None:
261
261
  """Type checking stubs"""
262
262
  pass
@@ -269,7 +269,7 @@ def _typecheckingstub__88bc302a2eb7b4d1c7dc00b1564ab4c536d2626942f2cec60d543582b
269
269
 
270
270
  def _typecheckingstub__3553ece4b599ce7e526b55722477cb04771e1907840471521f08a9dbdea726a1(
271
271
  scope: _constructs_77d1e7e8.Construct,
272
- bucket: _IBucket_42e086fd,
272
+ bucket: _IBucketRef_3debe44e,
273
273
  ) -> None:
274
274
  """Type checking stubs"""
275
275
  pass
@@ -282,7 +282,7 @@ def _typecheckingstub__b615fa89f2fab6db113bd6376cf27eba6eb754a702e60b29024bc94c8
282
282
 
283
283
  def _typecheckingstub__e60900d91c64bba2d0ee8f8b0ace07ff0ee2d07e518d7b03941ed5bb85044f8b(
284
284
  _scope: _constructs_77d1e7e8.Construct,
285
- bucket: _IBucket_42e086fd,
285
+ bucket: _IBucketRef_3debe44e,
286
286
  ) -> None:
287
287
  """Type checking stubs"""
288
288
  pass