aws-cdk-lib 2.195.0__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 (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.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 +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  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 +75 -10
  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 +136 -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 +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  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 +165 -60
  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 +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  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 +611 -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 +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -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 +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -155,6 +155,76 @@ MyStack(app, "MyStack",
155
155
  For more information on bootstrapping accounts and customizing synthesis,
156
156
  see [Bootstrapping in the CDK Developer Guide](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html).
157
157
 
158
+ ### STS Role Options
159
+
160
+ You can configure STS options that instruct the CDK CLI on which configuration should it use when assuming
161
+ the various roles that are involved in a deployment operation.
162
+
163
+ Refer to [the bootstrapping guide](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html#bootstrapping-env-roles) for further context.
164
+
165
+ These options are available via the `DefaultStackSynthesizer` properties:
166
+
167
+ ```python
168
+ class MyStack(Stack):
169
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
170
+ super().__init__(scope, id,
171
+ (SpreadAssignment ...props
172
+ description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors),
173
+ synthesizer=DefaultStackSynthesizer(
174
+ deploy_role_external_id="",
175
+ deploy_role_additional_options={},
176
+ file_asset_publishing_external_id="",
177
+ file_asset_publishing_role_additional_options={},
178
+ image_asset_publishing_external_id="",
179
+ image_asset_publishing_role_additional_options={},
180
+ lookup_role_external_id="",
181
+ lookup_role_additional_options={}
182
+ )
183
+ )
184
+ ```
185
+
186
+ > Note that the `*additionalOptions` property does not allow passing `ExternalId` or `RoleArn`, as these options
187
+ > have dedicated properties that configure them.
188
+
189
+ #### Session Tags
190
+
191
+ STS session tags are used to implement [Attribute-Based Access Control](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) (ABAC).
192
+
193
+ See [IAM tutorial: Define permissions to access AWS resources based on tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html).
194
+
195
+ You can pass session tags for each [role created during bootstrap](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping-env.html#bootstrapping-env-roles) via the `*additionalOptions` property:
196
+
197
+ ```python
198
+ class MyStack(Stack):
199
+ def __init__(self, parent, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
200
+ super().__init__(parent, id,
201
+ (SpreadAssignment ...props
202
+ description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors),
203
+ synthesizer=DefaultStackSynthesizer(
204
+ deploy_role_additional_options={
205
+ "Tags": [{"Key": "Department", "Value": "Engineering"}]
206
+ },
207
+ file_asset_publishing_role_additional_options={
208
+ "Tags": [{"Key": "Department", "Value": "Engineering"}]
209
+ },
210
+ image_asset_publishing_role_additional_options={
211
+ "Tags": [{"Key": "Department", "Value": "Engineering"}]
212
+ },
213
+ lookup_role_additional_options={
214
+ "Tags": [{"Key": "Department", "Value": "Engineering"}]
215
+ }
216
+ )
217
+ )
218
+ ```
219
+
220
+ This will cause the CDK CLI to include session tags when assuming each of these roles during deployment.
221
+ Note that the trust policy of the role must contain permissions for the `sts:TagSession` action.
222
+
223
+ Refer to the [IAM user guide on session tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_permissions-required).
224
+
225
+ * If you are using a custom bootstrap template, make sure the template includes these permissions.
226
+ * If you are using the default bootstrap template from a CDK version lower than XXXX, you will need to rebootstrap your enviroment (once).
227
+
158
228
  ## Nested Stacks
159
229
 
160
230
  [Nested stacks](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html) are stacks created as part of other stacks. You create a nested stack within another stack by using the `NestedStack` construct.
@@ -173,8 +243,8 @@ class MyNestedStack(cfn.NestedStack):
173
243
  s3.Bucket(self, "NestedBucket")
174
244
 
175
245
  class MyParentStack(Stack):
176
- def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None):
177
- super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation)
246
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
247
+ super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors)
178
248
 
179
249
  MyNestedStack(self, "Nested1")
180
250
  MyNestedStack(self, "Nested2")
@@ -397,6 +467,8 @@ CloudFormation to re-read the secret.
397
467
  `SecretValue.ssmSecure()` is only supported for a limited set of resources.
398
468
  [Click here for a list of supported resources and properties](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#template-parameters-dynamic-patterns-resources).
399
469
 
470
+ `SecretValue.cfnDynamicReferenceKey` takes the same parameters as `SecretValue.secretsManager` and returns a key which can be used within a [dynamic reference](#dynamic-references) to dynamically load a secret from AWS Secrets Manager.
471
+
400
472
  ## ARN manipulation
401
473
 
402
474
  Sometimes you will need to put together or pick apart Amazon Resource Names
@@ -521,6 +593,8 @@ CustomResource(self, "MyMagicalResource",
521
593
  resource_type="Custom::MyCustomResource", # must start with 'Custom::'
522
594
 
523
595
  # the resource properties
596
+ # properties like serviceToken or serviceTimeout are ported into properties automatically
597
+ # try not to use key names similar to these or there will be a risk of overwriting those values
524
598
  properties={
525
599
  "Property1": "foo",
526
600
  "Property2": "bar"
@@ -529,7 +603,10 @@ CustomResource(self, "MyMagicalResource",
529
603
  # the ARN of the provider (SNS/Lambda) which handles
530
604
  # CREATE, UPDATE or DELETE events for this resource type
531
605
  # see next section for details
532
- service_token="ARN"
606
+ service_token="ARN",
607
+
608
+ # the maximum time, in seconds, that can elapse before a custom resource operation times out.
609
+ service_timeout=Duration.seconds(60)
533
610
  )
534
611
  ```
535
612
 
@@ -559,7 +636,7 @@ Legend:
559
636
  * **Language**: which programming languages can be used to implement handlers.
560
637
  * **Footprint**: how many resources are used by the provider framework itself.
561
638
 
562
- **A NOTE ABOUT SINGLETONS**
639
+ #### A note about singletons
563
640
 
564
641
  When defining resources for a custom resource provider, you will likely want to
565
642
  define them as a *stack singleton* so that only a single instance of the
@@ -824,6 +901,18 @@ CfnOutput(self, "OutputName",
824
901
  )
825
902
  ```
826
903
 
904
+ You can also use the `exportValue` method to export values as stack outputs:
905
+
906
+ ```python
907
+ # stack: Stack
908
+
909
+
910
+ stack.export_value(my_bucket.bucket_name,
911
+ name="TheAwesomeBucket",
912
+ description="The name of an S3 bucket"
913
+ )
914
+ ```
915
+
827
916
  ### Parameters
828
917
 
829
918
  CloudFormation templates support the use of [Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) to
@@ -935,7 +1024,7 @@ The properties passed to the level 2 constructs `AutoScalingGroup` and `Instance
935
1024
  `aws-ec2` module abstract what is passed into the `CfnOption` properties `resourceSignal` and
936
1025
  `autoScalingCreationPolicy`, but when using level 1 constructs you can specify these yourself.
937
1026
 
938
- The CfnWaitCondition resource from the `aws-cloudformation` module suppports the `resourceSignal`.
1027
+ The CfnWaitCondition resource from the `aws-cloudformation` module supports the `resourceSignal`.
939
1028
  The format of the timeout is `PT#H#M#S`. In the example below AWS Cloudformation will wait for
940
1029
  3 success signals to occur within 15 minutes before the status of the resource will be set to
941
1030
  `CREATE_COMPLETE`.
@@ -1105,6 +1194,74 @@ references is done using the `CfnDynamicReference` class:
1105
1194
  CfnDynamicReference(CfnDynamicReferenceService.SECRETS_MANAGER, "secret-id:secret-string:json-key:version-stage:version-id")
1106
1195
  ```
1107
1196
 
1197
+ ## RemovalPolicies
1198
+
1199
+ The `RemovalPolicies` class provides a convenient way to manage removal policies for AWS CDK resources within a construct scope. It allows you to apply removal policies to multiple resources at once, with options to include or exclude specific resource types.
1200
+
1201
+ ```python
1202
+ # scope: Construct
1203
+ # parent: Construct
1204
+ # bucket: s3.CfnBucket
1205
+
1206
+
1207
+ # Apply DESTROY policy to all resources in a scope
1208
+ RemovalPolicies.of(scope).destroy()
1209
+
1210
+ # Apply RETAIN policy to all resources in a scope
1211
+ RemovalPolicies.of(scope).retain()
1212
+
1213
+ # Apply SNAPSHOT policy to all resources in a scope
1214
+ RemovalPolicies.of(scope).snapshot()
1215
+
1216
+ # Apply RETAIN_ON_UPDATE_OR_DELETE policy to all resources in a scope
1217
+ RemovalPolicies.of(scope).retain_on_update_or_delete()
1218
+
1219
+ # Apply RETAIN policy only to specific resource types
1220
+ RemovalPolicies.of(parent).retain(
1221
+ apply_to_resource_types=["AWS::DynamoDB::Table", bucket.cfn_resource_type, rds.CfnDBInstance.CFN_RESOURCE_TYPE_NAME
1222
+ ]
1223
+ )
1224
+
1225
+ # Apply SNAPSHOT policy excluding specific resource types
1226
+ RemovalPolicies.of(scope).snapshot(
1227
+ exclude_resource_types=["AWS::Test::Resource"]
1228
+ )
1229
+ ```
1230
+
1231
+ ### RemovalPolicies vs MissingRemovalPolicies
1232
+
1233
+ CDK provides two different classes for managing removal policies:
1234
+
1235
+ * RemovalPolicies: Always applies the specified removal policy, overriding any existing policies.
1236
+ * MissingRemovalPolicies: Applies the removal policy only to resources that don't already have a policy set.
1237
+
1238
+ ```python
1239
+ # Override any existing policies
1240
+ RemovalPolicies.of(scope).retain()
1241
+
1242
+ # Only apply to resources without existing policies
1243
+ MissingRemovalPolicies.of(scope).retain()
1244
+ ```
1245
+
1246
+ ### Aspect Priority
1247
+
1248
+ Both RemovalPolicies and MissingRemovalPolicies are implemented as [Aspects](#aspects). You can control the order in which they're applied using the priority parameter:
1249
+
1250
+ ```python
1251
+ # stack: Stack
1252
+
1253
+
1254
+ # Apply in a specific order based on priority
1255
+ RemovalPolicies.of(stack).retain(priority=100)
1256
+ RemovalPolicies.of(stack).destroy(priority=200)
1257
+ ```
1258
+
1259
+ For RemovalPolicies, the policies are applied in order of aspect execution, with the last applied policy overriding previous ones. The priority only affects the order in which aspects are applied during synthesis.
1260
+
1261
+ #### Note
1262
+
1263
+ When using MissingRemovalPolicies with priority, a warning will be issued as this can lead to unexpected behavior. This is because MissingRemovalPolicies only applies to resources without existing policies, making priority less relevant.
1264
+
1108
1265
  ### Template Options & Transform
1109
1266
 
1110
1267
  CloudFormation templates support a number of options, including which Macros or
@@ -1194,6 +1351,27 @@ stack = Stack(app, "StackName",
1194
1351
  )
1195
1352
  ```
1196
1353
 
1354
+ ### Receiving CloudFormation Stack Events
1355
+
1356
+ You can add one or more SNS Topic ARNs to any Stack:
1357
+
1358
+ ```python
1359
+ stack = Stack(app, "StackName",
1360
+ notification_arns=["arn:aws:sns:us-east-1:123456789012:Topic"]
1361
+ )
1362
+ ```
1363
+
1364
+ Stack events will be sent to any SNS Topics in this list. These ARNs are added to those specified using
1365
+ the `--notification-arns` command line option.
1366
+
1367
+ Note that in order to do delete notification ARNs entirely, you must pass an empty array ([]) instead of omitting it.
1368
+ If you omit the property, no action on existing ARNs will take place.
1369
+
1370
+ > [!NOTE]
1371
+ > Adding the `notificationArns` property (or using the `--notification-arns` CLI options) will **override**
1372
+ > any existing ARNs configured on the stack. If you have an external system managing notification ARNs,
1373
+ > either migrate to use this mechanism, or avoid specfying notification ARNs with the CDK.
1374
+
1197
1375
  ### CfnJson
1198
1376
 
1199
1377
  `CfnJson` allows you to postpone the resolution of a JSON blob from
@@ -1296,7 +1474,7 @@ App(
1296
1474
  cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
1297
1475
  ```
1298
1476
 
1299
- *cdk.json*
1477
+ #### `cdk.json`
1300
1478
 
1301
1479
  ```json
1302
1480
  {
@@ -1306,7 +1484,7 @@ cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
1306
1484
  }
1307
1485
  ```
1308
1486
 
1309
- *cdk.context.json*
1487
+ #### `cdk.context.json`
1310
1488
 
1311
1489
  ```json
1312
1490
  {
@@ -1314,7 +1492,7 @@ cdk synth --context @aws-cdk/core:newStyleStackSynthesis=true
1314
1492
  }
1315
1493
  ```
1316
1494
 
1317
- *~/.cdk.json*
1495
+ #### `~/.cdk.json`
1318
1496
 
1319
1497
  ```json
1320
1498
  {
@@ -1353,7 +1531,7 @@ generated CloudFormation templates against your policies immediately after
1353
1531
  synthesis. If there are any violations, the synthesis will fail and a report
1354
1532
  will be printed to the console or to a file (see below).
1355
1533
 
1356
- > **Note**
1534
+ > [!NOTE]
1357
1535
  > This feature is considered experimental, and both the plugin API and the
1358
1536
  > format of the validation report are subject to change in the future.
1359
1537
 
@@ -1391,7 +1569,7 @@ validation.
1391
1569
  > etc. It's your responsibility as the consumer of a plugin to verify that it is
1392
1570
  > secure to use.
1393
1571
 
1394
- By default, the report will be printed in a human readable format. If you want a
1572
+ By default, the report will be printed in a human-readable format. If you want a
1395
1573
  report in JSON format, enable it using the `@aws-cdk/core:validationReportJson`
1396
1574
  context passing it directly to the application:
1397
1575
 
@@ -1405,6 +1583,18 @@ Alternatively, you can set this context key-value pair using the `cdk.json` or
1405
1583
  `cdk.context.json` files in your project directory (see
1406
1584
  [Runtime context](https://docs.aws.amazon.com/cdk/v2/guide/context.html)).
1407
1585
 
1586
+ It is also possible to enable both JSON and human-readable formats by setting
1587
+ `@aws-cdk/core:validationReportPrettyPrint` context key explicitly:
1588
+
1589
+ ```python
1590
+ app = App(
1591
+ context={
1592
+ "@aws-cdk/core:validationReportJson": True,
1593
+ "@aws-cdk/core:validationReportPrettyPrint": True
1594
+ }
1595
+ )
1596
+ ```
1597
+
1408
1598
  If you choose the JSON format, the CDK will print the policy validation report
1409
1599
  to a file called `policy-validation-report.json` in the cloud assembly
1410
1600
  directory. For the default, human-readable format, the report will be printed to
@@ -1499,6 +1689,216 @@ warning by the `id`.
1499
1689
  Annotations.of(self).acknowledge_warning("IAM:Group:MaxPoliciesExceeded", "Account has quota increased to 20")
1500
1690
  ```
1501
1691
 
1692
+ ### Acknowledging Infos
1693
+
1694
+ Informational messages can also be emitted and acknowledged. Use `addInfoV2()`
1695
+ to add an info message that can later be suppressed with `acknowledgeInfo()`.
1696
+ Unlike warnings, info messages are not affected by the `--strict` mode and will never cause synthesis to fail.
1697
+
1698
+ ```python
1699
+ Annotations.of(self).add_info_v2("my-lib:Construct.someInfo", "Some message explaining the info")
1700
+ Annotations.of(self).acknowledge_info("my-lib:Construct.someInfo", "This info can be ignored")
1701
+ ```
1702
+
1703
+ ## Aspects
1704
+
1705
+ [Aspects](https://docs.aws.amazon.com/cdk/v2/guide/aspects.html) is a feature in CDK that allows you to apply operations or transformations across all
1706
+ constructs in a construct tree. Common use cases include tagging resources, enforcing encryption on S3 Buckets, or applying specific security or
1707
+ compliance rules to all resources in a stack.
1708
+
1709
+ Conceptually, there are two types of Aspects:
1710
+
1711
+ * **Read-only aspects** scan the construct tree but do not make changes to the tree. Common use cases of read-only aspects include performing validations
1712
+ (for example, enforcing that all S3 Buckets have versioning enabled) and logging (for example, collecting information about all deployed resources for
1713
+ audits or compliance).
1714
+ * **Mutating aspects** either (1.) add new nodes or (2.) mutate existing nodes of the tree in-place. One commonly used mutating Aspect is adding Tags to
1715
+ resources. An example of an Aspect that adds a node is one that automatically adds a security group to every EC2 instance in the construct tree if
1716
+ no default is specified.
1717
+
1718
+ Here is a simple example of creating and applying an Aspect on a Stack to enable versioning on all S3 Buckets:
1719
+
1720
+ ```python
1721
+ @jsii.implements(IAspect)
1722
+ class EnableBucketVersioning:
1723
+ def visit(self, node):
1724
+ if node instanceof s3.CfnBucket:
1725
+ node.versioning_configuration = s3.CfnBucket.VersioningConfigurationProperty(
1726
+ status="Enabled"
1727
+ )
1728
+
1729
+ app = App()
1730
+ stack = MyStack(app, "MyStack")
1731
+
1732
+ # Apply the aspect to enable versioning on all S3 Buckets
1733
+ Aspects.of(stack).add(EnableBucketVersioning())
1734
+ ```
1735
+
1736
+ ### Aspect Stabilization
1737
+
1738
+ The modern behavior is that Aspects automatically run on newly added nodes to the construct tree. This is controlled by the
1739
+ flag `@aws-cdk/core:aspectStabilization`, which is default for new projects (since version 2.172.0).
1740
+
1741
+ The old behavior of Aspects (without stabilization) was that Aspect invocation runs once on the entire construct
1742
+ tree. This meant that nested Aspects (Aspects that create new Aspects) are not invoked and nodes created by Aspects at a higher level of the construct tree are not visited.
1743
+
1744
+ To enable the stabilization behavior for older versions, use this feature by putting the following into your `cdk.context.json`:
1745
+
1746
+ ```json
1747
+ {
1748
+ "@aws-cdk/core:aspectStabilization": true
1749
+ }
1750
+ ```
1751
+
1752
+ ### Aspect Priorities
1753
+
1754
+ Users can specify the order in which Aspects are applied on a construct by using the optional priority parameter when applying an Aspect. Priority
1755
+ values must be non-negative integers, where a higher number means the Aspect will be applied later, and a lower number means it will be applied sooner.
1756
+
1757
+ By default, newly created nodes always inherit aspects. Priorities are mainly for ordering between mutating aspects on the construct tree.
1758
+
1759
+ CDK provides standard priority values for mutating and readonly aspects to help ensure consistency across different construct libraries.
1760
+ Note that Aspects that have same priority value are not guaranteed to be executed
1761
+ in a consistent order.
1762
+
1763
+ ```python
1764
+ #
1765
+ # Default Priority values for Aspects.
1766
+ #
1767
+ class AspectPriority:
1768
+ ```
1769
+
1770
+ If no priority is provided, the default value will be 500. This ensures that aspects without a specified priority run after mutating aspects but before
1771
+ any readonly aspects.
1772
+
1773
+ Correctly applying Aspects with priority values ensures that mutating aspects (such as adding tags or resources) run before validation aspects. This allows users to avoid misconfigurations and ensure that the final
1774
+ construct tree is fully validated before being synthesized.
1775
+
1776
+ ### Applying Aspects with Priority
1777
+
1778
+ ```python
1779
+ @jsii.implements(IAspect)
1780
+ class MutatingAspect:
1781
+ def visit(self, node):
1782
+ pass
1783
+
1784
+ @jsii.implements(IAspect)
1785
+ class ValidationAspect:
1786
+ def visit(self, node):
1787
+ pass
1788
+
1789
+ stack = Stack()
1790
+
1791
+ Aspects.of(stack).add(MutatingAspect(), priority=AspectPriority.MUTATING) # Run first (mutating aspects)
1792
+ Aspects.of(stack).add(ValidationAspect(), priority=AspectPriority.READONLY)
1793
+ ```
1794
+
1795
+ ### Inspecting applied aspects and changing priorities
1796
+
1797
+ We also give customers the ability to view all of their applied aspects and override the priority on these aspects.
1798
+ The `AspectApplication` class represents an Aspect that is applied to a node of the construct tree with a priority.
1799
+
1800
+ Users can access AspectApplications on a node by calling `applied` from the Aspects class as follows:
1801
+
1802
+ ```python
1803
+ # root: Construct
1804
+
1805
+ app = App()
1806
+ stack = MyStack(app, "MyStack")
1807
+
1808
+ Aspects.of(stack).add(MyAspect())
1809
+
1810
+ aspect_applications = Aspects.of(root).applied
1811
+
1812
+ for aspect_application in aspect_applications:
1813
+ # The aspect we are applying
1814
+ print(aspect_application.aspect)
1815
+ # The construct we are applying the aspect to
1816
+ print(aspect_application.construct)
1817
+ # The priority it was applied with
1818
+ print(aspect_application.priority)
1819
+
1820
+ # Change the priority
1821
+ aspect_application.priority = 700
1822
+ ```
1823
+
1824
+ ## Blueprint Property Injection
1825
+
1826
+ The goal of Blueprint Property Injection is to provide builders an automatic way to set default property values.
1827
+
1828
+ Construct authors can declare that a Construct can have it properties injected by adding `@propertyInjectable`
1829
+ class decorator and specifying `PROPERTY_INJECTION_ID` readonly property.
1830
+ All L2 Constructs will support Property Injection so organizations can write injectors to set their Construct Props.
1831
+
1832
+ Organizations can set default property values to a Construct by writing Injectors for builders to consume.
1833
+
1834
+ Here is a simple example of an Injector for APiKey that sets enabled to false.
1835
+
1836
+ ```python
1837
+ @jsii.implements(IPropertyInjector)
1838
+ class ApiKeyPropsInjector:
1839
+
1840
+ def __init__(self):
1841
+ self.construct_unique_id = api.ApiKey.PROPERTY_INJECTION_ID
1842
+
1843
+ def inject(self, original_props, *, scope, id):
1844
+ return api.ApiKeyProps(
1845
+ enabled=False,
1846
+ api_key_name=original_props.api_key_name,
1847
+ customer_id=original_props.customer_id,
1848
+ default_cors_preflight_options=original_props.default_cors_preflight_options,
1849
+ default_integration=original_props.default_integration,
1850
+ default_method_options=original_props.default_method_options,
1851
+ description=original_props.description,
1852
+ generate_distinct_id=original_props.generate_distinct_id,
1853
+ resources=original_props.resources,
1854
+ stages=original_props.stages,
1855
+ value=original_props.value
1856
+ )
1857
+ ```
1858
+
1859
+ Some notes:
1860
+
1861
+ * ApiKey must have a `PROPERTY_INJECTION_ID` property, in addition to having `@propertyInjectable` class decorator.
1862
+ * We set ApiKeyProps.enabled to false, if it is not provided; otherwise it would use the value that was passed in.
1863
+ * It is also possible to force ApiKeyProps.enabled to false, and not provide a way for the builders to overwrite it.
1864
+
1865
+ Here is an example of how builders can use the injector the org created.
1866
+
1867
+ ```python
1868
+ stack = Stack(app, "my-stack",
1869
+ property_injectors=[ApiKeyPropsInjector()]
1870
+ )
1871
+ api.ApiKey(stack, "my-api-key")
1872
+ ```
1873
+
1874
+ This is equivalent to:
1875
+
1876
+ ```python
1877
+ stack = Stack(app, "my-stack")
1878
+ api.ApiKey(stack, "my-api-key",
1879
+ enabled=False
1880
+ )
1881
+ ```
1882
+
1883
+ Some notes:
1884
+
1885
+ * We attach the injectors to Stack in this example, but we can also attach them to App or Stage.
1886
+ * All the ApiKey created in the scope of stack will get `enabled: false`.
1887
+ * Builders can overwrite the default value with `new ApiKey(stack, 'my-api-key', {enabled: true});`
1888
+
1889
+ If you specify two or more injectors for the same Constructs, the last one is in effect. In the example below, `ApiKeyPropsInjector` will never be applied.
1890
+
1891
+ ```python
1892
+ stack = Stack(app, "my-stack",
1893
+ property_injectors=[
1894
+ ApiKeyPropsInjector(),
1895
+ AnotherApiKeyPropsInjector()
1896
+ ]
1897
+ )
1898
+ ```
1899
+
1900
+ For more information, please see the [RFC](https://github.com/aws/aws-cdk-rfcs/blob/main/text/0693-property-injection.md).
1901
+
1502
1902
  <!--END CORE DOCUMENTATION-->
1503
1903
  '''
1504
1904
  from pkgutil import extend_path
@@ -1560,6 +1960,48 @@ from .cx_api import (
1560
1960
  CloudAssembly as _CloudAssembly_c693643e,
1561
1961
  CloudAssemblyBuilder as _CloudAssemblyBuilder_c90cccf3,
1562
1962
  )
1963
+ from .interfaces import (
1964
+ IEnvironmentAware as _IEnvironmentAware_f39049ee,
1965
+ ResourceEnvironment as _ResourceEnvironment_603baf00,
1966
+ )
1967
+ from .interfaces.aws_cloudformation import (
1968
+ CustomResourceReference as _CustomResourceReference_d8e366c9,
1969
+ GuardHookReference as _GuardHookReference_9ad20ca0,
1970
+ HookDefaultVersionReference as _HookDefaultVersionReference_11df53e8,
1971
+ HookTypeConfigReference as _HookTypeConfigReference_ed91f4cb,
1972
+ HookVersionReference as _HookVersionReference_3688b53a,
1973
+ ICustomResourceRef as _ICustomResourceRef_337851e1,
1974
+ IGuardHookRef as _IGuardHookRef_e0640792,
1975
+ IHookDefaultVersionRef as _IHookDefaultVersionRef_a4784949,
1976
+ IHookTypeConfigRef as _IHookTypeConfigRef_7bc118dc,
1977
+ IHookVersionRef as _IHookVersionRef_0d71a867,
1978
+ ILambdaHookRef as _ILambdaHookRef_5ceec28e,
1979
+ IMacroRef as _IMacroRef_e9ae4afa,
1980
+ IModuleDefaultVersionRef as _IModuleDefaultVersionRef_8f5f90c3,
1981
+ IModuleVersionRef as _IModuleVersionRef_76485182,
1982
+ IPublicTypeVersionRef as _IPublicTypeVersionRef_554ddaba,
1983
+ IPublisherRef as _IPublisherRef_43e14b13,
1984
+ IResourceDefaultVersionRef as _IResourceDefaultVersionRef_6bcf9f85,
1985
+ IResourceVersionRef as _IResourceVersionRef_8fc1bbae,
1986
+ IStackRef as _IStackRef_f0f1d363,
1987
+ IStackSetRef as _IStackSetRef_3a202137,
1988
+ ITypeActivationRef as _ITypeActivationRef_95db49a7,
1989
+ IWaitConditionHandleRef as _IWaitConditionHandleRef_6fbe7b4b,
1990
+ IWaitConditionRef as _IWaitConditionRef_5bc95657,
1991
+ LambdaHookReference as _LambdaHookReference_1c262218,
1992
+ MacroReference as _MacroReference_2603df14,
1993
+ ModuleDefaultVersionReference as _ModuleDefaultVersionReference_6e4498de,
1994
+ ModuleVersionReference as _ModuleVersionReference_16e9080f,
1995
+ PublicTypeVersionReference as _PublicTypeVersionReference_da345091,
1996
+ PublisherReference as _PublisherReference_2058d21f,
1997
+ ResourceDefaultVersionReference as _ResourceDefaultVersionReference_878c9c7f,
1998
+ ResourceVersionReference as _ResourceVersionReference_a8ae93f7,
1999
+ StackReference as _StackReference_15f8b984,
2000
+ StackSetReference as _StackSetReference_c5c1f82d,
2001
+ TypeActivationReference as _TypeActivationReference_03c77595,
2002
+ WaitConditionHandleReference as _WaitConditionHandleReference_ba26e35b,
2003
+ WaitConditionReference as _WaitConditionReference_e2d94a43,
2004
+ )
1563
2005
 
1564
2006
 
1565
2007
  @jsii.data_type(
@@ -1709,6 +2151,31 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
1709
2151
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1710
2152
  return typing.cast("Annotations", jsii.sinvoke(cls, "of", [scope]))
1711
2153
 
2154
+ @jsii.member(jsii_name="acknowledgeInfo")
2155
+ def acknowledge_info(
2156
+ self,
2157
+ id: builtins.str,
2158
+ message: typing.Optional[builtins.str] = None,
2159
+ ) -> None:
2160
+ '''Acknowledge a info. When a info is acknowledged for a scope all infos that match the id will be ignored.
2161
+
2162
+ The acknowledgement will apply to all child scopes
2163
+
2164
+ :param id: - the id of the info message to acknowledge.
2165
+ :param message: optional message to explain the reason for acknowledgement.
2166
+
2167
+ Example::
2168
+
2169
+ # my_construct: Construct
2170
+
2171
+ Annotations.of(my_construct).acknowledge_info("SomeInfoId", "This info can be ignored because...")
2172
+ '''
2173
+ if __debug__:
2174
+ type_hints = typing.get_type_hints(_typecheckingstub__71c75ad95e6c491e615a0c0a9cc9bc5b538f2d93e7057612251cfc9592380513)
2175
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2176
+ check_type(argname="argument message", value=message, expected_type=type_hints["message"])
2177
+ return typing.cast(None, jsii.invoke(self, "acknowledgeInfo", [id, message]))
2178
+
1712
2179
  @jsii.member(jsii_name="acknowledgeWarning")
1713
2180
  def acknowledge_warning(
1714
2181
  self,
@@ -1779,6 +2246,29 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
1779
2246
  check_type(argname="argument message", value=message, expected_type=type_hints["message"])
1780
2247
  return typing.cast(None, jsii.invoke(self, "addInfo", [message]))
1781
2248
 
2249
+ @jsii.member(jsii_name="addInfoV2")
2250
+ def add_info_v2(self, id: builtins.str, message: builtins.str) -> None:
2251
+ '''Adds an acknowledgeable info metadata entry to this construct.
2252
+
2253
+ The CLI will display the info when an app is synthesized.
2254
+
2255
+ If the info is acknowledged using ``acknowledgeInfo()``, it will not be shown by the CLI.
2256
+
2257
+ :param id: the unique identifier for the info. This can be used to acknowledge the info
2258
+ :param message: The info message.
2259
+
2260
+ Example::
2261
+
2262
+ # my_construct: Construct
2263
+
2264
+ Annotations.of(my_construct).add_info_v2("my-library:Construct.someInfo", "Some message explaining the info")
2265
+ '''
2266
+ if __debug__:
2267
+ type_hints = typing.get_type_hints(_typecheckingstub__843fb7798b96b5a06278ca94ba80d2ae0fb300672c44f21b2ee4d759a04bdba9)
2268
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2269
+ check_type(argname="argument message", value=message, expected_type=type_hints["message"])
2270
+ return typing.cast(None, jsii.invoke(self, "addInfoV2", [id, message]))
2271
+
1782
2272
  @jsii.member(jsii_name="addWarning")
1783
2273
  def add_warning(self, message: builtins.str) -> None:
1784
2274
  '''Adds a warning metadata entry to this construct. Prefer using ``addWarningV2``.
@@ -1834,6 +2324,7 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
1834
2324
  "outdir": "outdir",
1835
2325
  "policy_validation_beta1": "policyValidationBeta1",
1836
2326
  "post_cli_context": "postCliContext",
2327
+ "property_injectors": "propertyInjectors",
1837
2328
  "stack_traces": "stackTraces",
1838
2329
  "tree_metadata": "treeMetadata",
1839
2330
  },
@@ -1849,6 +2340,7 @@ class AppProps:
1849
2340
  outdir: typing.Optional[builtins.str] = None,
1850
2341
  policy_validation_beta1: typing.Optional[typing.Sequence["IPolicyValidationPluginBeta1"]] = None,
1851
2342
  post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
2343
+ property_injectors: typing.Optional[typing.Sequence["IPropertyInjector"]] = None,
1852
2344
  stack_traces: typing.Optional[builtins.bool] = None,
1853
2345
  tree_metadata: typing.Optional[builtins.bool] = None,
1854
2346
  ) -> None:
@@ -1861,6 +2353,7 @@ class AppProps:
1861
2353
  :param outdir: The output directory into which to emit synthesized artifacts. You should never need to set this value. By default, the value you pass to the CLI's ``--output`` flag will be used, and if you change it to a different directory the CLI will fail to pick up the generated Cloud Assembly. This property is intended for internal and testing use. Default: - If this value is *not* set, considers the environment variable ``CDK_OUTDIR``. If ``CDK_OUTDIR`` is not defined, uses a temp directory.
1862
2354
  :param policy_validation_beta1: Validation plugins to run after synthesis. Default: - no validation plugins
1863
2355
  :param post_cli_context: Additional context values for the application. Context provided here has precedence over context set by: - The CLI via --context - The ``context`` key in ``cdk.json`` - The ``AppProps.context`` property This property is recommended over the ``AppProps.context`` property since you can make final decision over which context value to take in your app. Context can be read from any construct using ``node.getContext(key)``. Default: - no additional context
2356
+ :param property_injectors: A list of IPropertyInjector attached to this App. Default: - no PropertyInjectors
1864
2357
  :param stack_traces: Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs. Default: true stack traces are included unless ``aws:cdk:disable-stack-trace`` is set in the context.
1865
2358
  :param tree_metadata: Include construct tree metadata as part of the Cloud Assembly. Default: true
1866
2359
 
@@ -1875,7 +2368,11 @@ class AppProps:
1875
2368
  default_stack_synthesizer=AppStagingSynthesizer.default_resources(
1876
2369
  app_id="my-app-id",
1877
2370
  staging_bucket_encryption=BucketEncryption.S3_MANAGED,
1878
- deployment_identities=DeploymentIdentities.cli_credentials()
2371
+ deployment_identities=DeploymentIdentities.specify_roles(
2372
+ cloud_formation_execution_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Execute"),
2373
+ deployment_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Deploy"),
2374
+ lookup_role=BootstrapRole.from_role_arn("arn:aws:iam::123456789012:role/Lookup")
2375
+ )
1879
2376
  )
1880
2377
  )
1881
2378
  '''
@@ -1888,6 +2385,7 @@ class AppProps:
1888
2385
  check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
1889
2386
  check_type(argname="argument policy_validation_beta1", value=policy_validation_beta1, expected_type=type_hints["policy_validation_beta1"])
1890
2387
  check_type(argname="argument post_cli_context", value=post_cli_context, expected_type=type_hints["post_cli_context"])
2388
+ check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
1891
2389
  check_type(argname="argument stack_traces", value=stack_traces, expected_type=type_hints["stack_traces"])
1892
2390
  check_type(argname="argument tree_metadata", value=tree_metadata, expected_type=type_hints["tree_metadata"])
1893
2391
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -1905,6 +2403,8 @@ class AppProps:
1905
2403
  self._values["policy_validation_beta1"] = policy_validation_beta1
1906
2404
  if post_cli_context is not None:
1907
2405
  self._values["post_cli_context"] = post_cli_context
2406
+ if property_injectors is not None:
2407
+ self._values["property_injectors"] = property_injectors
1908
2408
  if stack_traces is not None:
1909
2409
  self._values["stack_traces"] = stack_traces
1910
2410
  if tree_metadata is not None:
@@ -2026,6 +2526,15 @@ class AppProps:
2026
2526
  result = self._values.get("post_cli_context")
2027
2527
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
2028
2528
 
2529
+ @builtins.property
2530
+ def property_injectors(self) -> typing.Optional[typing.List["IPropertyInjector"]]:
2531
+ '''A list of IPropertyInjector attached to this App.
2532
+
2533
+ :default: - no PropertyInjectors
2534
+ '''
2535
+ result = self._values.get("property_injectors")
2536
+ return typing.cast(typing.Optional[typing.List["IPropertyInjector"]], result)
2537
+
2029
2538
  @builtins.property
2030
2539
  def stack_traces(self) -> typing.Optional[builtins.bool]:
2031
2540
  '''Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs.
@@ -2362,7 +2871,7 @@ class ArnFormat(enum.Enum):
2362
2871
  like in 'arn:aws:cognito-sync:region:account:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678:bla'.
2363
2872
  '''
2364
2873
  SLASH_RESOURCE_SLASH_RESOURCE_NAME = "SLASH_RESOURCE_SLASH_RESOURCE_NAME"
2365
- '''This represents a format where the 'resource' and 'resourceName' parts are seperated with a slash, but there is also an additional slash after the colon separating 'account' from 'resource'.
2874
+ '''This represents a format where the 'resource' and 'resourceName' parts are separated with a slash, but there is also an additional slash after the colon separating 'account' from 'resource'.
2366
2875
 
2367
2876
  Like in: 'arn:aws:service:region:account:/resource/resourceName'.
2368
2877
  Note that the leading slash is *not* included in the parsed 'resource' part.
@@ -2452,17 +2961,24 @@ class AspectOptions:
2452
2961
 
2453
2962
  :param priority: The priority value to apply on an Aspect. Priority must be a non-negative integer. Aspects that have same priority value are not guaranteed to be executed in a consistent order. Default: AspectPriority.DEFAULT
2454
2963
 
2455
- :exampleMetadata: fixture=_generated
2964
+ :exampleMetadata: infused
2456
2965
 
2457
2966
  Example::
2458
2967
 
2459
- # The code below shows an example of how to instantiate this type.
2460
- # The values are placeholders you should change.
2461
- import aws_cdk as cdk
2968
+ @jsii.implements(IAspect)
2969
+ class MutatingAspect:
2970
+ def visit(self, node):
2971
+ pass
2462
2972
 
2463
- aspect_options = cdk.AspectOptions(
2464
- priority=123
2465
- )
2973
+ @jsii.implements(IAspect)
2974
+ class ValidationAspect:
2975
+ def visit(self, node):
2976
+ pass
2977
+
2978
+ stack = Stack()
2979
+
2980
+ Aspects.of(stack).add(MutatingAspect(), priority=AspectPriority.MUTATING) # Run first (mutating aspects)
2981
+ Aspects.of(stack).add(ValidationAspect(), priority=AspectPriority.READONLY)
2466
2982
  '''
2467
2983
  if __debug__:
2468
2984
  type_hints = typing.get_type_hints(_typecheckingstub__1761263abda35b4b2f599d4ff5122c0e7ad15a95af4498d9c6e04e78bc4a4b76)
@@ -3407,6 +3923,7 @@ class Aws(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aws"):
3407
3923
  name_mapping={
3408
3924
  "cloud_formation_execution_role_arn": "cloudFormationExecutionRoleArn",
3409
3925
  "deploy_role_arn": "deployRoleArn",
3926
+ "qualifier": "qualifier",
3410
3927
  },
3411
3928
  )
3412
3929
  class BootstraplessSynthesizerProps:
@@ -3415,11 +3932,13 @@ class BootstraplessSynthesizerProps:
3415
3932
  *,
3416
3933
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
3417
3934
  deploy_role_arn: typing.Optional[builtins.str] = None,
3935
+ qualifier: typing.Optional[builtins.str] = None,
3418
3936
  ) -> None:
3419
3937
  '''Construction properties of ``BootstraplessSynthesizer``.
3420
3938
 
3421
3939
  :param cloud_formation_execution_role_arn: The CFN execution Role ARN to use. Default: - No CloudFormation role (use CLI credentials)
3422
3940
  :param deploy_role_arn: The deploy Role ARN to use. Default: - No deploy role (use CLI credentials)
3941
+ :param qualifier: The qualifier used to specialize strings. Can be used to specify custom bootstrapped role names Default: 'hnb659fds'
3423
3942
 
3424
3943
  :exampleMetadata: fixture=_generated
3425
3944
 
@@ -3431,18 +3950,22 @@ class BootstraplessSynthesizerProps:
3431
3950
 
3432
3951
  bootstrapless_synthesizer_props = cdk.BootstraplessSynthesizerProps(
3433
3952
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
3434
- deploy_role_arn="deployRoleArn"
3953
+ deploy_role_arn="deployRoleArn",
3954
+ qualifier="qualifier"
3435
3955
  )
3436
3956
  '''
3437
3957
  if __debug__:
3438
3958
  type_hints = typing.get_type_hints(_typecheckingstub__3f56ec309bd76e41562731f3b986025649d4592e71caa79fed875d7020f66bfc)
3439
3959
  check_type(argname="argument cloud_formation_execution_role_arn", value=cloud_formation_execution_role_arn, expected_type=type_hints["cloud_formation_execution_role_arn"])
3440
3960
  check_type(argname="argument deploy_role_arn", value=deploy_role_arn, expected_type=type_hints["deploy_role_arn"])
3961
+ check_type(argname="argument qualifier", value=qualifier, expected_type=type_hints["qualifier"])
3441
3962
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3442
3963
  if cloud_formation_execution_role_arn is not None:
3443
3964
  self._values["cloud_formation_execution_role_arn"] = cloud_formation_execution_role_arn
3444
3965
  if deploy_role_arn is not None:
3445
3966
  self._values["deploy_role_arn"] = deploy_role_arn
3967
+ if qualifier is not None:
3968
+ self._values["qualifier"] = qualifier
3446
3969
 
3447
3970
  @builtins.property
3448
3971
  def cloud_formation_execution_role_arn(self) -> typing.Optional[builtins.str]:
@@ -3462,6 +3985,17 @@ class BootstraplessSynthesizerProps:
3462
3985
  result = self._values.get("deploy_role_arn")
3463
3986
  return typing.cast(typing.Optional[builtins.str], result)
3464
3987
 
3988
+ @builtins.property
3989
+ def qualifier(self) -> typing.Optional[builtins.str]:
3990
+ '''The qualifier used to specialize strings.
3991
+
3992
+ Can be used to specify custom bootstrapped role names
3993
+
3994
+ :default: 'hnb659fds'
3995
+ '''
3996
+ result = self._values.get("qualifier")
3997
+ return typing.cast(typing.Optional[builtins.str], result)
3998
+
3465
3999
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3466
4000
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3467
4001
 
@@ -5353,7 +5887,7 @@ class CfnGuardHookProps:
5353
5887
  :param log_bucket: Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.
5354
5888
  :param options: Specifies the S3 location of your input parameters.
5355
5889
  :param stack_filters: Specifies the stack level filters for the Hook. Example stack level filter in JSON: ``"StackFilters": {"FilteringCriteria": "ALL", "StackNames": {"Exclude": [ "stack-1", "stack-2"]}}`` Example stack level filter in YAML: ``StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2``
5356
- :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
5890
+ :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
5357
5891
 
5358
5892
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
5359
5893
  :exampleMetadata: fixture=_generated
@@ -5567,7 +6101,7 @@ class CfnGuardHookProps:
5567
6101
 
5568
6102
  Example target filter in JSON:
5569
6103
 
5570
- ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}``
6104
+ ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}``
5571
6105
 
5572
6106
  Example target filter in YAML:
5573
6107
 
@@ -5962,8 +6496,8 @@ class CfnHookVersionProps:
5962
6496
  ) -> None:
5963
6497
  '''Properties for defining a ``CfnHookVersion``.
5964
6498
 
5965
- :param schema_handler_package: A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package, see `Modeling custom CloudFormation Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html>`_ in the *AWS CloudFormation Hooks User Guide* . .. epigraph:: To register the Hook, you must have ``s3:GetObject`` permissions to access the S3 objects.
5966
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
6499
+ :param schema_handler_package: A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package, see `Modeling custom CloudFormation Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html>`_ in the *AWS CloudFormation Hooks User Guide* . .. epigraph:: To register the Hook, you must have ``s3:GetObject`` permissions to access the S3 objects.
6500
+ :param type_name: The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your Hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
5967
6501
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
5968
6502
  :param logging_config: Contains logging configuration information for an extension.
5969
6503
 
@@ -6005,7 +6539,7 @@ class CfnHookVersionProps:
6005
6539
 
6006
6540
  @builtins.property
6007
6541
  def schema_handler_package(self) -> builtins.str:
6008
- '''A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register.
6542
+ '''A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.
6009
6543
 
6010
6544
  For information on generating a schema handler package, see `Modeling custom CloudFormation Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html>`_ in the *AWS CloudFormation Hooks User Guide* .
6011
6545
  .. epigraph::
@@ -6020,12 +6554,12 @@ class CfnHookVersionProps:
6020
6554
 
6021
6555
  @builtins.property
6022
6556
  def type_name(self) -> builtins.str:
6023
- '''The unique name for your hook.
6557
+ '''The unique name for your Hook.
6024
6558
 
6025
- Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` .
6559
+ Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` .
6026
6560
  .. epigraph::
6027
6561
 
6028
- The following organization namespaces are reserved and can't be used in your hook type names:
6562
+ The following organization namespaces are reserved and can't be used in your Hook type names:
6029
6563
 
6030
6564
  - ``Alexa``
6031
6565
  - ``AMZN``
@@ -6167,7 +6701,7 @@ class CfnLambdaHookProps:
6167
6701
  :param lambda_function: Specifies the Lambda function for the Hook. You can use:. - The full Amazon Resource Name (ARN) without a suffix. - A qualified ARN with a version or alias suffix.
6168
6702
  :param target_operations: Specifies the list of operations the Hook is run against. For more information, see `Hook targets <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target>`_ in the *AWS CloudFormation Hooks User Guide* . Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
6169
6703
  :param stack_filters: Specifies the stack level filters for the Hook. Example stack level filter in JSON: ``"StackFilters": {"FilteringCriteria": "ALL", "StackNames": {"Exclude": [ "stack-1", "stack-2"]}}`` Example stack level filter in YAML: ``StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2``
6170
- :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
6704
+ :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
6171
6705
 
6172
6706
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
6173
6707
  :exampleMetadata: fixture=_generated
@@ -6338,7 +6872,7 @@ class CfnLambdaHookProps:
6338
6872
 
6339
6873
  Example target filter in JSON:
6340
6874
 
6341
- ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}``
6875
+ ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}``
6342
6876
 
6343
6877
  Example target filter in YAML:
6344
6878
 
@@ -6679,7 +7213,7 @@ class CfnModuleVersionProps:
6679
7213
  '''Properties for defining a ``CfnModuleVersion``.
6680
7214
 
6681
7215
  :param module_name: The name of the module being registered.
6682
- :param module_package: A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register. For more information, see `Module structure and requirements <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the module version, you must have ``s3:GetObject`` permissions to access the S3 objects.
7216
+ :param module_package: A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register. For more information, see `Module structure and requirements <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the module version, you must have ``s3:GetObject`` permissions to access the S3 objects.
6683
7217
 
6684
7218
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html
6685
7219
  :exampleMetadata: fixture=_generated
@@ -6716,7 +7250,7 @@ class CfnModuleVersionProps:
6716
7250
 
6717
7251
  @builtins.property
6718
7252
  def module_package(self) -> builtins.str:
6719
- '''A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register.
7253
+ '''A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.
6720
7254
 
6721
7255
  For more information, see `Module structure and requirements <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .
6722
7256
  .. epigraph::
@@ -6788,7 +7322,7 @@ class CfnOutput(CfnElement, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnO
6788
7322
  export_name: typing.Optional[builtins.str] = None,
6789
7323
  key: typing.Optional[builtins.str] = None,
6790
7324
  ) -> None:
6791
- '''Creates an CfnOutput value for this stack.
7325
+ '''Creates a CfnOutput value for this stack.
6792
7326
 
6793
7327
  :param scope: The parent construct.
6794
7328
  :param id: -
@@ -8221,6 +8755,11 @@ class CfnResource(
8221
8755
  '''AWS resource type.'''
8222
8756
  return typing.cast(builtins.str, jsii.get(self, "cfnResourceType"))
8223
8757
 
8758
+ @builtins.property
8759
+ @jsii.member(jsii_name="env")
8760
+ def env(self) -> _ResourceEnvironment_603baf00:
8761
+ return typing.cast(_ResourceEnvironment_603baf00, jsii.get(self, "env"))
8762
+
8224
8763
  @builtins.property
8225
8764
  @jsii.member(jsii_name="updatedProperites")
8226
8765
  def _updated_properites(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -8572,7 +9111,7 @@ class CfnResourceVersionProps:
8572
9111
  ) -> None:
8573
9112
  '''Properties for defining a ``CfnResourceVersion``.
8574
9113
 
8575
- :param schema_handler_package: A URL to the S3 bucket containing the resource project package that contains the necessary files for the resource you want to register. For information on generating a schema handler package, see `Modeling resource types to use with AWS CloudFormation <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the resource version, you must have ``s3:GetObject`` permissions to access the S3 objects.
9114
+ :param schema_handler_package: A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register. For information on generating a schema handler package, see `Modeling resource types to use with AWS CloudFormation <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the resource version, you must have ``s3:GetObject`` permissions to access the S3 objects.
8576
9115
  :param type_name: The name of the resource being registered. We recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* . .. epigraph:: The following organization namespaces are reserved and can't be used in your resource names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``AWS`` - ``Custom`` - ``Dev``
8577
9116
  :param execution_role_arn: The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
8578
9117
  :param logging_config: Logging configuration information for a resource.
@@ -8615,7 +9154,7 @@ class CfnResourceVersionProps:
8615
9154
 
8616
9155
  @builtins.property
8617
9156
  def schema_handler_package(self) -> builtins.str:
8618
- '''A URL to the S3 bucket containing the resource project package that contains the necessary files for the resource you want to register.
9157
+ '''A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.
8619
9158
 
8620
9159
  For information on generating a schema handler package, see `Modeling resource types to use with AWS CloudFormation <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* .
8621
9160
  .. epigraph::
@@ -8941,7 +9480,7 @@ class CfnStackProps:
8941
9480
  :param notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).
8942
9481
  :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8943
9482
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.
8944
- :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
9483
+ :param template_url: The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
8945
9484
  :param timeout_in_minutes: The length of time, in minutes, that CloudFormation waits for the nested stack to reach the ``CREATE_COMPLETE`` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the ``CREATE_COMPLETE`` state, it marks the nested stack resource as ``CREATE_COMPLETE`` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches ``CREATE_COMPLETE`` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack. Updates aren't supported.
8946
9485
 
8947
9486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html
@@ -9029,7 +9568,7 @@ class CfnStackProps:
9029
9568
 
9030
9569
  @builtins.property
9031
9570
  def template_url(self) -> typing.Optional[builtins.str]:
9032
- '''The URL of a file containing the template body.
9571
+ '''The URL of a file that contains the template body.
9033
9572
 
9034
9573
  The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` .
9035
9574
 
@@ -9108,21 +9647,21 @@ class CfnStackSetProps:
9108
9647
  ) -> None:
9109
9648
  '''Properties for defining a ``CfnStackSet``.
9110
9649
 
9111
- :param permission_model: Describes how the IAM roles required for stack set operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for stack sets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
9112
- :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set.
9113
- :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
9114
- :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
9115
- :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
9116
- :param capabilities: The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
9117
- :param description: A description of the stack set.
9118
- :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
9119
- :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your stack set's execution configuration while there are running or queued operations for that stack set. When inactive (default), StackSets performs one operation at a time in request order.
9120
- :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
9121
- :param parameters: The input parameters for the stack set template.
9650
+ :param permission_model: Describes how the IAM roles required for StackSet operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for StackSets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
9651
+ :param stack_set_name: The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.
9652
+ :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
9653
+ :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Enable or disable automatic deployments for StackSets in AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
9654
+ :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for StackSets with self-managed permissions. - To create a StackSet with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . StackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
9655
+ :param capabilities: The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
9656
+ :param description: A description of the StackSet.
9657
+ :param execution_role_name: The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the StackSet operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
9658
+ :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. When inactive (default), StackSets performs one operation at a time in request order.
9659
+ :param operation_preferences: The user-specified preferences for how CloudFormation performs a StackSet operation.
9660
+ :param parameters: The input parameters for the StackSet template.
9122
9661
  :param stack_instances_group: A group of stack instances with parameters in some specific accounts and Regions.
9123
9662
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.
9124
- :param template_body: The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates containing dynamic references through ``TemplateUrl`` instead.
9125
- :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://`` . Conditional: You must specify only one of the following parameters: ``TemplateBody`` , ``TemplateURL`` .
9663
+ :param template_body: The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through ``TemplateUrl`` instead.
9664
+ :param template_url: The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://`` . Conditional: You must specify only one of the following parameters: ``TemplateBody`` , ``TemplateURL`` .
9126
9665
 
9127
9666
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html
9128
9667
  :exampleMetadata: fixture=_generated
@@ -9236,10 +9775,10 @@ class CfnStackSetProps:
9236
9775
 
9237
9776
  @builtins.property
9238
9777
  def permission_model(self) -> builtins.str:
9239
- '''Describes how the IAM roles required for stack set operations are created.
9778
+ '''Describes how the IAM roles required for StackSet operations are created.
9240
9779
 
9241
9780
  - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* .
9242
- - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for stack sets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
9781
+ - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for StackSets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
9243
9782
 
9244
9783
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-permissionmodel
9245
9784
  '''
@@ -9249,9 +9788,9 @@ class CfnStackSetProps:
9249
9788
 
9250
9789
  @builtins.property
9251
9790
  def stack_set_name(self) -> builtins.str:
9252
- '''The name to associate with the stack set.
9791
+ '''The name to associate with the StackSet.
9253
9792
 
9254
- The name must be unique in the Region where you create your stack set.
9793
+ The name must be unique in the Region where you create your StackSet.
9255
9794
 
9256
9795
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stacksetname
9257
9796
  '''
@@ -9261,11 +9800,11 @@ class CfnStackSetProps:
9261
9800
 
9262
9801
  @builtins.property
9263
9802
  def administration_role_arn(self) -> typing.Optional[builtins.str]:
9264
- '''The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.
9803
+ '''The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet.
9265
9804
 
9266
- Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account.
9805
+ Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account.
9267
9806
 
9268
- Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* .
9807
+ Use customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* .
9269
9808
 
9270
9809
  Valid only if the permissions model is ``SELF_MANAGED`` .
9271
9810
 
@@ -9280,7 +9819,7 @@ class CfnStackSetProps:
9280
9819
  ) -> typing.Optional[typing.Union["IResolvable", "CfnStackSet.AutoDeploymentProperty"]]:
9281
9820
  '''Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
9282
9821
 
9283
- For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* .
9822
+ For more information, see `Enable or disable automatic deployments for StackSets in AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* .
9284
9823
 
9285
9824
  Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
9286
9825
 
@@ -9293,14 +9832,14 @@ class CfnStackSetProps:
9293
9832
  def call_as(self) -> typing.Optional[builtins.str]:
9294
9833
  '''Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.
9295
9834
 
9296
- By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions.
9835
+ By default, ``SELF`` is specified. Use ``SELF`` for StackSets with self-managed permissions.
9297
9836
 
9298
- - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` .
9299
- - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` .
9837
+ - To create a StackSet with service-managed permissions while signed in to the management account, specify ``SELF`` .
9838
+ - To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` .
9300
9839
 
9301
9840
  Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* .
9302
9841
 
9303
- Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators.
9842
+ StackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators.
9304
9843
 
9305
9844
  Valid only if the permissions model is ``SERVICE_MANAGED`` .
9306
9845
 
@@ -9311,9 +9850,9 @@ class CfnStackSetProps:
9311
9850
 
9312
9851
  @builtins.property
9313
9852
  def capabilities(self) -> typing.Optional[typing.List[builtins.str]]:
9314
- '''The capabilities that are allowed in the stack set.
9853
+ '''The capabilities that are allowed in the StackSet.
9315
9854
 
9316
- Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
9855
+ Some StackSet templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
9317
9856
 
9318
9857
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-capabilities
9319
9858
  '''
@@ -9322,7 +9861,7 @@ class CfnStackSetProps:
9322
9861
 
9323
9862
  @builtins.property
9324
9863
  def description(self) -> typing.Optional[builtins.str]:
9325
- '''A description of the stack set.
9864
+ '''A description of the StackSet.
9326
9865
 
9327
9866
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-description
9328
9867
  '''
@@ -9331,9 +9870,9 @@ class CfnStackSetProps:
9331
9870
 
9332
9871
  @builtins.property
9333
9872
  def execution_role_name(self) -> typing.Optional[builtins.str]:
9334
- '''The name of the IAM execution role to use to create the stack set.
9873
+ '''The name of the IAM execution role to use to create the StackSet.
9335
9874
 
9336
- If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation.
9875
+ If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the StackSet operation.
9337
9876
 
9338
9877
  Valid only if the permissions model is ``SELF_MANAGED`` .
9339
9878
 
@@ -9353,7 +9892,7 @@ class CfnStackSetProps:
9353
9892
 
9354
9893
  If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.
9355
9894
 
9356
- You can't modify your stack set's execution configuration while there are running or queued operations for that stack set.
9895
+ You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet.
9357
9896
 
9358
9897
  When inactive (default), StackSets performs one operation at a time in request order.
9359
9898
 
@@ -9366,7 +9905,7 @@ class CfnStackSetProps:
9366
9905
  def operation_preferences(
9367
9906
  self,
9368
9907
  ) -> typing.Optional[typing.Union["IResolvable", "CfnStackSet.OperationPreferencesProperty"]]:
9369
- '''The user-specified preferences for how CloudFormation performs a stack set operation.
9908
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.
9370
9909
 
9371
9910
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-operationpreferences
9372
9911
  '''
@@ -9377,7 +9916,7 @@ class CfnStackSetProps:
9377
9916
  def parameters(
9378
9917
  self,
9379
9918
  ) -> typing.Optional[typing.Union["IResolvable", typing.List[typing.Union["IResolvable", "CfnStackSet.ParameterProperty"]]]]:
9380
- '''The input parameters for the stack set template.
9919
+ '''The input parameters for the StackSet template.
9381
9920
 
9382
9921
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-parameters
9383
9922
  '''
@@ -9412,7 +9951,7 @@ class CfnStackSetProps:
9412
9951
  def template_body(self) -> typing.Optional[builtins.str]:
9413
9952
  '''The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.
9414
9953
 
9415
- You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates containing dynamic references through ``TemplateUrl`` instead.
9954
+ You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through ``TemplateUrl`` instead.
9416
9955
 
9417
9956
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-templatebody
9418
9957
  '''
@@ -9421,7 +9960,7 @@ class CfnStackSetProps:
9421
9960
 
9422
9961
  @builtins.property
9423
9962
  def template_url(self) -> typing.Optional[builtins.str]:
9424
- '''The URL of a file containing the template body.
9963
+ '''The URL of a file that contains the template body.
9425
9964
 
9426
9965
  The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://`` .
9427
9966
 
@@ -9969,7 +10508,7 @@ class CfnTypeActivationProps:
9969
10508
  :param publisher_id: The ID of the extension publisher. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
9970
10509
  :param type: The extension type. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
9971
10510
  :param type_name: The name of the extension. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
9972
- :param type_name_alias: An alias to assign to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console. An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.
10511
+ :param type_name_alias: An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console. An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.
9973
10512
  :param version_bump: Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of ``AutoUpdate`` . - ``MAJOR`` : CloudFormation updates the extension to the newest major version, if one is available. - ``MINOR`` : CloudFormation updates the extension to the newest minor version, if one is available.
9974
10513
 
9975
10514
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html
@@ -10125,7 +10664,7 @@ class CfnTypeActivationProps:
10125
10664
 
10126
10665
  @builtins.property
10127
10666
  def type_name_alias(self) -> typing.Optional[builtins.str]:
10128
- '''An alias to assign to the public extension, in this account and Region.
10667
+ '''An alias to assign to the public extension in this account and Region.
10129
10668
 
10130
10669
  If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.
10131
10670
 
@@ -10378,7 +10917,7 @@ class CfnWaitConditionProps:
10378
10917
  '''Properties for defining a ``CfnWaitCondition``.
10379
10918
 
10380
10919
  :param count: The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back. Updates aren't supported.
10381
- :param handle: A reference to the wait condition handle used to signal this wait condition. Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html>`_ resource. Anytime you add a ``WaitCondition`` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command. Updates aren't supported.
10920
+ :param handle: A reference to the wait condition handle used to signal this wait condition. Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html>`_ resource. Anytime you add a ``WaitCondition`` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command. Updates aren't supported.
10382
10921
  :param timeout: The length of time (in seconds) to wait for the number of signals that the ``Count`` property specifies. ``Timeout`` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds). Updates aren't supported.
10383
10922
 
10384
10923
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html
@@ -10426,7 +10965,7 @@ class CfnWaitConditionProps:
10426
10965
  def handle(self) -> typing.Optional[builtins.str]:
10427
10966
  '''A reference to the wait condition handle used to signal this wait condition.
10428
10967
 
10429
- Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html>`_ resource.
10968
+ Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html>`_ resource.
10430
10969
 
10431
10970
  Anytime you add a ``WaitCondition`` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command.
10432
10971
 
@@ -10618,12 +11157,14 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10618
11157
  scope: _constructs_77d1e7e8.Construct,
10619
11158
  *,
10620
11159
  provider: builtins.str,
11160
+ additional_cache_key: typing.Optional[builtins.str] = None,
10621
11161
  include_environment: typing.Optional[builtins.bool] = None,
10622
11162
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10623
11163
  ) -> "GetContextKeyResult":
10624
11164
  '''
10625
11165
  :param scope: -
10626
11166
  :param provider: The context provider to query.
11167
+ :param additional_cache_key: Adds an additional discriminator to the ``cdk.context.json`` cache key. Default: - no additional cache key
10627
11168
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
10628
11169
  :param props: Provider-specific properties.
10629
11170
 
@@ -10633,7 +11174,10 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10633
11174
  type_hints = typing.get_type_hints(_typecheckingstub__43574b9eb91c9a4b6203c6c4dae8ace9123c2746c25560e39a6b8a8db6ca67ff)
10634
11175
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
10635
11176
  options = GetContextKeyOptions(
10636
- provider=provider, include_environment=include_environment, props=props
11177
+ provider=provider,
11178
+ additional_cache_key=additional_cache_key,
11179
+ include_environment=include_environment,
11180
+ props=props,
10637
11181
  )
10638
11182
 
10639
11183
  return typing.cast("GetContextKeyResult", jsii.sinvoke(cls, "getKey", [scope, options]))
@@ -10648,6 +11192,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10648
11192
  ignore_error_on_missing_context: typing.Optional[builtins.bool] = None,
10649
11193
  must_exist: typing.Optional[builtins.bool] = None,
10650
11194
  provider: builtins.str,
11195
+ additional_cache_key: typing.Optional[builtins.str] = None,
10651
11196
  include_environment: typing.Optional[builtins.bool] = None,
10652
11197
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10653
11198
  ) -> "GetContextValueResult":
@@ -10657,6 +11202,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10657
11202
  :param ignore_error_on_missing_context: (deprecated) Ignore a lookup failure and return the ``dummyValue`` instead. ``mustExist`` is the recommended alias for this deprecated property (note that its value is reversed). Default: false
10658
11203
  :param must_exist: Whether the resource must exist. If this is set (the default), the query fails if the value or resource we tried to look up doesn't exist. If this is ``false`` and the value we tried to look up could not be found, the failure is suppressed and ``dummyValue`` is officially returned instead. When this happens, ``dummyValue`` is encoded into cached context and it will never be refreshed anymore until the user runs ``cdk context --reset <key>``. Note that it is not possible for the CDK app code to make a distinction between "the lookup has not been performed yet" and "the lookup didn't find anything and we returned a default value instead". Context providers This feature must explicitly be supported by context providers. It is currently supported by: - KMS key provider - SSM parameter provider Note to implementors The dummy value should not be returned for all SDK lookup failures. For example, "no network" or "no credentials" or "malformed query" should not lead to the dummy value being returned. Only the case of "no such resource" should. Default: true
10659
11204
  :param provider: The context provider to query.
11205
+ :param additional_cache_key: Adds an additional discriminator to the ``cdk.context.json`` cache key. Default: - no additional cache key
10660
11206
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
10661
11207
  :param props: Provider-specific properties.
10662
11208
  '''
@@ -10668,6 +11214,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10668
11214
  ignore_error_on_missing_context=ignore_error_on_missing_context,
10669
11215
  must_exist=must_exist,
10670
11216
  provider=provider,
11217
+ additional_cache_key=additional_cache_key,
10671
11218
  include_environment=include_environment,
10672
11219
  props=props,
10673
11220
  )
@@ -11461,11 +12008,18 @@ class CustomResourceProviderRuntime(enum.Enum):
11461
12008
  :stability: deprecated
11462
12009
  '''
11463
12010
  NODEJS_16_X = "NODEJS_16_X"
11464
- '''Node.js 16.x.'''
12011
+ '''(deprecated) Node.js 16.x.
12012
+
12013
+ :deprecated: Use latest version
12014
+
12015
+ :stability: deprecated
12016
+ '''
11465
12017
  NODEJS_18_X = "NODEJS_18_X"
11466
12018
  '''Node.js 18.x.'''
11467
12019
  NODEJS_20_X = "NODEJS_20_X"
11468
12020
  '''Node.js 20.x.'''
12021
+ NODEJS_22_X = "NODEJS_22_X"
12022
+ '''Node.js 22.x.'''
11469
12023
 
11470
12024
 
11471
12025
  @jsii.data_type(
@@ -11549,9 +12103,16 @@ class DefaultStackSynthesizerProps:
11549
12103
 
11550
12104
  Example::
11551
12105
 
11552
- MyStack(app, "MyStack",
12106
+ # app: App
12107
+
12108
+
12109
+ prod_stage = Stage(app, "ProdStage",
12110
+ permissions_boundary=PermissionsBoundary.from_name("cdk-${Qualifier}-PermissionsBoundary-${AWS::AccountId}-${AWS::Region}")
12111
+ )
12112
+
12113
+ Stack(prod_stage, "ProdStack",
11553
12114
  synthesizer=DefaultStackSynthesizer(
11554
- file_assets_bucket_name="amzn-s3-demo-bucket"
12115
+ qualifier="custom"
11555
12116
  )
11556
12117
  )
11557
12118
  '''
@@ -11916,6 +12477,7 @@ class DefaultStackSynthesizerProps:
11916
12477
  "cache_from": "cacheFrom",
11917
12478
  "cache_to": "cacheTo",
11918
12479
  "file": "file",
12480
+ "network": "network",
11919
12481
  "platform": "platform",
11920
12482
  "target_stage": "targetStage",
11921
12483
  },
@@ -11929,6 +12491,7 @@ class DockerBuildOptions:
11929
12491
  cache_from: typing.Optional[typing.Sequence[typing.Union["DockerCacheOption", typing.Dict[builtins.str, typing.Any]]]] = None,
11930
12492
  cache_to: typing.Optional[typing.Union["DockerCacheOption", typing.Dict[builtins.str, typing.Any]]] = None,
11931
12493
  file: typing.Optional[builtins.str] = None,
12494
+ network: typing.Optional[builtins.str] = None,
11932
12495
  platform: typing.Optional[builtins.str] = None,
11933
12496
  target_stage: typing.Optional[builtins.str] = None,
11934
12497
  ) -> None:
@@ -11939,6 +12502,7 @@ class DockerBuildOptions:
11939
12502
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from args are passed
11940
12503
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to args are passed
11941
12504
  :param file: Name of the Dockerfile, must relative to the docker build path. Default: ``Dockerfile``
12505
+ :param network: Docker `Networking options <https://docs.docker.com/reference/cli/docker/buildx/build/#network>`_. Default: - no networking options
11942
12506
  :param platform: Set platform if server is multi-platform capable. *Requires Docker Engine API v1.38+*. Example value: ``linux/amd64`` Default: - no platform specified
11943
12507
  :param target_stage: Set build target for multi-stage container builds. Any stage defined afterwards will be ignored. Example value: ``build-env`` Default: - Build all stages defined in the Dockerfile
11944
12508
 
@@ -11970,6 +12534,7 @@ class DockerBuildOptions:
11970
12534
  check_type(argname="argument cache_from", value=cache_from, expected_type=type_hints["cache_from"])
11971
12535
  check_type(argname="argument cache_to", value=cache_to, expected_type=type_hints["cache_to"])
11972
12536
  check_type(argname="argument file", value=file, expected_type=type_hints["file"])
12537
+ check_type(argname="argument network", value=network, expected_type=type_hints["network"])
11973
12538
  check_type(argname="argument platform", value=platform, expected_type=type_hints["platform"])
11974
12539
  check_type(argname="argument target_stage", value=target_stage, expected_type=type_hints["target_stage"])
11975
12540
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -11983,6 +12548,8 @@ class DockerBuildOptions:
11983
12548
  self._values["cache_to"] = cache_to
11984
12549
  if file is not None:
11985
12550
  self._values["file"] = file
12551
+ if network is not None:
12552
+ self._values["network"] = network
11986
12553
  if platform is not None:
11987
12554
  self._values["platform"] = platform
11988
12555
  if target_stage is not None:
@@ -12033,6 +12600,15 @@ class DockerBuildOptions:
12033
12600
  result = self._values.get("file")
12034
12601
  return typing.cast(typing.Optional[builtins.str], result)
12035
12602
 
12603
+ @builtins.property
12604
+ def network(self) -> typing.Optional[builtins.str]:
12605
+ '''Docker `Networking options <https://docs.docker.com/reference/cli/docker/buildx/build/#network>`_.
12606
+
12607
+ :default: - no networking options
12608
+ '''
12609
+ result = self._values.get("network")
12610
+ return typing.cast(typing.Optional[builtins.str], result)
12611
+
12036
12612
  @builtins.property
12037
12613
  def platform(self) -> typing.Optional[builtins.str]:
12038
12614
  '''Set platform if server is multi-platform capable. *Requires Docker Engine API v1.38+*.
@@ -12243,6 +12819,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12243
12819
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
12244
12820
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
12245
12821
  file: typing.Optional[builtins.str] = None,
12822
+ network: typing.Optional[builtins.str] = None,
12246
12823
  platform: typing.Optional[builtins.str] = None,
12247
12824
  target_stage: typing.Optional[builtins.str] = None,
12248
12825
  ) -> "DockerImage":
@@ -12254,6 +12831,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12254
12831
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from args are passed
12255
12832
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to args are passed
12256
12833
  :param file: Name of the Dockerfile, must relative to the docker build path. Default: ``Dockerfile``
12834
+ :param network: Docker `Networking options <https://docs.docker.com/reference/cli/docker/buildx/build/#network>`_. Default: - no networking options
12257
12835
  :param platform: Set platform if server is multi-platform capable. *Requires Docker Engine API v1.38+*. Example value: ``linux/amd64`` Default: - no platform specified
12258
12836
  :param target_stage: Set build target for multi-stage container builds. Any stage defined afterwards will be ignored. Example value: ``build-env`` Default: - Build all stages defined in the Dockerfile
12259
12837
  '''
@@ -12266,6 +12844,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12266
12844
  cache_from=cache_from,
12267
12845
  cache_to=cache_to,
12268
12846
  file=file,
12847
+ network=network,
12269
12848
  platform=platform,
12270
12849
  target_stage=target_stage,
12271
12850
  )
@@ -13139,19 +13718,19 @@ class Duration(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Duration"):
13139
13718
 
13140
13719
  Example::
13141
13720
 
13142
- # my_role: iam.Role
13721
+ import aws_cdk.aws_lambda as lambda_
13143
13722
 
13144
- cr.AwsCustomResource(self, "Customized",
13145
- role=my_role, # must be assumable by the `lambda.amazonaws.com` service principal
13146
- timeout=Duration.minutes(10), # defaults to 2 minutes
13147
- memory_size=1025, # defaults to 512 if installLatestAwsSdk is true
13148
- log_group=logs.LogGroup(self, "AwsCustomResourceLogs",
13149
- retention=logs.RetentionDays.ONE_DAY
13150
- ),
13151
- function_name="my-custom-name", # defaults to a CloudFormation generated name
13152
- removal_policy=RemovalPolicy.RETAIN, # defaults to `RemovalPolicy.DESTROY`
13153
- policy=cr.AwsCustomResourcePolicy.from_sdk_calls(
13154
- resources=cr.AwsCustomResourcePolicy.ANY_RESOURCE
13723
+ # fn: lambda.Function
13724
+
13725
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
13726
+
13727
+ cloudfront.Distribution(self, "Distribution",
13728
+ default_behavior=cloudfront.BehaviorOptions(
13729
+ origin=origins.FunctionUrlOrigin(fn_url,
13730
+ read_timeout=Duration.seconds(30),
13731
+ response_completion_timeout=Duration.seconds(90),
13732
+ keepalive_timeout=Duration.seconds(45)
13733
+ )
13155
13734
  )
13156
13735
  )
13157
13736
  '''
@@ -13462,7 +14041,6 @@ class Environment:
13462
14041
  Example::
13463
14042
 
13464
14043
  import aws_cdk as cdk
13465
- import aws_cdk.aws_cloudwatch as cloudwatch
13466
14044
 
13467
14045
 
13468
14046
  app = cdk.App()
@@ -13470,18 +14048,10 @@ class Environment:
13470
14048
 
13471
14049
  global_table = dynamodb.TableV2(stack, "GlobalTable",
13472
14050
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
13473
- replicas=[dynamodb.ReplicaTableProps(region="us-east-1"), dynamodb.ReplicaTableProps(region="us-east-2")
13474
- ]
14051
+ replicas=[dynamodb.ReplicaTableProps(region="us-east-1")]
13475
14052
  )
13476
14053
 
13477
- # metric is only for the table in us-west-2
13478
- metric = global_table.metric_consumed_read_capacity_units()
13479
-
13480
- cloudwatch.Alarm(self, "Alarm",
13481
- metric=metric,
13482
- evaluation_periods=1,
13483
- threshold=1
13484
- )
14054
+ global_table.add_replica(region="us-east-2", deletion_protection=True)
13485
14055
  '''
13486
14056
  if __debug__:
13487
14057
  type_hints = typing.get_type_hints(_typecheckingstub__779551ef0a4b144070fd2c3e88ff076e32ad12d30facdc65a940b7a8791f27c6)
@@ -13568,6 +14138,21 @@ class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Errors"):
13568
14138
  check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13569
14139
  return typing.cast(builtins.bool, jsii.sinvoke(cls, "isAssertionError", [x]))
13570
14140
 
14141
+ @jsii.member(jsii_name="isAssumptionError")
14142
+ @builtins.classmethod
14143
+ def is_assumption_error(cls, x: typing.Any) -> builtins.bool:
14144
+ '''Test whether the given error is an AssumptionError.
14145
+
14146
+ An AssumptionError is thrown when a construct made an assumption somewhere that doesn't hold true.
14147
+ This error always indicates a bug in the construct.
14148
+
14149
+ :param x: -
14150
+ '''
14151
+ if __debug__:
14152
+ type_hints = typing.get_type_hints(_typecheckingstub__1c1f003fc36fb573df38915f709b99bb9c1a74aac84c52ba7fe12c54cf2cae8d)
14153
+ check_type(argname="argument x", value=x, expected_type=type_hints["x"])
14154
+ return typing.cast(builtins.bool, jsii.sinvoke(cls, "isAssumptionError", [x]))
14155
+
13571
14156
  @jsii.member(jsii_name="isCloudAssemblyError")
13572
14157
  @builtins.classmethod
13573
14158
  def is_cloud_assembly_error(cls, x: typing.Any) -> builtins.bool:
@@ -13597,6 +14182,20 @@ class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Errors"):
13597
14182
  check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13598
14183
  return typing.cast(builtins.bool, jsii.sinvoke(cls, "isConstructError", [x]))
13599
14184
 
14185
+ @jsii.member(jsii_name="isExecutionError")
14186
+ @builtins.classmethod
14187
+ def is_execution_error(cls, x: typing.Any) -> builtins.bool:
14188
+ '''Test whether the given error is an ExecutionError.
14189
+
14190
+ An ExecutionError is thrown if an externally executed script or code failed.
14191
+
14192
+ :param x: -
14193
+ '''
14194
+ if __debug__:
14195
+ type_hints = typing.get_type_hints(_typecheckingstub__f2bf053437a17fa72244a5b0342af56acbb0f4ad4bc7fc877ac3974df0b811d3)
14196
+ check_type(argname="argument x", value=x, expected_type=type_hints["x"])
14197
+ return typing.cast(builtins.bool, jsii.sinvoke(cls, "isExecutionError", [x]))
14198
+
13600
14199
  @jsii.member(jsii_name="isValidationError")
13601
14200
  @builtins.classmethod
13602
14201
  def is_validation_error(cls, x: typing.Any) -> builtins.bool:
@@ -13728,17 +14327,16 @@ class ExportValueOptions:
13728
14327
  :param description: The description of the outputs. Default: - No description
13729
14328
  :param name: The name of the export to create. Default: - A name is automatically chosen
13730
14329
 
13731
- :exampleMetadata: fixture=_generated
14330
+ :exampleMetadata: infused
13732
14331
 
13733
14332
  Example::
13734
14333
 
13735
- # The code below shows an example of how to instantiate this type.
13736
- # The values are placeholders you should change.
13737
- import aws_cdk as cdk
14334
+ # stack: Stack
13738
14335
 
13739
- export_value_options = cdk.ExportValueOptions(
13740
- description="description",
13741
- name="name"
14336
+
14337
+ stack.export_value(my_bucket.bucket_name,
14338
+ name="TheAwesomeBucket",
14339
+ description="The name of an S3 bucket"
13742
14340
  )
13743
14341
  '''
13744
14342
  if __debug__:
@@ -15180,6 +15778,7 @@ class Fn(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Fn"):
15180
15778
  jsii_struct_bases=[],
15181
15779
  name_mapping={
15182
15780
  "provider": "provider",
15781
+ "additional_cache_key": "additionalCacheKey",
15183
15782
  "include_environment": "includeEnvironment",
15184
15783
  "props": "props",
15185
15784
  },
@@ -15189,11 +15788,13 @@ class GetContextKeyOptions:
15189
15788
  self,
15190
15789
  *,
15191
15790
  provider: builtins.str,
15791
+ additional_cache_key: typing.Optional[builtins.str] = None,
15192
15792
  include_environment: typing.Optional[builtins.bool] = None,
15193
15793
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
15194
15794
  ) -> None:
15195
15795
  '''
15196
15796
  :param provider: The context provider to query.
15797
+ :param additional_cache_key: Adds an additional discriminator to the ``cdk.context.json`` cache key. Default: - no additional cache key
15197
15798
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
15198
15799
  :param props: Provider-specific properties.
15199
15800
 
@@ -15211,6 +15812,7 @@ class GetContextKeyOptions:
15211
15812
  provider="provider",
15212
15813
 
15213
15814
  # the properties below are optional
15815
+ additional_cache_key="additionalCacheKey",
15214
15816
  include_environment=False,
15215
15817
  props={
15216
15818
  "props_key": props
@@ -15220,11 +15822,14 @@ class GetContextKeyOptions:
15220
15822
  if __debug__:
15221
15823
  type_hints = typing.get_type_hints(_typecheckingstub__4a3bc64bd38ef14ad5ebdf5807563d2355b26f4f0c446c315782c9818b76192a)
15222
15824
  check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
15825
+ check_type(argname="argument additional_cache_key", value=additional_cache_key, expected_type=type_hints["additional_cache_key"])
15223
15826
  check_type(argname="argument include_environment", value=include_environment, expected_type=type_hints["include_environment"])
15224
15827
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
15225
15828
  self._values: typing.Dict[builtins.str, typing.Any] = {
15226
15829
  "provider": provider,
15227
15830
  }
15831
+ if additional_cache_key is not None:
15832
+ self._values["additional_cache_key"] = additional_cache_key
15228
15833
  if include_environment is not None:
15229
15834
  self._values["include_environment"] = include_environment
15230
15835
  if props is not None:
@@ -15237,6 +15842,15 @@ class GetContextKeyOptions:
15237
15842
  assert result is not None, "Required property 'provider' is missing"
15238
15843
  return typing.cast(builtins.str, result)
15239
15844
 
15845
+ @builtins.property
15846
+ def additional_cache_key(self) -> typing.Optional[builtins.str]:
15847
+ '''Adds an additional discriminator to the ``cdk.context.json`` cache key.
15848
+
15849
+ :default: - no additional cache key
15850
+ '''
15851
+ result = self._values.get("additional_cache_key")
15852
+ return typing.cast(typing.Optional[builtins.str], result)
15853
+
15240
15854
  @builtins.property
15241
15855
  def include_environment(self) -> typing.Optional[builtins.bool]:
15242
15856
  '''Whether to include the stack's account and region automatically.
@@ -15335,6 +15949,7 @@ class GetContextKeyResult:
15335
15949
  jsii_struct_bases=[GetContextKeyOptions],
15336
15950
  name_mapping={
15337
15951
  "provider": "provider",
15952
+ "additional_cache_key": "additionalCacheKey",
15338
15953
  "include_environment": "includeEnvironment",
15339
15954
  "props": "props",
15340
15955
  "dummy_value": "dummyValue",
@@ -15347,6 +15962,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15347
15962
  self,
15348
15963
  *,
15349
15964
  provider: builtins.str,
15965
+ additional_cache_key: typing.Optional[builtins.str] = None,
15350
15966
  include_environment: typing.Optional[builtins.bool] = None,
15351
15967
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
15352
15968
  dummy_value: typing.Any,
@@ -15355,6 +15971,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15355
15971
  ) -> None:
15356
15972
  '''
15357
15973
  :param provider: The context provider to query.
15974
+ :param additional_cache_key: Adds an additional discriminator to the ``cdk.context.json`` cache key. Default: - no additional cache key
15358
15975
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
15359
15976
  :param props: Provider-specific properties.
15360
15977
  :param dummy_value: The value to return if the lookup has not yet been performed. Upon first synthesis, the lookups has not yet been performed. The ``getValue()`` operation returns this value instead, so that synthesis can proceed. After synthesis completes the first time, the actual lookup will be performed and synthesis will run again with the *real* value. Dummy values should preferably have valid shapes so that downstream consumers of lookup values don't throw validation exceptions if they encounter a dummy value (or all possible downstream consumers need to effectively check for the well-known shape of the dummy value); throwing an exception would error out the synthesis operation and prevent the lookup and the second, real, synthesis from happening. Connection to mustExist ``dummyValue`` is also used as the official value to return if the lookup has failed and ``mustExist == false``.
@@ -15377,6 +15994,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15377
15994
  provider="provider",
15378
15995
 
15379
15996
  # the properties below are optional
15997
+ additional_cache_key="additionalCacheKey",
15380
15998
  ignore_error_on_missing_context=False,
15381
15999
  include_environment=False,
15382
16000
  must_exist=False,
@@ -15388,6 +16006,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15388
16006
  if __debug__:
15389
16007
  type_hints = typing.get_type_hints(_typecheckingstub__16ea3024419c210903405ca05f7de1bb3fad517c101a7a84926fb5e09ac784ec)
15390
16008
  check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
16009
+ check_type(argname="argument additional_cache_key", value=additional_cache_key, expected_type=type_hints["additional_cache_key"])
15391
16010
  check_type(argname="argument include_environment", value=include_environment, expected_type=type_hints["include_environment"])
15392
16011
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
15393
16012
  check_type(argname="argument dummy_value", value=dummy_value, expected_type=type_hints["dummy_value"])
@@ -15397,6 +16016,8 @@ class GetContextValueOptions(GetContextKeyOptions):
15397
16016
  "provider": provider,
15398
16017
  "dummy_value": dummy_value,
15399
16018
  }
16019
+ if additional_cache_key is not None:
16020
+ self._values["additional_cache_key"] = additional_cache_key
15400
16021
  if include_environment is not None:
15401
16022
  self._values["include_environment"] = include_environment
15402
16023
  if props is not None:
@@ -15413,6 +16034,15 @@ class GetContextValueOptions(GetContextKeyOptions):
15413
16034
  assert result is not None, "Required property 'provider' is missing"
15414
16035
  return typing.cast(builtins.str, result)
15415
16036
 
16037
+ @builtins.property
16038
+ def additional_cache_key(self) -> typing.Optional[builtins.str]:
16039
+ '''Adds an additional discriminator to the ``cdk.context.json`` cache key.
16040
+
16041
+ :default: - no additional cache key
16042
+ '''
16043
+ result = self._values.get("additional_cache_key")
16044
+ return typing.cast(typing.Optional[builtins.str], result)
16045
+
15416
16046
  @builtins.property
15417
16047
  def include_environment(self) -> typing.Optional[builtins.bool]:
15418
16048
  '''Whether to include the stack's account and region automatically.
@@ -15938,6 +16568,50 @@ class _ICfnResourceOptionsProxy:
15938
16568
  typing.cast(typing.Any, ICfnResourceOptions).__jsii_proxy_class__ = lambda : _ICfnResourceOptionsProxy
15939
16569
 
15940
16570
 
16571
+ @jsii.interface(jsii_type="aws-cdk-lib.IEnvironmentAware")
16572
+ class IEnvironmentAware(typing_extensions.Protocol):
16573
+ '''Used to indicate that a particular construct has an resource environment.'''
16574
+
16575
+ @builtins.property
16576
+ @jsii.member(jsii_name="env")
16577
+ def env(self) -> _ResourceEnvironment_603baf00:
16578
+ '''The environment this resource belongs to.
16579
+
16580
+ For resources that are created and managed in a Stack (those created by
16581
+ creating new class instances like ``new Role()``, ``new Bucket()``, etc.), this
16582
+ is always the same as the environment of the stack they belong to.
16583
+
16584
+ For referenced resources (those obtained from referencing methods like
16585
+ ``Role.fromRoleArn()``, ``Bucket.fromBucketName()``, etc.), they might be
16586
+ different than the stack they were imported into.
16587
+ '''
16588
+ ...
16589
+
16590
+
16591
+ class _IEnvironmentAwareProxy:
16592
+ '''Used to indicate that a particular construct has an resource environment.'''
16593
+
16594
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.IEnvironmentAware"
16595
+
16596
+ @builtins.property
16597
+ @jsii.member(jsii_name="env")
16598
+ def env(self) -> _ResourceEnvironment_603baf00:
16599
+ '''The environment this resource belongs to.
16600
+
16601
+ For resources that are created and managed in a Stack (those created by
16602
+ creating new class instances like ``new Role()``, ``new Bucket()``, etc.), this
16603
+ is always the same as the environment of the stack they belong to.
16604
+
16605
+ For referenced resources (those obtained from referencing methods like
16606
+ ``Role.fromRoleArn()``, ``Bucket.fromBucketName()``, etc.), they might be
16607
+ different than the stack they were imported into.
16608
+ '''
16609
+ return typing.cast(_ResourceEnvironment_603baf00, jsii.get(self, "env"))
16610
+
16611
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
16612
+ typing.cast(typing.Any, IEnvironmentAware).__jsii_proxy_class__ = lambda : _IEnvironmentAwareProxy
16613
+
16614
+
15941
16615
  @jsii.interface(jsii_type="aws-cdk-lib.IFragmentConcatenator")
15942
16616
  class IFragmentConcatenator(typing_extensions.Protocol):
15943
16617
  '''Function used to concatenate symbols in the target document language.
@@ -16410,6 +17084,75 @@ class _IPostProcessorProxy:
16410
17084
  typing.cast(typing.Any, IPostProcessor).__jsii_proxy_class__ = lambda : _IPostProcessorProxy
16411
17085
 
16412
17086
 
17087
+ @jsii.interface(jsii_type="aws-cdk-lib.IPropertyInjector")
17088
+ class IPropertyInjector(typing_extensions.Protocol):
17089
+ '''This interface define an inject function that operates on a Construct's Property.
17090
+
17091
+ The Construct must have a constructUniqueId to uniquely identify itself.
17092
+ '''
17093
+
17094
+ @builtins.property
17095
+ @jsii.member(jsii_name="constructUniqueId")
17096
+ def construct_unique_id(self) -> builtins.str:
17097
+ '''The unique Id of the Construct class.'''
17098
+ ...
17099
+
17100
+ @jsii.member(jsii_name="inject")
17101
+ def inject(
17102
+ self,
17103
+ original_props: typing.Any,
17104
+ *,
17105
+ id: builtins.str,
17106
+ scope: _constructs_77d1e7e8.Construct,
17107
+ ) -> typing.Any:
17108
+ '''The injector to be applied to the constructor properties of the Construct.
17109
+
17110
+ :param original_props: -
17111
+ :param id: id from the Construct constructor.
17112
+ :param scope: scope from the constructor.
17113
+ '''
17114
+ ...
17115
+
17116
+
17117
+ class _IPropertyInjectorProxy:
17118
+ '''This interface define an inject function that operates on a Construct's Property.
17119
+
17120
+ The Construct must have a constructUniqueId to uniquely identify itself.
17121
+ '''
17122
+
17123
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.IPropertyInjector"
17124
+
17125
+ @builtins.property
17126
+ @jsii.member(jsii_name="constructUniqueId")
17127
+ def construct_unique_id(self) -> builtins.str:
17128
+ '''The unique Id of the Construct class.'''
17129
+ return typing.cast(builtins.str, jsii.get(self, "constructUniqueId"))
17130
+
17131
+ @jsii.member(jsii_name="inject")
17132
+ def inject(
17133
+ self,
17134
+ original_props: typing.Any,
17135
+ *,
17136
+ id: builtins.str,
17137
+ scope: _constructs_77d1e7e8.Construct,
17138
+ ) -> typing.Any:
17139
+ '''The injector to be applied to the constructor properties of the Construct.
17140
+
17141
+ :param original_props: -
17142
+ :param id: id from the Construct constructor.
17143
+ :param scope: scope from the constructor.
17144
+ '''
17145
+ if __debug__:
17146
+ type_hints = typing.get_type_hints(_typecheckingstub__a84c13d89fffb1ee8026280d3071636f041aaa121bab44f9659e3255feca881d)
17147
+ check_type(argname="argument original_props", value=original_props, expected_type=type_hints["original_props"])
17148
+ context = InjectionContext(id=id, scope=scope)
17149
+
17150
+ return typing.cast(typing.Any, jsii.invoke(self, "inject", [original_props, context]))
17151
+
17152
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
17153
+ typing.cast(typing.Any, IPropertyInjector).__jsii_proxy_class__ = lambda : _IPropertyInjectorProxy
17154
+
17155
+
16413
17156
  @jsii.interface(jsii_type="aws-cdk-lib.IResolvable")
16414
17157
  class IResolvable(typing_extensions.Protocol):
16415
17158
  '''Interface for values that can be resolvable later.
@@ -16606,22 +17349,12 @@ typing.cast(typing.Any, IResolveContext).__jsii_proxy_class__ = lambda : _IResol
16606
17349
 
16607
17350
 
16608
17351
  @jsii.interface(jsii_type="aws-cdk-lib.IResource")
16609
- class IResource(_constructs_77d1e7e8.IConstruct, typing_extensions.Protocol):
16610
- '''Interface for the Resource construct.'''
16611
-
16612
- @builtins.property
16613
- @jsii.member(jsii_name="env")
16614
- def env(self) -> "ResourceEnvironment":
16615
- '''The environment this resource belongs to.
16616
-
16617
- For resources that are created and managed by the CDK
16618
- (generally, those created by creating new class instances like Role, Bucket, etc.),
16619
- this is always the same as the environment of the stack they belong to;
16620
- however, for imported resources
16621
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
16622
- that might be different than the stack they were imported into.
16623
- '''
16624
- ...
17352
+ class IResource(
17353
+ _constructs_77d1e7e8.IConstruct,
17354
+ _IEnvironmentAware_f39049ee,
17355
+ typing_extensions.Protocol,
17356
+ ):
17357
+ '''Interface for L2 Resource constructs.'''
16625
17358
 
16626
17359
  @builtins.property
16627
17360
  @jsii.member(jsii_name="stack")
@@ -16648,25 +17381,12 @@ class IResource(_constructs_77d1e7e8.IConstruct, typing_extensions.Protocol):
16648
17381
 
16649
17382
  class _IResourceProxy(
16650
17383
  jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
17384
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
16651
17385
  ):
16652
- '''Interface for the Resource construct.'''
17386
+ '''Interface for L2 Resource constructs.'''
16653
17387
 
16654
17388
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.IResource"
16655
17389
 
16656
- @builtins.property
16657
- @jsii.member(jsii_name="env")
16658
- def env(self) -> "ResourceEnvironment":
16659
- '''The environment this resource belongs to.
16660
-
16661
- For resources that are created and managed by the CDK
16662
- (generally, those created by creating new class instances like Role, Bucket, etc.),
16663
- this is always the same as the environment of the stack they belong to;
16664
- however, for imported resources
16665
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
16666
- that might be different than the stack they were imported into.
16667
- '''
16668
- return typing.cast("ResourceEnvironment", jsii.get(self, "env"))
16669
-
16670
17390
  @builtins.property
16671
17391
  @jsii.member(jsii_name="stack")
16672
17392
  def stack(self) -> "Stack":
@@ -17665,6 +18385,22 @@ class IgnoreStrategy(
17665
18385
  '''
17666
18386
  ...
17667
18387
 
18388
+ @jsii.member(jsii_name="completelyIgnores")
18389
+ def completely_ignores(
18390
+ self,
18391
+ absolute_directory_path: builtins.str,
18392
+ ) -> builtins.bool:
18393
+ '''Determines whether a given directory path should be ignored and have all of its children ignored.
18394
+
18395
+ :param absolute_directory_path: absolute directory path to be assessed against the pattern.
18396
+
18397
+ :return: ``true`` if the directory and all of its children should be ignored
18398
+ '''
18399
+ if __debug__:
18400
+ type_hints = typing.get_type_hints(_typecheckingstub__3a80a66d2944a2c289e3c51a3686487dddf7c755eb54d7726f3fd91652eddcde)
18401
+ check_type(argname="argument absolute_directory_path", value=absolute_directory_path, expected_type=type_hints["absolute_directory_path"])
18402
+ return typing.cast(builtins.bool, jsii.invoke(self, "completelyIgnores", [absolute_directory_path]))
18403
+
17668
18404
  @jsii.member(jsii_name="ignores")
17669
18405
  @abc.abstractmethod
17670
18406
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
@@ -17708,6 +18444,74 @@ class _IgnoreStrategyProxy(IgnoreStrategy):
17708
18444
  typing.cast(typing.Any, IgnoreStrategy).__jsii_proxy_class__ = lambda : _IgnoreStrategyProxy
17709
18445
 
17710
18446
 
18447
+ @jsii.data_type(
18448
+ jsii_type="aws-cdk-lib.InjectionContext",
18449
+ jsii_struct_bases=[],
18450
+ name_mapping={"id": "id", "scope": "scope"},
18451
+ )
18452
+ class InjectionContext:
18453
+ def __init__(
18454
+ self,
18455
+ *,
18456
+ id: builtins.str,
18457
+ scope: _constructs_77d1e7e8.Construct,
18458
+ ) -> None:
18459
+ '''This defines the values needed for Injection.
18460
+
18461
+ :param id: id from the Construct constructor.
18462
+ :param scope: scope from the constructor.
18463
+
18464
+ :exampleMetadata: fixture=_generated
18465
+
18466
+ Example::
18467
+
18468
+ # The code below shows an example of how to instantiate this type.
18469
+ # The values are placeholders you should change.
18470
+ import aws_cdk as cdk
18471
+ import constructs as constructs
18472
+
18473
+ # construct: constructs.Construct
18474
+
18475
+ injection_context = cdk.InjectionContext(
18476
+ id="id",
18477
+ scope=construct
18478
+ )
18479
+ '''
18480
+ if __debug__:
18481
+ type_hints = typing.get_type_hints(_typecheckingstub__474d9096cc3297bd5f64e3e487372aedd71d529e93d80a946aa117f0e0f8bc5b)
18482
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
18483
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
18484
+ self._values: typing.Dict[builtins.str, typing.Any] = {
18485
+ "id": id,
18486
+ "scope": scope,
18487
+ }
18488
+
18489
+ @builtins.property
18490
+ def id(self) -> builtins.str:
18491
+ '''id from the Construct constructor.'''
18492
+ result = self._values.get("id")
18493
+ assert result is not None, "Required property 'id' is missing"
18494
+ return typing.cast(builtins.str, result)
18495
+
18496
+ @builtins.property
18497
+ def scope(self) -> _constructs_77d1e7e8.Construct:
18498
+ '''scope from the constructor.'''
18499
+ result = self._values.get("scope")
18500
+ assert result is not None, "Required property 'scope' is missing"
18501
+ return typing.cast(_constructs_77d1e7e8.Construct, result)
18502
+
18503
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
18504
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
18505
+
18506
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
18507
+ return not (rhs == self)
18508
+
18509
+ def __repr__(self) -> str:
18510
+ return "InjectionContext(%s)" % ", ".join(
18511
+ k + "=" + repr(v) for k, v in self._values.items()
18512
+ )
18513
+
18514
+
17711
18515
  @jsii.implements(IResolvable)
17712
18516
  class Intrinsic(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Intrinsic"):
17713
18517
  '''Token subclass that represents values intrinsic to the target document language.
@@ -19344,6 +20148,92 @@ class PolicyViolationBeta1:
19344
20148
  )
19345
20149
 
19346
20150
 
20151
+ class PropertyInjectors(
20152
+ metaclass=jsii.JSIIMeta,
20153
+ jsii_type="aws-cdk-lib.PropertyInjectors",
20154
+ ):
20155
+ '''This is a collection of ProjectInjectors assigned to this scope.
20156
+
20157
+ It is keyed by constructUniqueId. There can be only one ProjectInjector for a constructUniqueId.
20158
+
20159
+ :exampleMetadata: fixture=_generated
20160
+
20161
+ Example::
20162
+
20163
+ # The code below shows an example of how to instantiate this type.
20164
+ # The values are placeholders you should change.
20165
+ import aws_cdk as cdk
20166
+
20167
+ property_injectors = cdk.PropertyInjectors.of(self)
20168
+ '''
20169
+
20170
+ @jsii.member(jsii_name="hasPropertyInjectors")
20171
+ @builtins.classmethod
20172
+ def has_property_injectors(cls, x: typing.Any) -> builtins.bool:
20173
+ '''Return whether the given object has a PropertyInjectors property.
20174
+
20175
+ We do attribute detection since we can't reliably use 'instanceof'.
20176
+
20177
+ :param x: -
20178
+ '''
20179
+ if __debug__:
20180
+ type_hints = typing.get_type_hints(_typecheckingstub__4200e15e2cc09377aa6dd49e79c545a26e8c65589955f7210d145afb4881fcc5)
20181
+ check_type(argname="argument x", value=x, expected_type=type_hints["x"])
20182
+ return typing.cast(builtins.bool, jsii.sinvoke(cls, "hasPropertyInjectors", [x]))
20183
+
20184
+ @jsii.member(jsii_name="of")
20185
+ @builtins.classmethod
20186
+ def of(cls, scope: _constructs_77d1e7e8.IConstruct) -> "PropertyInjectors":
20187
+ '''Returns the ``PropertyInjectors`` object associated with a construct scope.
20188
+
20189
+ If ``PropertyInjectors`` object doesn't exist on this scope, then it creates one and attaches it to scope.
20190
+
20191
+ :param scope: The scope for which these PropertyInjectors will apply.
20192
+ '''
20193
+ if __debug__:
20194
+ type_hints = typing.get_type_hints(_typecheckingstub__d558bd5d62319107ba8d7aec423cb982f18f533d7f90939b4576ae5cabe237e6)
20195
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
20196
+ return typing.cast("PropertyInjectors", jsii.sinvoke(cls, "of", [scope]))
20197
+
20198
+ @jsii.member(jsii_name="add")
20199
+ def add(self, *props_injectors: IPropertyInjector) -> None:
20200
+ '''Add a list of IPropertyInjectors to this collection of PropertyInjectors.
20201
+
20202
+ :param props_injectors: - a list of IPropertyInjector.
20203
+ '''
20204
+ if __debug__:
20205
+ type_hints = typing.get_type_hints(_typecheckingstub__b15ed456b528cac4ffc455783d09279b63e060419397678acf12dc8a07323ae9)
20206
+ check_type(argname="argument props_injectors", value=props_injectors, expected_type=typing.Tuple[type_hints["props_injectors"], ...]) # pyright: ignore [reportGeneralTypeIssues]
20207
+ return typing.cast(None, jsii.invoke(self, "add", [*props_injectors]))
20208
+
20209
+ @jsii.member(jsii_name="for")
20210
+ def for_(self, unique_id: builtins.str) -> typing.Optional[IPropertyInjector]:
20211
+ '''Get the PropertyInjector that is registered to the Construct's uniqueId.
20212
+
20213
+ :param unique_id: - the construct uniqueId.
20214
+
20215
+ :return: - the IPropertyInjector for that construct uniqueId
20216
+ '''
20217
+ if __debug__:
20218
+ type_hints = typing.get_type_hints(_typecheckingstub__ba79b618f23d72687ff58834f8d791bcc5f41fb49c8301987bb45eee4378958b)
20219
+ check_type(argname="argument unique_id", value=unique_id, expected_type=type_hints["unique_id"])
20220
+ return typing.cast(typing.Optional[IPropertyInjector], jsii.invoke(self, "for", [unique_id]))
20221
+
20222
+ @jsii.member(jsii_name="supportedClasses")
20223
+ def supported_classes(self) -> typing.List[builtins.str]:
20224
+ '''This returns a list of the Constructs that are supporting by this PropertyInjectors.
20225
+
20226
+ :return: a list of string showing the supported Constructs.
20227
+ '''
20228
+ return typing.cast(typing.List[builtins.str], jsii.invoke(self, "supportedClasses", []))
20229
+
20230
+ @builtins.property
20231
+ @jsii.member(jsii_name="scope")
20232
+ def scope(self) -> _constructs_77d1e7e8.IConstruct:
20233
+ '''The scope attached to Injectors.'''
20234
+ return typing.cast(_constructs_77d1e7e8.IConstruct, jsii.get(self, "scope"))
20235
+
20236
+
19347
20237
  class Reference(
19348
20238
  Intrinsic,
19349
20239
  metaclass=jsii.JSIIAbstractClass,
@@ -19574,35 +20464,53 @@ class RemovalPolicy(enum.Enum):
19574
20464
  cfn_bucket = bucket.node.find_child("Resource")
19575
20465
  cfn_bucket.apply_removal_policy(RemovalPolicy.DESTROY)
19576
20466
 
19577
- :exampleMetadata: infused
20467
+ :exampleMetadata: fixture=default infused
19578
20468
 
19579
20469
  Example::
19580
20470
 
19581
- # my_role: iam.Role
20471
+ bucket = s3.Bucket(self, "memoryBucket",
20472
+ bucket_name="test-memory",
20473
+ removal_policy=cdk.RemovalPolicy.DESTROY,
20474
+ auto_delete_objects=True
20475
+ )
20476
+
20477
+ topic = sns.Topic(self, "topic")
19582
20478
 
19583
- cr.AwsCustomResource(self, "Customized",
19584
- role=my_role, # must be assumable by the `lambda.amazonaws.com` service principal
19585
- timeout=Duration.minutes(10), # defaults to 2 minutes
19586
- memory_size=1025, # defaults to 512 if installLatestAwsSdk is true
19587
- log_group=logs.LogGroup(self, "AwsCustomResourceLogs",
19588
- retention=logs.RetentionDays.ONE_DAY
20479
+ # Create a custom semantic memory strategy
20480
+ self_managed_strategy = agentcore.MemoryStrategy.using_self_managed(
20481
+ name="selfManagedStrategy",
20482
+ description="self managed memory strategy",
20483
+ historical_context_window_size=5,
20484
+ invocation_configuration=agentcore.InvocationConfiguration(
20485
+ topic=topic,
20486
+ s3_location=s3.Location(
20487
+ bucket_name=bucket.bucket_name,
20488
+ object_key="memory/"
20489
+ )
19589
20490
  ),
19590
- function_name="my-custom-name", # defaults to a CloudFormation generated name
19591
- removal_policy=RemovalPolicy.RETAIN, # defaults to `RemovalPolicy.DESTROY`
19592
- policy=cr.AwsCustomResourcePolicy.from_sdk_calls(
19593
- resources=cr.AwsCustomResourcePolicy.ANY_RESOURCE
20491
+ trigger_conditions=agentcore.TriggerConditions(
20492
+ message_based_trigger=1,
20493
+ time_based_trigger=cdk.Duration.seconds(10),
20494
+ token_based_trigger=100
19594
20495
  )
19595
20496
  )
20497
+
20498
+ # Create memory with custom strategy
20499
+ memory = agentcore.Memory(self, "MyMemory",
20500
+ memory_name="my-custom-memory",
20501
+ description="Memory with custom strategy",
20502
+ expiration_duration=cdk.Duration.days(90),
20503
+ memory_strategies=[self_managed_strategy]
20504
+ )
19596
20505
  '''
19597
20506
 
19598
20507
  DESTROY = "DESTROY"
19599
- '''This is the default removal policy.
20508
+ '''When this removal policy is applied, the resource will be physically destroyed when it is removed from the stack or when the stack is deleted.'''
20509
+ RETAIN = "RETAIN"
20510
+ '''This uses the 'Retain' DeletionPolicy, which will cause the resource to be retained in the account, but orphaned from the stack.
19600
20511
 
19601
- It means that when the resource is
19602
- removed from the app, it will be physically destroyed.
20512
+ Most resources default to this removal policy.
19603
20513
  '''
19604
- RETAIN = "RETAIN"
19605
- '''This uses the 'Retain' DeletionPolicy, which will cause the resource to be retained in the account, but orphaned from the stack.'''
19606
20514
  SNAPSHOT = "SNAPSHOT"
19607
20515
  '''This retention policy deletes the resource, but saves a snapshot of its data before deleting, so that it can be re-created later.
19608
20516
 
@@ -19724,18 +20632,36 @@ class RemovalPolicyProps:
19724
20632
  :param exclude_resource_types: Exclude specific resource types from the removal policy. Can be a CloudFormation resource type string (e.g., 'AWS::S3::Bucket'). Default: - no exclusions
19725
20633
  :param priority: The priority to use when applying this policy. The priority affects only the order in which aspects are applied during synthesis. For RemovalPolicies, the last applied policy will override previous ones. NOTE: Priority does NOT determine which policy "wins" when there are conflicts. The order of application determines the final policy, with later policies overriding earlier ones. Default: - AspectPriority.MUTATING
19726
20634
 
19727
- :exampleMetadata: fixture=_generated
20635
+ :exampleMetadata: infused
19728
20636
 
19729
20637
  Example::
19730
20638
 
19731
- # The code below shows an example of how to instantiate this type.
19732
- # The values are placeholders you should change.
19733
- import aws_cdk as cdk
20639
+ # scope: Construct
20640
+ # parent: Construct
20641
+ # bucket: s3.CfnBucket
19734
20642
 
19735
- removal_policy_props = cdk.RemovalPolicyProps(
19736
- apply_to_resource_types=["applyToResourceTypes"],
19737
- exclude_resource_types=["excludeResourceTypes"],
19738
- priority=123
20643
+
20644
+ # Apply DESTROY policy to all resources in a scope
20645
+ RemovalPolicies.of(scope).destroy()
20646
+
20647
+ # Apply RETAIN policy to all resources in a scope
20648
+ RemovalPolicies.of(scope).retain()
20649
+
20650
+ # Apply SNAPSHOT policy to all resources in a scope
20651
+ RemovalPolicies.of(scope).snapshot()
20652
+
20653
+ # Apply RETAIN_ON_UPDATE_OR_DELETE policy to all resources in a scope
20654
+ RemovalPolicies.of(scope).retain_on_update_or_delete()
20655
+
20656
+ # Apply RETAIN policy only to specific resource types
20657
+ RemovalPolicies.of(parent).retain(
20658
+ apply_to_resource_types=["AWS::DynamoDB::Table", bucket.cfn_resource_type, rds.CfnDBInstance.CFN_RESOURCE_TYPE_NAME
20659
+ ]
20660
+ )
20661
+
20662
+ # Apply SNAPSHOT policy excluding specific resource types
20663
+ RemovalPolicies.of(scope).snapshot(
20664
+ exclude_resource_types=["AWS::Test::Resource"]
19739
20665
  )
19740
20666
  '''
19741
20667
  if __debug__:
@@ -20094,7 +21020,7 @@ class Resource(
20094
21020
  metaclass=jsii.JSIIAbstractClass,
20095
21021
  jsii_type="aws-cdk-lib.Resource",
20096
21022
  ):
20097
- '''A construct which represents an AWS resource.
21023
+ '''An L2 construct which represents an AWS resource.
20098
21024
 
20099
21025
  :exampleMetadata: infused
20100
21026
 
@@ -20257,17 +21183,18 @@ class Resource(
20257
21183
 
20258
21184
  @builtins.property
20259
21185
  @jsii.member(jsii_name="env")
20260
- def env(self) -> "ResourceEnvironment":
21186
+ def env(self) -> _ResourceEnvironment_603baf00:
20261
21187
  '''The environment this resource belongs to.
20262
21188
 
20263
- For resources that are created and managed by the CDK
20264
- (generally, those created by creating new class instances like Role, Bucket, etc.),
20265
- this is always the same as the environment of the stack they belong to;
20266
- however, for imported resources
20267
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
20268
- that might be different than the stack they were imported into.
21189
+ For resources that are created and managed in a Stack (those created by
21190
+ creating new class instances like ``new Role()``, ``new Bucket()``, etc.), this
21191
+ is always the same as the environment of the stack they belong to.
21192
+
21193
+ For referenced resources (those obtained from referencing methods like
21194
+ ``Role.fromRoleArn()``, ``Bucket.fromBucketName()``, etc.), they might be
21195
+ different than the stack they were imported into.
20269
21196
  '''
20270
- return typing.cast("ResourceEnvironment", jsii.get(self, "env"))
21197
+ return typing.cast(_ResourceEnvironment_603baf00, jsii.get(self, "env"))
20271
21198
 
20272
21199
  @builtins.property
20273
21200
  @jsii.member(jsii_name="physicalName")
@@ -20306,10 +21233,10 @@ class ResourceEnvironment:
20306
21233
  def __init__(self, *, account: builtins.str, region: builtins.str) -> None:
20307
21234
  '''Represents the environment a given resource lives in.
20308
21235
 
20309
- Used as the return value for the ``IResource.env`` property.
21236
+ Used as the return value for the ``IEnvironmentAware.env`` property.
20310
21237
 
20311
- :param account: The AWS account ID that this resource belongs to. Since this can be a Token (for example, when the account is CloudFormation's AWS::AccountId intrinsic), make sure to use Token.compareStrings() instead of just comparing the values for equality.
20312
- :param region: The AWS region that this resource belongs to. Since this can be a Token (for example, when the region is CloudFormation's AWS::Region intrinsic), make sure to use Token.compareStrings() instead of just comparing the values for equality.
21238
+ :param account: The AWS Account ID that this resource belongs to. Since this can be a Token (for example, when the account is CloudFormation's ``AWS::AccountId`` intrinsic), make sure to use ``Token.compareStrings()`` instead of comparing the values with direct string equality.
21239
+ :param region: The AWS Region that this resource belongs to. Since this can be a Token (for example, when the region is CloudFormation's ``AWS::Region`` intrinsic), make sure to use ``Token.compareStrings()`` instead of comparing the values with direct string equality.
20313
21240
 
20314
21241
  :exampleMetadata: fixture=_generated
20315
21242
 
@@ -20319,7 +21246,7 @@ class ResourceEnvironment:
20319
21246
  # The values are placeholders you should change.
20320
21247
  import aws_cdk as cdk
20321
21248
 
20322
- resource_environment = cdk.ResourceEnvironment(
21249
+ resource_environment = cdk.interfaces.ResourceEnvironment(
20323
21250
  account="account",
20324
21251
  region="region"
20325
21252
  )
@@ -20335,12 +21262,12 @@ class ResourceEnvironment:
20335
21262
 
20336
21263
  @builtins.property
20337
21264
  def account(self) -> builtins.str:
20338
- '''The AWS account ID that this resource belongs to.
21265
+ '''The AWS Account ID that this resource belongs to.
20339
21266
 
20340
- Since this can be a Token
20341
- (for example, when the account is CloudFormation's AWS::AccountId intrinsic),
20342
- make sure to use Token.compareStrings()
20343
- instead of just comparing the values for equality.
21267
+ Since this can be a Token (for example, when the account is
21268
+ CloudFormation's ``AWS::AccountId`` intrinsic), make sure to use
21269
+ ``Token.compareStrings()`` instead of comparing the values with direct
21270
+ string equality.
20344
21271
  '''
20345
21272
  result = self._values.get("account")
20346
21273
  assert result is not None, "Required property 'account' is missing"
@@ -20348,12 +21275,11 @@ class ResourceEnvironment:
20348
21275
 
20349
21276
  @builtins.property
20350
21277
  def region(self) -> builtins.str:
20351
- '''The AWS region that this resource belongs to.
21278
+ '''The AWS Region that this resource belongs to.
20352
21279
 
20353
- Since this can be a Token
20354
- (for example, when the region is CloudFormation's AWS::Region intrinsic),
20355
- make sure to use Token.compareStrings()
20356
- instead of just comparing the values for equality.
21280
+ Since this can be a Token (for example, when the region is CloudFormation's
21281
+ ``AWS::Region`` intrinsic), make sure to use ``Token.compareStrings()`` instead
21282
+ of comparing the values with direct string equality.
20357
21283
  '''
20358
21284
  result = self._values.get("region")
20359
21285
  assert result is not None, "Required property 'region' is missing"
@@ -20741,16 +21667,20 @@ class SecretValue(
20741
21667
 
20742
21668
  Example::
20743
21669
 
20744
- # my_hosted_zone: route53.IPublicHostedZone
20745
-
20746
-
20747
- ses.EmailIdentity(self, "Identity",
20748
- identity=ses.Identity.public_hosted_zone(my_hosted_zone),
20749
- dkim_identity=ses.DkimIdentity.byo_dkim(
20750
- private_key=SecretValue.secrets_manager("dkim-private-key"),
20751
- public_key="...base64-encoded-public-key...",
20752
- selector="selector"
20753
- )
21670
+ # Read the secret from Secrets Manager
21671
+ pipeline = codepipeline.Pipeline(self, "MyPipeline")
21672
+ source_output = codepipeline.Artifact()
21673
+ source_action = codepipeline_actions.GitHubSourceAction(
21674
+ action_name="GitHub_Source",
21675
+ owner="awslabs",
21676
+ repo="aws-cdk",
21677
+ oauth_token=SecretValue.secrets_manager("my-github-token"),
21678
+ output=source_output,
21679
+ branch="develop"
21680
+ )
21681
+ pipeline.add_stage(
21682
+ stage_name="Source",
21683
+ actions=[source_action]
20754
21684
  )
20755
21685
  '''
20756
21686
 
@@ -20791,6 +21721,34 @@ class SecretValue(
20791
21721
  check_type(argname="argument ref", value=ref, expected_type=type_hints["ref"])
20792
21722
  return typing.cast("SecretValue", jsii.sinvoke(cls, "cfnDynamicReference", [ref]))
20793
21723
 
21724
+ @jsii.member(jsii_name="cfnDynamicReferenceKey")
21725
+ @builtins.classmethod
21726
+ def cfn_dynamic_reference_key(
21727
+ cls,
21728
+ secret_id: builtins.str,
21729
+ *,
21730
+ json_field: typing.Optional[builtins.str] = None,
21731
+ version_id: typing.Optional[builtins.str] = None,
21732
+ version_stage: typing.Optional[builtins.str] = None,
21733
+ ) -> builtins.str:
21734
+ '''Returns a key which can be used within an AWS CloudFormation dynamic reference to dynamically load a secret from AWS Secrets Manager.
21735
+
21736
+ :param secret_id: The ID or ARN of the secret.
21737
+ :param json_field: The key of a JSON field to retrieve. This can only be used if the secret stores a JSON object. Default: - returns all the content stored in the Secrets Manager secret.
21738
+ :param version_id: Specifies the unique identifier of the version of the secret you want to use. Can specify at most one of ``versionId`` and ``versionStage``. Default: AWSCURRENT
21739
+ :param version_stage: Specifies the secret version that you want to retrieve by the staging label attached to the version. Can specify at most one of ``versionId`` and ``versionStage``. Default: AWSCURRENT
21740
+
21741
+ :see: https://docs.aws.amazon.com/secretsmanager/latest/userguide/cfn-example_reference-secret.html
21742
+ '''
21743
+ if __debug__:
21744
+ type_hints = typing.get_type_hints(_typecheckingstub__ba81ab5d0a7811c904f34d1d9805888e14bbd4da3987d73185cb1acbfc46df06)
21745
+ check_type(argname="argument secret_id", value=secret_id, expected_type=type_hints["secret_id"])
21746
+ options = SecretsManagerSecretOptions(
21747
+ json_field=json_field, version_id=version_id, version_stage=version_stage
21748
+ )
21749
+
21750
+ return typing.cast(builtins.str, jsii.sinvoke(cls, "cfnDynamicReferenceKey", [secret_id, options]))
21751
+
20794
21752
  @jsii.member(jsii_name="cfnParameter")
20795
21753
  @builtins.classmethod
20796
21754
  def cfn_parameter(cls, param: CfnParameter) -> "SecretValue":
@@ -21071,24 +22029,24 @@ class Size(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Size"):
21071
22029
 
21072
22030
  Example::
21073
22031
 
21074
- # bucket: s3.Bucket
21075
- # Provide a Lambda function that will transform records before delivery, with custom
21076
- # buffering and retry configuration
21077
- lambda_function = lambda_.Function(self, "Processor",
21078
- runtime=lambda_.Runtime.NODEJS_LATEST,
21079
- handler="index.handler",
21080
- code=lambda_.Code.from_asset(path.join(__dirname, "process-records"))
21081
- )
21082
- lambda_processor = firehose.LambdaFunctionProcessor(lambda_function,
21083
- buffer_interval=Duration.minutes(5),
21084
- buffer_size=Size.mebibytes(5),
21085
- retries=5
21086
- )
21087
- s3_destination = firehose.S3Bucket(bucket,
21088
- processor=lambda_processor
21089
- )
21090
- firehose.DeliveryStream(self, "Delivery Stream",
21091
- destination=s3_destination
22032
+ # my_file_system: efs.IFileSystem
22033
+ # my_job_role: iam.Role
22034
+
22035
+ my_file_system.grant_read(my_job_role)
22036
+
22037
+ job_defn = batch.EcsJobDefinition(self, "JobDefn",
22038
+ container=batch.EcsEc2ContainerDefinition(self, "containerDefn",
22039
+ image=ecs.ContainerImage.from_registry("public.ecr.aws/amazonlinux/amazonlinux:latest"),
22040
+ memory=cdk.Size.mebibytes(2048),
22041
+ cpu=256,
22042
+ volumes=[batch.EcsVolume.efs(
22043
+ name="myVolume",
22044
+ file_system=my_file_system,
22045
+ container_path="/Volumes/myVolume",
22046
+ use_job_role=True
22047
+ )],
22048
+ job_role=my_job_role
22049
+ )
21092
22050
  )
21093
22051
  '''
21094
22052
 
@@ -21410,6 +22368,7 @@ class Stack(
21410
22368
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
21411
22369
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
21412
22370
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
22371
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
21413
22372
  stack_name: typing.Optional[builtins.str] = None,
21414
22373
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
21415
22374
  synthesizer: typing.Optional[IStackSynthesizer] = None,
@@ -21424,12 +22383,13 @@ class Stack(
21424
22383
  :param cross_region_references: Enable this flag to allow native cross region stack references. Enabling this will create a CloudFormation custom resource in both the producing stack and consuming stack in order to perform the export/import This feature is currently experimental Default: false
21425
22384
  :param description: A description of the stack. Default: - No description.
21426
22385
  :param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
21427
- :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
22386
+ :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notification arns.
21428
22387
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
22388
+ :param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
21429
22389
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
21430
22390
  :param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
21431
22391
  :param synthesizer: Synthesis method to use while deploying this stack. The Stack Synthesizer controls aspects of synthesis and deployment, like how assets are referenced and what IAM roles to use. For more information, see the README of the main CDK package. If not specified, the ``defaultStackSynthesizer`` from ``App`` will be used. If that is not specified, ``DefaultStackSynthesizer`` is used if ``@aws-cdk/core:newStyleStackSynthesis`` is set to ``true`` or the CDK major version is v2. In CDK v1 ``LegacyStackSynthesizer`` is the default if no other synthesizer is specified. Default: - The synthesizer specified on ``App``, or ``DefaultStackSynthesizer`` otherwise.
21432
- :param tags: Stack tags that will be applied to all the taggable resources and the stack itself. Default: {}
22392
+ :param tags: Tags that will be applied to the Stack. These tags are applied to the CloudFormation Stack itself. They will not appear in the CloudFormation template. However, at deployment time, CloudFormation will apply these tags to all resources in the stack that support tagging. You will not be able to exempt resources from tagging (using the ``excludeResourceTypes`` property of ``Tags.of(...).add()``) for tags applied in this way. Default: {}
21433
22393
  :param termination_protection: Whether to enable termination protection for this stack. Default: false
21434
22394
  '''
21435
22395
  if __debug__:
@@ -21443,6 +22403,7 @@ class Stack(
21443
22403
  env=env,
21444
22404
  notification_arns=notification_arns,
21445
22405
  permissions_boundary=permissions_boundary,
22406
+ property_injectors=property_injectors,
21446
22407
  stack_name=stack_name,
21447
22408
  suppress_template_indentation=suppress_template_indentation,
21448
22409
  synthesizer=synthesizer,
@@ -21517,6 +22478,21 @@ class Stack(
21517
22478
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
21518
22479
  return typing.cast(None, jsii.invoke(self, "addMetadata", [key, value]))
21519
22480
 
22481
+ @jsii.member(jsii_name="addStackTag")
22482
+ def add_stack_tag(self, tag_name: builtins.str, tag_value: builtins.str) -> None:
22483
+ '''Configure a stack tag.
22484
+
22485
+ At deploy time, CloudFormation will automatically apply all stack tags to all resources in the stack.
22486
+
22487
+ :param tag_name: -
22488
+ :param tag_value: -
22489
+ '''
22490
+ if __debug__:
22491
+ type_hints = typing.get_type_hints(_typecheckingstub__c79ea9b0cd54830acfa2c93ac0786782e515591ac5cda10c42b42f8ff76457a0)
22492
+ check_type(argname="argument tag_name", value=tag_name, expected_type=type_hints["tag_name"])
22493
+ check_type(argname="argument tag_value", value=tag_value, expected_type=type_hints["tag_value"])
22494
+ return typing.cast(None, jsii.invoke(self, "addStackTag", [tag_name, tag_value]))
22495
+
21520
22496
  @jsii.member(jsii_name="addTransform")
21521
22497
  def add_transform(self, transform: builtins.str) -> None:
21522
22498
  '''Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
@@ -21788,6 +22764,19 @@ class Stack(
21788
22764
  check_type(argname="argument default_value", value=default_value, expected_type=type_hints["default_value"])
21789
22765
  return typing.cast(builtins.str, jsii.invoke(self, "regionalFact", [fact_name, default_value]))
21790
22766
 
22767
+ @jsii.member(jsii_name="removeStackTag")
22768
+ def remove_stack_tag(self, tag_name: builtins.str) -> None:
22769
+ '''Remove a stack tag.
22770
+
22771
+ At deploy time, CloudFormation will automatically apply all stack tags to all resources in the stack.
22772
+
22773
+ :param tag_name: -
22774
+ '''
22775
+ if __debug__:
22776
+ type_hints = typing.get_type_hints(_typecheckingstub__25f39c18a619c464f8e693cb5c5847cdf10f847438cac04672be8ba78d2b49d0)
22777
+ check_type(argname="argument tag_name", value=tag_name, expected_type=type_hints["tag_name"])
22778
+ return typing.cast(None, jsii.invoke(self, "removeStackTag", [tag_name]))
22779
+
21791
22780
  @jsii.member(jsii_name="renameLogicalId")
21792
22781
  def rename_logical_id(self, old_id: builtins.str, new_id: builtins.str) -> None:
21793
22782
  '''Rename a generated logical identities.
@@ -22103,6 +23092,7 @@ class Stack(
22103
23092
  "env": "env",
22104
23093
  "notification_arns": "notificationArns",
22105
23094
  "permissions_boundary": "permissionsBoundary",
23095
+ "property_injectors": "propertyInjectors",
22106
23096
  "stack_name": "stackName",
22107
23097
  "suppress_template_indentation": "suppressTemplateIndentation",
22108
23098
  "synthesizer": "synthesizer",
@@ -22120,6 +23110,7 @@ class StackProps:
22120
23110
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
22121
23111
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
22122
23112
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
23113
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
22123
23114
  stack_name: typing.Optional[builtins.str] = None,
22124
23115
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
22125
23116
  synthesizer: typing.Optional[IStackSynthesizer] = None,
@@ -22131,38 +23122,42 @@ class StackProps:
22131
23122
  :param cross_region_references: Enable this flag to allow native cross region stack references. Enabling this will create a CloudFormation custom resource in both the producing stack and consuming stack in order to perform the export/import This feature is currently experimental Default: false
22132
23123
  :param description: A description of the stack. Default: - No description.
22133
23124
  :param env: The AWS environment (account/region) where this stack will be deployed. Set the ``region``/``account`` fields of ``env`` to either a concrete value to select the indicated environment (recommended for production stacks), or to the values of environment variables ``CDK_DEFAULT_REGION``/``CDK_DEFAULT_ACCOUNT`` to let the target environment depend on the AWS credentials/configuration that the CDK CLI is executed under (recommended for development stacks). If the ``Stack`` is instantiated inside a ``Stage``, any undefined ``region``/``account`` fields from ``env`` will default to the same field on the encompassing ``Stage``, if configured there. If either ``region`` or ``account`` are not set nor inherited from ``Stage``, the Stack will be considered "*environment-agnostic*"". Environment-agnostic stacks can be deployed to any environment but may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups such as ``ec2.Vpc.fromLookup`` and will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Default: - The environment of the containing ``Stage`` if available, otherwise create the stack will be environment-agnostic.
22134
- :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notfication arns.
23125
+ :param notification_arns: SNS Topic ARNs that will receive stack events. Default: - no notification arns.
22135
23126
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Default: - no permissions boundary is applied
23127
+ :param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
22136
23128
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
22137
23129
  :param suppress_template_indentation: Enable this flag to suppress indentation in generated CloudFormation templates. If not specified, the value of the ``@aws-cdk/core:suppressTemplateIndentation`` context key will be used. If that is not specified, then the default value ``false`` will be used. Default: - the value of ``@aws-cdk/core:suppressTemplateIndentation``, or ``false`` if that is not set.
22138
23130
  :param synthesizer: Synthesis method to use while deploying this stack. The Stack Synthesizer controls aspects of synthesis and deployment, like how assets are referenced and what IAM roles to use. For more information, see the README of the main CDK package. If not specified, the ``defaultStackSynthesizer`` from ``App`` will be used. If that is not specified, ``DefaultStackSynthesizer`` is used if ``@aws-cdk/core:newStyleStackSynthesis`` is set to ``true`` or the CDK major version is v2. In CDK v1 ``LegacyStackSynthesizer`` is the default if no other synthesizer is specified. Default: - The synthesizer specified on ``App``, or ``DefaultStackSynthesizer`` otherwise.
22139
- :param tags: Stack tags that will be applied to all the taggable resources and the stack itself. Default: {}
23131
+ :param tags: Tags that will be applied to the Stack. These tags are applied to the CloudFormation Stack itself. They will not appear in the CloudFormation template. However, at deployment time, CloudFormation will apply these tags to all resources in the stack that support tagging. You will not be able to exempt resources from tagging (using the ``excludeResourceTypes`` property of ``Tags.of(...).add()``) for tags applied in this way. Default: {}
22140
23132
  :param termination_protection: Whether to enable termination protection for this stack. Default: false
22141
23133
 
22142
23134
  :exampleMetadata: infused
22143
23135
 
22144
23136
  Example::
22145
23137
 
22146
- import aws_cdk as cdk
22147
- import aws_cdk.aws_cloudwatch as cloudwatch
22148
-
22149
-
22150
- app = cdk.App()
22151
- stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
22152
-
22153
- global_table = dynamodb.TableV2(stack, "GlobalTable",
22154
- partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
22155
- replicas=[dynamodb.ReplicaTableProps(region="us-east-1"), dynamodb.ReplicaTableProps(region="us-east-2")
22156
- ]
23138
+ stack1 = Stack(app, "Stack1",
23139
+ env=Environment(
23140
+ region="us-east-1"
23141
+ ),
23142
+ cross_region_references=True
23143
+ )
23144
+ cert = acm.Certificate(stack1, "Cert",
23145
+ domain_name="*.example.com",
23146
+ validation=acm.CertificateValidation.from_dns(route53.PublicHostedZone.from_hosted_zone_id(stack1, "Zone", "Z0329774B51CGXTDQV3X"))
22157
23147
  )
22158
23148
 
22159
- # metric is only for the table in us-west-2
22160
- metric = global_table.metric_consumed_read_capacity_units()
22161
-
22162
- cloudwatch.Alarm(self, "Alarm",
22163
- metric=metric,
22164
- evaluation_periods=1,
22165
- threshold=1
23149
+ stack2 = Stack(app, "Stack2",
23150
+ env=Environment(
23151
+ region="us-east-2"
23152
+ ),
23153
+ cross_region_references=True
23154
+ )
23155
+ cloudfront.Distribution(stack2, "Distribution",
23156
+ default_behavior=cloudfront.BehaviorOptions(
23157
+ origin=origins.HttpOrigin("example.com")
23158
+ ),
23159
+ domain_names=["dev.example.com"],
23160
+ certificate=cert
22166
23161
  )
22167
23162
  '''
22168
23163
  if isinstance(env, dict):
@@ -22175,6 +23170,7 @@ class StackProps:
22175
23170
  check_type(argname="argument env", value=env, expected_type=type_hints["env"])
22176
23171
  check_type(argname="argument notification_arns", value=notification_arns, expected_type=type_hints["notification_arns"])
22177
23172
  check_type(argname="argument permissions_boundary", value=permissions_boundary, expected_type=type_hints["permissions_boundary"])
23173
+ check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
22178
23174
  check_type(argname="argument stack_name", value=stack_name, expected_type=type_hints["stack_name"])
22179
23175
  check_type(argname="argument suppress_template_indentation", value=suppress_template_indentation, expected_type=type_hints["suppress_template_indentation"])
22180
23176
  check_type(argname="argument synthesizer", value=synthesizer, expected_type=type_hints["synthesizer"])
@@ -22193,6 +23189,8 @@ class StackProps:
22193
23189
  self._values["notification_arns"] = notification_arns
22194
23190
  if permissions_boundary is not None:
22195
23191
  self._values["permissions_boundary"] = permissions_boundary
23192
+ if property_injectors is not None:
23193
+ self._values["property_injectors"] = property_injectors
22196
23194
  if stack_name is not None:
22197
23195
  self._values["stack_name"] = stack_name
22198
23196
  if suppress_template_indentation is not None:
@@ -22313,7 +23311,7 @@ class StackProps:
22313
23311
  def notification_arns(self) -> typing.Optional[typing.List[builtins.str]]:
22314
23312
  '''SNS Topic ARNs that will receive stack events.
22315
23313
 
22316
- :default: - no notfication arns.
23314
+ :default: - no notification arns.
22317
23315
  '''
22318
23316
  result = self._values.get("notification_arns")
22319
23317
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -22327,6 +23325,15 @@ class StackProps:
22327
23325
  result = self._values.get("permissions_boundary")
22328
23326
  return typing.cast(typing.Optional[PermissionsBoundary], result)
22329
23327
 
23328
+ @builtins.property
23329
+ def property_injectors(self) -> typing.Optional[typing.List[IPropertyInjector]]:
23330
+ '''A list of IPropertyInjector attached to this Stack.
23331
+
23332
+ :default: - no PropertyInjectors
23333
+ '''
23334
+ result = self._values.get("property_injectors")
23335
+ return typing.cast(typing.Optional[typing.List[IPropertyInjector]], result)
23336
+
22330
23337
  @builtins.property
22331
23338
  def stack_name(self) -> typing.Optional[builtins.str]:
22332
23339
  '''Name to deploy the stack with.
@@ -22370,7 +23377,15 @@ class StackProps:
22370
23377
 
22371
23378
  @builtins.property
22372
23379
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
22373
- '''Stack tags that will be applied to all the taggable resources and the stack itself.
23380
+ '''Tags that will be applied to the Stack.
23381
+
23382
+ These tags are applied to the CloudFormation Stack itself. They will not
23383
+ appear in the CloudFormation template.
23384
+
23385
+ However, at deployment time, CloudFormation will apply these tags to all
23386
+ resources in the stack that support tagging. You will not be able to exempt
23387
+ resources from tagging (using the ``excludeResourceTypes`` property of
23388
+ ``Tags.of(...).add()``) for tags applied in this way.
22374
23389
 
22375
23390
  :default: {}
22376
23391
  '''
@@ -22941,19 +23956,15 @@ class Stage(
22941
23956
 
22942
23957
  # pipeline: pipelines.CodePipeline
22943
23958
 
22944
- preprod = MyApplicationStage(self, "PreProd")
22945
- prod = MyApplicationStage(self, "Prod")
22946
-
22947
- pipeline.add_stage(preprod,
22948
- post=[
22949
- pipelines.ShellStep("Validate Endpoint",
22950
- commands=["curl -Ssf https://my.webservice.com/"]
22951
- )
22952
- ]
22953
- )
22954
- pipeline.add_stage(prod,
22955
- pre=[pipelines.ManualApprovalStep("PromoteToProd")]
22956
- )
23959
+ europe_wave = pipeline.add_wave("Europe")
23960
+ europe_wave.add_stage(
23961
+ MyApplicationStage(self, "Ireland",
23962
+ env=cdk.Environment(region="eu-west-1")
23963
+ ))
23964
+ europe_wave.add_stage(
23965
+ MyApplicationStage(self, "Germany",
23966
+ env=cdk.Environment(region="eu-central-1")
23967
+ ))
22957
23968
  '''
22958
23969
 
22959
23970
  def __init__(
@@ -22965,6 +23976,7 @@ class Stage(
22965
23976
  outdir: typing.Optional[builtins.str] = None,
22966
23977
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
22967
23978
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
23979
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
22968
23980
  stage_name: typing.Optional[builtins.str] = None,
22969
23981
  ) -> None:
22970
23982
  '''
@@ -22974,6 +23986,7 @@ class Stage(
22974
23986
  :param outdir: The output directory into which to emit synthesized artifacts. Can only be specified if this stage is the root stage (the app). If this is specified and this stage is nested within another stage, an error will be thrown. Default: - for nested stages, outdir will be determined as a relative directory to the outdir of the app. For apps, if outdir is not specified, a temporary directory will be created.
22975
23987
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Be aware that this feature uses Aspects, and the Aspects are applied at the Stack level with a priority of ``MUTATING`` (if the feature flag ``@aws-cdk/core:aspectPrioritiesMutating`` is set) or ``DEFAULT`` (if the flag is not set). This is relevant if you are both using your own Aspects to assign Permissions Boundaries, as well as specifying this property. The Aspect added by this property will overwrite the Permissions Boundary assigned by your own Aspect if both: (a) your Aspect has a lower or equal priority to the automatic Aspect, and (b) your Aspect is applied *above* the Stack level. If either of those conditions are not true, your own Aspect will win. We recommend assigning Permissions Boundaries only using the provided APIs, and not using custom Aspects. Default: - no permissions boundary is applied
22976
23988
  :param policy_validation_beta1: Validation plugins to run during synthesis. If any plugin reports any violation, synthesis will be interrupted and the report displayed to the user. Default: - no validation plugins are used
23989
+ :param property_injectors: A list of IPropertyInjector attached to this Stage. Default: - no PropertyInjectors
22977
23990
  :param stage_name: Name of this stage. Default: - Derived from the id.
22978
23991
  '''
22979
23992
  if __debug__:
@@ -22985,6 +23998,7 @@ class Stage(
22985
23998
  outdir=outdir,
22986
23999
  permissions_boundary=permissions_boundary,
22987
24000
  policy_validation_beta1=policy_validation_beta1,
24001
+ property_injectors=property_injectors,
22988
24002
  stage_name=stage_name,
22989
24003
  )
22990
24004
 
@@ -23121,6 +24135,7 @@ class Stage(
23121
24135
  "outdir": "outdir",
23122
24136
  "permissions_boundary": "permissionsBoundary",
23123
24137
  "policy_validation_beta1": "policyValidationBeta1",
24138
+ "property_injectors": "propertyInjectors",
23124
24139
  "stage_name": "stageName",
23125
24140
  },
23126
24141
  )
@@ -23132,6 +24147,7 @@ class StageProps:
23132
24147
  outdir: typing.Optional[builtins.str] = None,
23133
24148
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
23134
24149
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
24150
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
23135
24151
  stage_name: typing.Optional[builtins.str] = None,
23136
24152
  ) -> None:
23137
24153
  '''Initialization props for a stage.
@@ -23140,6 +24156,7 @@ class StageProps:
23140
24156
  :param outdir: The output directory into which to emit synthesized artifacts. Can only be specified if this stage is the root stage (the app). If this is specified and this stage is nested within another stage, an error will be thrown. Default: - for nested stages, outdir will be determined as a relative directory to the outdir of the app. For apps, if outdir is not specified, a temporary directory will be created.
23141
24157
  :param permissions_boundary: Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. Be aware that this feature uses Aspects, and the Aspects are applied at the Stack level with a priority of ``MUTATING`` (if the feature flag ``@aws-cdk/core:aspectPrioritiesMutating`` is set) or ``DEFAULT`` (if the flag is not set). This is relevant if you are both using your own Aspects to assign Permissions Boundaries, as well as specifying this property. The Aspect added by this property will overwrite the Permissions Boundary assigned by your own Aspect if both: (a) your Aspect has a lower or equal priority to the automatic Aspect, and (b) your Aspect is applied *above* the Stack level. If either of those conditions are not true, your own Aspect will win. We recommend assigning Permissions Boundaries only using the provided APIs, and not using custom Aspects. Default: - no permissions boundary is applied
23142
24158
  :param policy_validation_beta1: Validation plugins to run during synthesis. If any plugin reports any violation, synthesis will be interrupted and the report displayed to the user. Default: - no validation plugins are used
24159
+ :param property_injectors: A list of IPropertyInjector attached to this Stage. Default: - no PropertyInjectors
23143
24160
  :param stage_name: Name of this stage. Default: - Derived from the id.
23144
24161
 
23145
24162
  :exampleMetadata: infused
@@ -23171,6 +24188,7 @@ class StageProps:
23171
24188
  check_type(argname="argument outdir", value=outdir, expected_type=type_hints["outdir"])
23172
24189
  check_type(argname="argument permissions_boundary", value=permissions_boundary, expected_type=type_hints["permissions_boundary"])
23173
24190
  check_type(argname="argument policy_validation_beta1", value=policy_validation_beta1, expected_type=type_hints["policy_validation_beta1"])
24191
+ check_type(argname="argument property_injectors", value=property_injectors, expected_type=type_hints["property_injectors"])
23174
24192
  check_type(argname="argument stage_name", value=stage_name, expected_type=type_hints["stage_name"])
23175
24193
  self._values: typing.Dict[builtins.str, typing.Any] = {}
23176
24194
  if env is not None:
@@ -23181,6 +24199,8 @@ class StageProps:
23181
24199
  self._values["permissions_boundary"] = permissions_boundary
23182
24200
  if policy_validation_beta1 is not None:
23183
24201
  self._values["policy_validation_beta1"] = policy_validation_beta1
24202
+ if property_injectors is not None:
24203
+ self._values["property_injectors"] = property_injectors
23184
24204
  if stage_name is not None:
23185
24205
  self._values["stage_name"] = stage_name
23186
24206
 
@@ -23272,6 +24292,15 @@ class StageProps:
23272
24292
  result = self._values.get("policy_validation_beta1")
23273
24293
  return typing.cast(typing.Optional[typing.List[IPolicyValidationPluginBeta1]], result)
23274
24294
 
24295
+ @builtins.property
24296
+ def property_injectors(self) -> typing.Optional[typing.List[IPropertyInjector]]:
24297
+ '''A list of IPropertyInjector attached to this Stage.
24298
+
24299
+ :default: - no PropertyInjectors
24300
+ '''
24301
+ result = self._values.get("property_injectors")
24302
+ return typing.cast(typing.Optional[typing.List[IPropertyInjector]], result)
24303
+
23275
24304
  @builtins.property
23276
24305
  def stage_name(self) -> typing.Optional[builtins.str]:
23277
24306
  '''Name of this stage.
@@ -24275,7 +25304,26 @@ class Tags(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Tags"):
24275
25304
  include_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
24276
25305
  priority: typing.Optional[jsii.Number] = None,
24277
25306
  ) -> None:
24278
- '''add tags to the node of a construct and all its the taggable children.
25307
+ '''Add tags to the node of a construct and all its the taggable children.
25308
+
25309
+
25310
+
25311
+ Tagging and CloudFormation Stacks
25312
+
25313
+ If the feature flag ``@aws-cdk/core:explicitStackTags`` is set to ``true``
25314
+ (recommended modern behavior), Stacks will not automatically be tagged.
25315
+ Stack tags should be configured on Stacks directly (preferred), or
25316
+ you must explicitly include the resource type ``aws:cdk:stack`` in the
25317
+ ``includeResourceTypes`` array.
25318
+
25319
+ If the feature flag is set to ``false`` (legacy behavior) then both Stacks
25320
+ and resources in the indicated scope will both be tagged by default, which
25321
+ leads to tags being applied twice (once in the template, and then once
25322
+ again automatically by CloudFormation as part of the stack deployment).
25323
+ That behavior leads to loss of control as ``excludeResourceTypes`` will
25324
+ prevent tags from appearing in the template, but they will still be
25325
+ applied to the Stack and hence CloudFormation will still apply them
25326
+ to the resource.
24279
25327
 
24280
25328
  :param key: -
24281
25329
  :param value: -
@@ -24388,25 +25436,25 @@ class TimeZone(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.TimeZone"):
24388
25436
 
24389
25437
  Example::
24390
25438
 
24391
- # target: targets.LambdaInvoke
25439
+ from aws_cdk import TimeZone
25440
+ # resource: SomeScalableResource
24392
25441
 
24393
25442
 
24394
- rate_based_schedule = Schedule(self, "Schedule",
24395
- schedule=ScheduleExpression.rate(Duration.minutes(10)),
24396
- target=target,
24397
- description="This is a test rate-based schedule"
25443
+ capacity = resource.auto_scale_capacity(
25444
+ min_capacity=1,
25445
+ max_capacity=50
24398
25446
  )
24399
25447
 
24400
- cron_based_schedule = Schedule(self, "Schedule",
24401
- schedule=ScheduleExpression.cron(
24402
- minute="0",
24403
- hour="23",
24404
- day="20",
24405
- month="11",
24406
- time_zone=TimeZone.AMERICA_NEW_YORK
24407
- ),
24408
- target=target,
24409
- description="This is a test cron-based schedule that will run at 11:00 PM, on day 20 of the month, only in November in New York timezone"
25448
+ capacity.scale_on_schedule("PrescaleInTheMorning",
25449
+ schedule=appscaling.Schedule.cron(hour="8", minute="0"),
25450
+ min_capacity=20,
25451
+ time_zone=TimeZone.AMERICA_DENVER
25452
+ )
25453
+
25454
+ capacity.scale_on_schedule("AllowDownscalingAtNight",
25455
+ schedule=appscaling.Schedule.cron(hour="20", minute="0"),
25456
+ min_capacity=1,
25457
+ time_zone=TimeZone.AMERICA_DENVER
24410
25458
  )
24411
25459
  '''
24412
25460
 
@@ -28334,6 +29382,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
28334
29382
  outdir: typing.Optional[builtins.str] = None,
28335
29383
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
28336
29384
  post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
29385
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
28337
29386
  stack_traces: typing.Optional[builtins.bool] = None,
28338
29387
  tree_metadata: typing.Optional[builtins.bool] = None,
28339
29388
  ) -> None:
@@ -28346,6 +29395,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
28346
29395
  :param outdir: The output directory into which to emit synthesized artifacts. You should never need to set this value. By default, the value you pass to the CLI's ``--output`` flag will be used, and if you change it to a different directory the CLI will fail to pick up the generated Cloud Assembly. This property is intended for internal and testing use. Default: - If this value is *not* set, considers the environment variable ``CDK_OUTDIR``. If ``CDK_OUTDIR`` is not defined, uses a temp directory.
28347
29396
  :param policy_validation_beta1: Validation plugins to run after synthesis. Default: - no validation plugins
28348
29397
  :param post_cli_context: Additional context values for the application. Context provided here has precedence over context set by: - The CLI via --context - The ``context`` key in ``cdk.json`` - The ``AppProps.context`` property This property is recommended over the ``AppProps.context`` property since you can make final decision over which context value to take in your app. Context can be read from any construct using ``node.getContext(key)``. Default: - no additional context
29398
+ :param property_injectors: A list of IPropertyInjector attached to this App. Default: - no PropertyInjectors
28349
29399
  :param stack_traces: Include construct creation stack trace in the ``aws:cdk:trace`` metadata key of all constructs. Default: true stack traces are included unless ``aws:cdk:disable-stack-trace`` is set in the context.
28350
29400
  :param tree_metadata: Include construct tree metadata as part of the Cloud Assembly. Default: true
28351
29401
  '''
@@ -28357,6 +29407,7 @@ class App(Stage, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.App"):
28357
29407
  outdir=outdir,
28358
29408
  policy_validation_beta1=policy_validation_beta1,
28359
29409
  post_cli_context=post_cli_context,
29410
+ property_injectors=property_injectors,
28360
29411
  stack_traces=stack_traces,
28361
29412
  tree_metadata=tree_metadata,
28362
29413
  )
@@ -28771,7 +29822,7 @@ class CfnCodeDeployBlueGreenHook(
28771
29822
  jsii.set(self, "trafficRoutingConfig", value) # pyright: ignore[reportArgumentType]
28772
29823
 
28773
29824
 
28774
- @jsii.implements(IInspectable)
29825
+ @jsii.implements(IInspectable, _ICustomResourceRef_337851e1)
28775
29826
  class CfnCustomResource(
28776
29827
  CfnResource,
28777
29828
  metaclass=jsii.JSIIMeta,
@@ -28812,7 +29863,8 @@ class CfnCustomResource(
28812
29863
  service_token: builtins.str,
28813
29864
  service_timeout: typing.Optional[jsii.Number] = None,
28814
29865
  ) -> None:
28815
- '''
29866
+ '''Create a new ``AWS::CloudFormation::CustomResource``.
29867
+
28816
29868
  :param scope: Scope in which this resource is defined.
28817
29869
  :param id: Construct identifier for this resource (unique in its scope).
28818
29870
  :param service_token: The service token, such as an Amazon SNS topic ARN or Lambda function ARN. The service token must be from the same Region as the stack. Updates aren't supported.
@@ -28871,6 +29923,12 @@ class CfnCustomResource(
28871
29923
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
28872
29924
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
28873
29925
 
29926
+ @builtins.property
29927
+ @jsii.member(jsii_name="customResourceRef")
29928
+ def custom_resource_ref(self) -> _CustomResourceReference_d8e366c9:
29929
+ '''A reference to a CustomResource resource.'''
29930
+ return typing.cast(_CustomResourceReference_d8e366c9, jsii.get(self, "customResourceRef"))
29931
+
28874
29932
  @builtins.property
28875
29933
  @jsii.member(jsii_name="serviceToken")
28876
29934
  def service_token(self) -> builtins.str:
@@ -28928,7 +29986,7 @@ class CfnDynamicReference(
28928
29986
  jsii.create(self.__class__, self, [service, key])
28929
29987
 
28930
29988
 
28931
- @jsii.implements(IInspectable)
29989
+ @jsii.implements(IInspectable, _IGuardHookRef_e0640792)
28932
29990
  class CfnGuardHook(
28933
29991
  CfnResource,
28934
29992
  metaclass=jsii.JSIIMeta,
@@ -29017,7 +30075,8 @@ class CfnGuardHook(
29017
30075
  stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29018
30076
  target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29019
30077
  ) -> None:
29020
- '''
30078
+ '''Create a new ``AWS::CloudFormation::GuardHook``.
30079
+
29021
30080
  :param scope: Scope in which this resource is defined.
29022
30081
  :param id: Construct identifier for this resource (unique in its scope).
29023
30082
  :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Guard::MyTestHook`` .
@@ -29029,7 +30088,7 @@ class CfnGuardHook(
29029
30088
  :param log_bucket: Specifies the name of an S3 bucket to store the Guard output report. This report contains the results of your Guard rule validations.
29030
30089
  :param options: Specifies the S3 location of your input parameters.
29031
30090
  :param stack_filters: Specifies the stack level filters for the Hook. Example stack level filter in JSON: ``"StackFilters": {"FilteringCriteria": "ALL", "StackNames": {"Exclude": [ "stack-1", "stack-2"]}}`` Example stack level filter in YAML: ``StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2``
29032
- :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
30091
+ :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
29033
30092
  '''
29034
30093
  if __debug__:
29035
30094
  type_hints = typing.get_type_hints(_typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17)
@@ -29094,6 +30153,12 @@ class CfnGuardHook(
29094
30153
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
29095
30154
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
29096
30155
 
30156
+ @builtins.property
30157
+ @jsii.member(jsii_name="guardHookRef")
30158
+ def guard_hook_ref(self) -> _GuardHookReference_9ad20ca0:
30159
+ '''A reference to a GuardHook resource.'''
30160
+ return typing.cast(_GuardHookReference_9ad20ca0, jsii.get(self, "guardHookRef"))
30161
+
29097
30162
  @builtins.property
29098
30163
  @jsii.member(jsii_name="alias")
29099
30164
  def alias(self) -> builtins.str:
@@ -29415,7 +30480,7 @@ class CfnGuardHook(
29415
30480
  ) -> None:
29416
30481
  '''Specifies the S3 location where your Guard rules or input parameters are located.
29417
30482
 
29418
- :param uri: Specifies the S3 path to the file containing your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ). For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` . For input parameters, the object stored in S3 must have one of the following file extensions: ``.yaml`` , ``.json`` , ``.zip`` , or ``.tar.gz`` .
30483
+ :param uri: Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ). For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` . For input parameters, the object stored in S3 must have one of the following file extensions: ``.yaml`` , ``.json`` , ``.zip`` , or ``.tar.gz`` .
29419
30484
  :param version_id: For S3 buckets with versioning enabled, specifies the unique ID of the S3 object version to download your Guard rules or input parameters from. The Guard Hook downloads files from S3 every time the Hook is invoked. To prevent accidental changes or deletions, we recommend using a version when configuring your Guard Hook.
29420
30485
 
29421
30486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html
@@ -29446,7 +30511,7 @@ class CfnGuardHook(
29446
30511
 
29447
30512
  @builtins.property
29448
30513
  def uri(self) -> builtins.str:
29449
- '''Specifies the S3 path to the file containing your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ).
30514
+ '''Specifies the S3 path to the file that contains your Guard rules or input parameters (in the form ``s3://<bucket name>/<file name>`` ).
29450
30515
 
29451
30516
  For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` .
29452
30517
 
@@ -29860,7 +30925,7 @@ class CfnGuardHook(
29860
30925
  )
29861
30926
 
29862
30927
 
29863
- @jsii.implements(IInspectable)
30928
+ @jsii.implements(IInspectable, _IHookDefaultVersionRef_a4784949)
29864
30929
  class CfnHookDefaultVersion(
29865
30930
  CfnResource,
29866
30931
  metaclass=jsii.JSIIMeta,
@@ -29900,7 +30965,8 @@ class CfnHookDefaultVersion(
29900
30965
  type_version_arn: typing.Optional[builtins.str] = None,
29901
30966
  version_id: typing.Optional[builtins.str] = None,
29902
30967
  ) -> None:
29903
- '''
30968
+ '''Create a new ``AWS::CloudFormation::HookDefaultVersion``.
30969
+
29904
30970
  :param scope: Scope in which this resource is defined.
29905
30971
  :param id: Construct identifier for this resource (unique in its scope).
29906
30972
  :param type_name: The name of the Hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
@@ -29952,7 +31018,7 @@ class CfnHookDefaultVersion(
29952
31018
  @builtins.property
29953
31019
  @jsii.member(jsii_name="attrArn")
29954
31020
  def attr_arn(self) -> builtins.str:
29955
- '''The Amazon Resource Number (ARN) of the activated Hook, in this account and Region.
31021
+ '''The Amazon Resource Number (ARN) of the activated Hook in this account and Region.
29956
31022
 
29957
31023
  :cloudformationAttribute: Arn
29958
31024
  '''
@@ -29963,6 +31029,12 @@ class CfnHookDefaultVersion(
29963
31029
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
29964
31030
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
29965
31031
 
31032
+ @builtins.property
31033
+ @jsii.member(jsii_name="hookDefaultVersionRef")
31034
+ def hook_default_version_ref(self) -> _HookDefaultVersionReference_11df53e8:
31035
+ '''A reference to a HookDefaultVersion resource.'''
31036
+ return typing.cast(_HookDefaultVersionReference_11df53e8, jsii.get(self, "hookDefaultVersionRef"))
31037
+
29966
31038
  @builtins.property
29967
31039
  @jsii.member(jsii_name="typeName")
29968
31040
  def type_name(self) -> typing.Optional[builtins.str]:
@@ -30003,7 +31075,7 @@ class CfnHookDefaultVersion(
30003
31075
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
30004
31076
 
30005
31077
 
30006
- @jsii.implements(IInspectable)
31078
+ @jsii.implements(IInspectable, _IHookTypeConfigRef_7bc118dc)
30007
31079
  class CfnHookTypeConfig(
30008
31080
  CfnResource,
30009
31081
  metaclass=jsii.JSIIMeta,
@@ -30043,7 +31115,8 @@ class CfnHookTypeConfig(
30043
31115
  type_arn: typing.Optional[builtins.str] = None,
30044
31116
  type_name: typing.Optional[builtins.str] = None,
30045
31117
  ) -> None:
30046
- '''
31118
+ '''Create a new ``AWS::CloudFormation::HookTypeConfig``.
31119
+
30047
31120
  :param scope: Scope in which this resource is defined.
30048
31121
  :param id: Construct identifier for this resource (unique in its scope).
30049
31122
  :param configuration: Specifies the activated Hook type configuration, in this AWS account and AWS Region . You must specify either ``TypeName`` and ``Configuration`` or ``TypeArn`` and ``Configuration`` .
@@ -30097,7 +31170,7 @@ class CfnHookTypeConfig(
30097
31170
  @builtins.property
30098
31171
  @jsii.member(jsii_name="attrConfigurationArn")
30099
31172
  def attr_configuration_arn(self) -> builtins.str:
30100
- '''The Amazon Resource Number (ARN) of the activated Hook type configuration, in this account and Region.
31173
+ '''The Amazon Resource Number (ARN) of the activated Hook type configuration in this account and Region.
30101
31174
 
30102
31175
  :cloudformationAttribute: ConfigurationArn
30103
31176
  '''
@@ -30108,6 +31181,12 @@ class CfnHookTypeConfig(
30108
31181
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30109
31182
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30110
31183
 
31184
+ @builtins.property
31185
+ @jsii.member(jsii_name="hookTypeConfigRef")
31186
+ def hook_type_config_ref(self) -> _HookTypeConfigReference_ed91f4cb:
31187
+ '''A reference to a HookTypeConfig resource.'''
31188
+ return typing.cast(_HookTypeConfigReference_ed91f4cb, jsii.get(self, "hookTypeConfigRef"))
31189
+
30111
31190
  @builtins.property
30112
31191
  @jsii.member(jsii_name="configuration")
30113
31192
  def configuration(self) -> builtins.str:
@@ -30161,7 +31240,7 @@ class CfnHookTypeConfig(
30161
31240
  jsii.set(self, "typeName", value) # pyright: ignore[reportArgumentType]
30162
31241
 
30163
31242
 
30164
- @jsii.implements(IInspectable)
31243
+ @jsii.implements(IInspectable, _IHookVersionRef_0d71a867)
30165
31244
  class CfnHookVersion(
30166
31245
  CfnResource,
30167
31246
  metaclass=jsii.JSIIMeta,
@@ -30206,11 +31285,12 @@ class CfnHookVersion(
30206
31285
  execution_role_arn: typing.Optional[builtins.str] = None,
30207
31286
  logging_config: typing.Optional[typing.Union[IResolvable, typing.Union["CfnHookVersion.LoggingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30208
31287
  ) -> None:
30209
- '''
31288
+ '''Create a new ``AWS::CloudFormation::HookVersion``.
31289
+
30210
31290
  :param scope: Scope in which this resource is defined.
30211
31291
  :param id: Construct identifier for this resource (unique in its scope).
30212
- :param schema_handler_package: A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package, see `Modeling custom CloudFormation Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html>`_ in the *AWS CloudFormation Hooks User Guide* . .. epigraph:: To register the Hook, you must have ``s3:GetObject`` permissions to access the S3 objects.
30213
- :param type_name: The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
31292
+ :param schema_handler_package: A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register. For information on generating a schema handler package, see `Modeling custom CloudFormation Hooks <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-model.html>`_ in the *AWS CloudFormation Hooks User Guide* . .. epigraph:: To register the Hook, you must have ``s3:GetObject`` permissions to access the S3 objects.
31293
+ :param type_name: The unique name for your Hook. Specifies a three-part namespace for your Hook, with a recommended pattern of ``Organization::Service::Hook`` . .. epigraph:: The following organization namespaces are reserved and can't be used in your Hook type names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``ASK`` - ``AWS`` - ``Custom`` - ``Dev``
30214
31294
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
30215
31295
  :param logging_config: Contains logging configuration information for an extension.
30216
31296
  '''
@@ -30296,12 +31376,10 @@ class CfnHookVersion(
30296
31376
  @builtins.property
30297
31377
  @jsii.member(jsii_name="attrVisibility")
30298
31378
  def attr_visibility(self) -> builtins.str:
30299
- '''The scope at which the Hook is visible and usable in CloudFormation operations.
30300
-
30301
- Valid values include:
31379
+ '''The visibility level that determines who can see and use this Hook in CloudFormation operations:.
30302
31380
 
30303
- - ``PRIVATE`` : The extension (Hook) is only visible and usable within the account in which it's registered. CloudFormation marks any resources you register as ``PRIVATE`` .
30304
- - ``PUBLIC`` : The extension (Hook) is publicly visible and usable within any AWS account.
31381
+ - ``PRIVATE`` : The Hook is only visible and usable within the account where it was registered. CloudFormation automatically marks any Hooks you register as ``PRIVATE`` .
31382
+ - ``PUBLIC`` : The Hook is publicly visible and usable within any AWS account.
30305
31383
 
30306
31384
  :cloudformationAttribute: Visibility
30307
31385
  '''
@@ -30312,10 +31390,16 @@ class CfnHookVersion(
30312
31390
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30313
31391
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30314
31392
 
31393
+ @builtins.property
31394
+ @jsii.member(jsii_name="hookVersionRef")
31395
+ def hook_version_ref(self) -> _HookVersionReference_3688b53a:
31396
+ '''A reference to a HookVersion resource.'''
31397
+ return typing.cast(_HookVersionReference_3688b53a, jsii.get(self, "hookVersionRef"))
31398
+
30315
31399
  @builtins.property
30316
31400
  @jsii.member(jsii_name="schemaHandlerPackage")
30317
31401
  def schema_handler_package(self) -> builtins.str:
30318
- '''A URL to the Amazon S3 bucket containing the Hook project package that contains the necessary files for the Hook you want to register.'''
31402
+ '''A URL to the Amazon S3 bucket for the Hook project package that contains the necessary files for the Hook you want to register.'''
30319
31403
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
30320
31404
 
30321
31405
  @schema_handler_package.setter
@@ -30328,7 +31412,7 @@ class CfnHookVersion(
30328
31412
  @builtins.property
30329
31413
  @jsii.member(jsii_name="typeName")
30330
31414
  def type_name(self) -> builtins.str:
30331
- '''The unique name for your hook.'''
31415
+ '''The unique name for your Hook.'''
30332
31416
  return typing.cast(builtins.str, jsii.get(self, "typeName"))
30333
31417
 
30334
31418
  @type_name.setter
@@ -30534,7 +31618,7 @@ class CfnJson(
30534
31618
  return typing.cast(Reference, jsii.get(self, "value"))
30535
31619
 
30536
31620
 
30537
- @jsii.implements(IInspectable)
31621
+ @jsii.implements(IInspectable, _ILambdaHookRef_5ceec28e)
30538
31622
  class CfnLambdaHook(
30539
31623
  CfnResource,
30540
31624
  metaclass=jsii.JSIIMeta,
@@ -30607,7 +31691,8 @@ class CfnLambdaHook(
30607
31691
  stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30608
31692
  target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30609
31693
  ) -> None:
30610
- '''
31694
+ '''Create a new ``AWS::CloudFormation::LambdaHook``.
31695
+
30611
31696
  :param scope: Scope in which this resource is defined.
30612
31697
  :param id: Construct identifier for this resource (unique in its scope).
30613
31698
  :param alias: The type name alias for the Hook. This alias must be unique per account and Region. The alias must be in the form ``Name1::Name2::Name3`` and must not begin with ``AWS`` . For example, ``Private::Lambda::MyTestHook`` .
@@ -30617,7 +31702,7 @@ class CfnLambdaHook(
30617
31702
  :param lambda_function: Specifies the Lambda function for the Hook. You can use:. - The full Amazon Resource Name (ARN) without a suffix. - A qualified ARN with a version or alias suffix.
30618
31703
  :param target_operations: Specifies the list of operations the Hook is run against. For more information, see `Hook targets <https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hooks-concepts.html#hook-terms-hook-target>`_ in the *AWS CloudFormation Hooks User Guide* . Valid values: ``STACK`` | ``RESOURCE`` | ``CHANGE_SET`` | ``CLOUD_CONTROL``
30619
31704
  :param stack_filters: Specifies the stack level filters for the Hook. Example stack level filter in JSON: ``"StackFilters": {"FilteringCriteria": "ALL", "StackNames": {"Exclude": [ "stack-1", "stack-2"]}}`` Example stack level filter in YAML: ``StackFilters: FilteringCriteria: ALL StackNames: Exclude: - stack-1 - stack-2``
30620
- :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
31705
+ :param target_filters: Specifies the target filters for the Hook. Example target filter in JSON: ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}`` Example target filter in YAML: ``TargetFilters: Actions: - CREATE - UPDATE - DELETE``
30621
31706
  '''
30622
31707
  if __debug__:
30623
31708
  type_hints = typing.get_type_hints(_typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447)
@@ -30680,6 +31765,12 @@ class CfnLambdaHook(
30680
31765
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30681
31766
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30682
31767
 
31768
+ @builtins.property
31769
+ @jsii.member(jsii_name="lambdaHookRef")
31770
+ def lambda_hook_ref(self) -> _LambdaHookReference_1c262218:
31771
+ '''A reference to a LambdaHook resource.'''
31772
+ return typing.cast(_LambdaHookReference_1c262218, jsii.get(self, "lambdaHookRef"))
31773
+
30683
31774
  @builtins.property
30684
31775
  @jsii.member(jsii_name="alias")
30685
31776
  def alias(self) -> builtins.str:
@@ -31272,7 +32363,7 @@ class CfnLambdaHook(
31272
32363
  )
31273
32364
 
31274
32365
 
31275
- @jsii.implements(IInspectable)
32366
+ @jsii.implements(IInspectable, _IMacroRef_e9ae4afa)
31276
32367
  class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnMacro"):
31277
32368
  '''The ``AWS::CloudFormation::Macro`` resource is a CloudFormation resource type that creates a CloudFormation macro to perform custom processing on CloudFormation templates.
31278
32369
 
@@ -31310,7 +32401,8 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31310
32401
  log_group_name: typing.Optional[builtins.str] = None,
31311
32402
  log_role_arn: typing.Optional[builtins.str] = None,
31312
32403
  ) -> None:
31313
- '''
32404
+ '''Create a new ``AWS::CloudFormation::Macro``.
32405
+
31314
32406
  :param scope: Scope in which this resource is defined.
31315
32407
  :param id: Construct identifier for this resource (unique in its scope).
31316
32408
  :param function_name: The Amazon Resource Name (ARN) of the underlying Lambda function that you want CloudFormation to invoke when the macro is run.
@@ -31366,7 +32458,8 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31366
32458
  @builtins.property
31367
32459
  @jsii.member(jsii_name="attrId")
31368
32460
  def attr_id(self) -> builtins.str:
31369
- '''
32461
+ '''Returns a unique identifier for the resource.
32462
+
31370
32463
  :cloudformationAttribute: Id
31371
32464
  '''
31372
32465
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -31376,6 +32469,12 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31376
32469
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31377
32470
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31378
32471
 
32472
+ @builtins.property
32473
+ @jsii.member(jsii_name="macroRef")
32474
+ def macro_ref(self) -> _MacroReference_2603df14:
32475
+ '''A reference to a Macro resource.'''
32476
+ return typing.cast(_MacroReference_2603df14, jsii.get(self, "macroRef"))
32477
+
31379
32478
  @builtins.property
31380
32479
  @jsii.member(jsii_name="functionName")
31381
32480
  def function_name(self) -> builtins.str:
@@ -31534,7 +32633,7 @@ class CfnMapping(
31534
32633
  return typing.cast(None, jsii.invoke(self, "setValue", [key1, key2, value]))
31535
32634
 
31536
32635
 
31537
- @jsii.implements(IInspectable)
32636
+ @jsii.implements(IInspectable, _IModuleDefaultVersionRef_8f5f90c3)
31538
32637
  class CfnModuleDefaultVersion(
31539
32638
  CfnResource,
31540
32639
  metaclass=jsii.JSIIMeta,
@@ -31574,7 +32673,8 @@ class CfnModuleDefaultVersion(
31574
32673
  module_name: typing.Optional[builtins.str] = None,
31575
32674
  version_id: typing.Optional[builtins.str] = None,
31576
32675
  ) -> None:
31577
- '''
32676
+ '''Create a new ``AWS::CloudFormation::ModuleDefaultVersion``.
32677
+
31578
32678
  :param scope: Scope in which this resource is defined.
31579
32679
  :param id: Construct identifier for this resource (unique in its scope).
31580
32680
  :param arn: The Amazon Resource Name (ARN) of the module version to set as the default version. Conditional: You must specify either ``Arn`` , or ``ModuleName`` and ``VersionId`` .
@@ -31626,6 +32726,12 @@ class CfnModuleDefaultVersion(
31626
32726
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31627
32727
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31628
32728
 
32729
+ @builtins.property
32730
+ @jsii.member(jsii_name="moduleDefaultVersionRef")
32731
+ def module_default_version_ref(self) -> _ModuleDefaultVersionReference_6e4498de:
32732
+ '''A reference to a ModuleDefaultVersion resource.'''
32733
+ return typing.cast(_ModuleDefaultVersionReference_6e4498de, jsii.get(self, "moduleDefaultVersionRef"))
32734
+
31629
32735
  @builtins.property
31630
32736
  @jsii.member(jsii_name="arn")
31631
32737
  def arn(self) -> typing.Optional[builtins.str]:
@@ -31666,7 +32772,7 @@ class CfnModuleDefaultVersion(
31666
32772
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
31667
32773
 
31668
32774
 
31669
- @jsii.implements(IInspectable)
32775
+ @jsii.implements(IInspectable, _IModuleVersionRef_76485182)
31670
32776
  class CfnModuleVersion(
31671
32777
  CfnResource,
31672
32778
  metaclass=jsii.JSIIMeta,
@@ -31704,11 +32810,12 @@ class CfnModuleVersion(
31704
32810
  module_name: builtins.str,
31705
32811
  module_package: builtins.str,
31706
32812
  ) -> None:
31707
- '''
32813
+ '''Create a new ``AWS::CloudFormation::ModuleVersion``.
32814
+
31708
32815
  :param scope: Scope in which this resource is defined.
31709
32816
  :param id: Construct identifier for this resource (unique in its scope).
31710
32817
  :param module_name: The name of the module being registered.
31711
- :param module_package: A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register. For more information, see `Module structure and requirements <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the module version, you must have ``s3:GetObject`` permissions to access the S3 objects.
32818
+ :param module_package: A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register. For more information, see `Module structure and requirements <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules-structure.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the module version, you must have ``s3:GetObject`` permissions to access the S3 objects.
31712
32819
  '''
31713
32820
  if __debug__:
31714
32821
  type_hints = typing.get_type_hints(_typecheckingstub__3d780aabbd07e1197c5165344069ba0f46d2e4740d74a296d922fbcbf26044c2)
@@ -31818,12 +32925,10 @@ class CfnModuleVersion(
31818
32925
  @builtins.property
31819
32926
  @jsii.member(jsii_name="attrVisibility")
31820
32927
  def attr_visibility(self) -> builtins.str:
31821
- '''The scope at which the module is visible and usable in CloudFormation operations.
31822
-
31823
- Valid values include:
32928
+ '''The visibility level that determines who can see and use this module in CloudFormation operations:.
31824
32929
 
31825
- - ``PRIVATE`` : The extension (module) is only visible and usable within the account in which it is registered. CloudFormation marks any extensions you register as ``PRIVATE`` .
31826
- - ``PUBLIC`` : The extension (module) is publicly visible and usable within any AWS account.
32930
+ - ``PRIVATE`` : The module is only visible and usable within the account where it was registered. CloudFormation automatically marks any modules you register as ``PRIVATE`` .
32931
+ - ``PUBLIC`` : The module is publicly visible and usable within any AWS account.
31827
32932
 
31828
32933
  :cloudformationAttribute: Visibility
31829
32934
  '''
@@ -31834,6 +32939,12 @@ class CfnModuleVersion(
31834
32939
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31835
32940
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31836
32941
 
32942
+ @builtins.property
32943
+ @jsii.member(jsii_name="moduleVersionRef")
32944
+ def module_version_ref(self) -> _ModuleVersionReference_16e9080f:
32945
+ '''A reference to a ModuleVersion resource.'''
32946
+ return typing.cast(_ModuleVersionReference_16e9080f, jsii.get(self, "moduleVersionRef"))
32947
+
31837
32948
  @builtins.property
31838
32949
  @jsii.member(jsii_name="moduleName")
31839
32950
  def module_name(self) -> builtins.str:
@@ -31850,7 +32961,7 @@ class CfnModuleVersion(
31850
32961
  @builtins.property
31851
32962
  @jsii.member(jsii_name="modulePackage")
31852
32963
  def module_package(self) -> builtins.str:
31853
- '''A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register.'''
32964
+ '''A URL to the S3 bucket for the package that contains the template fragment and schema files for the module version to register.'''
31854
32965
  return typing.cast(builtins.str, jsii.get(self, "modulePackage"))
31855
32966
 
31856
32967
  @module_package.setter
@@ -31861,7 +32972,7 @@ class CfnModuleVersion(
31861
32972
  jsii.set(self, "modulePackage", value) # pyright: ignore[reportArgumentType]
31862
32973
 
31863
32974
 
31864
- @jsii.implements(IInspectable)
32975
+ @jsii.implements(IInspectable, _IPublicTypeVersionRef_554ddaba)
31865
32976
  class CfnPublicTypeVersion(
31866
32977
  CfnResource,
31867
32978
  metaclass=jsii.JSIIMeta,
@@ -31912,7 +33023,8 @@ class CfnPublicTypeVersion(
31912
33023
  type: typing.Optional[builtins.str] = None,
31913
33024
  type_name: typing.Optional[builtins.str] = None,
31914
33025
  ) -> None:
31915
- '''
33026
+ '''Create a new ``AWS::CloudFormation::PublicTypeVersion``.
33027
+
31916
33028
  :param scope: Scope in which this resource is defined.
31917
33029
  :param id: Construct identifier for this resource (unique in its scope).
31918
33030
  :param arn: The Amazon Resource Number (ARN) of the extension. Conditional: You must specify ``Arn`` , or ``TypeName`` and ``Type`` .
@@ -31999,6 +33111,12 @@ class CfnPublicTypeVersion(
31999
33111
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32000
33112
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32001
33113
 
33114
+ @builtins.property
33115
+ @jsii.member(jsii_name="publicTypeVersionRef")
33116
+ def public_type_version_ref(self) -> _PublicTypeVersionReference_da345091:
33117
+ '''A reference to a PublicTypeVersion resource.'''
33118
+ return typing.cast(_PublicTypeVersionReference_da345091, jsii.get(self, "publicTypeVersionRef"))
33119
+
32002
33120
  @builtins.property
32003
33121
  @jsii.member(jsii_name="arn")
32004
33122
  def arn(self) -> typing.Optional[builtins.str]:
@@ -32065,7 +33183,7 @@ class CfnPublicTypeVersion(
32065
33183
  jsii.set(self, "typeName", value) # pyright: ignore[reportArgumentType]
32066
33184
 
32067
33185
 
32068
- @jsii.implements(IInspectable)
33186
+ @jsii.implements(IInspectable, _IPublisherRef_43e14b13)
32069
33187
  class CfnPublisher(
32070
33188
  CfnResource,
32071
33189
  metaclass=jsii.JSIIMeta,
@@ -32103,7 +33221,8 @@ class CfnPublisher(
32103
33221
  accept_terms_and_conditions: typing.Union[builtins.bool, IResolvable],
32104
33222
  connection_arn: typing.Optional[builtins.str] = None,
32105
33223
  ) -> None:
32106
- '''
33224
+ '''Create a new ``AWS::CloudFormation::Publisher``.
33225
+
32107
33226
  :param scope: Scope in which this resource is defined.
32108
33227
  :param id: Construct identifier for this resource (unique in its scope).
32109
33228
  :param accept_terms_and_conditions: Whether you accept the `Terms and Conditions <https://docs.aws.amazon.com/https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf>`_ for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry. The default is ``false`` .
@@ -32193,6 +33312,12 @@ class CfnPublisher(
32193
33312
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32194
33313
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32195
33314
 
33315
+ @builtins.property
33316
+ @jsii.member(jsii_name="publisherRef")
33317
+ def publisher_ref(self) -> _PublisherReference_2058d21f:
33318
+ '''A reference to a Publisher resource.'''
33319
+ return typing.cast(_PublisherReference_2058d21f, jsii.get(self, "publisherRef"))
33320
+
32196
33321
  @builtins.property
32197
33322
  @jsii.member(jsii_name="acceptTermsAndConditions")
32198
33323
  def accept_terms_and_conditions(self) -> typing.Union[builtins.bool, IResolvable]:
@@ -32223,7 +33348,7 @@ class CfnPublisher(
32223
33348
  jsii.set(self, "connectionArn", value) # pyright: ignore[reportArgumentType]
32224
33349
 
32225
33350
 
32226
- @jsii.implements(IInspectable)
33351
+ @jsii.implements(IInspectable, _IResourceDefaultVersionRef_6bcf9f85)
32227
33352
  class CfnResourceDefaultVersion(
32228
33353
  CfnResource,
32229
33354
  metaclass=jsii.JSIIMeta,
@@ -32261,7 +33386,8 @@ class CfnResourceDefaultVersion(
32261
33386
  type_version_arn: typing.Optional[builtins.str] = None,
32262
33387
  version_id: typing.Optional[builtins.str] = None,
32263
33388
  ) -> None:
32264
- '''
33389
+ '''Create a new ``AWS::CloudFormation::ResourceDefaultVersion``.
33390
+
32265
33391
  :param scope: Scope in which this resource is defined.
32266
33392
  :param id: Construct identifier for this resource (unique in its scope).
32267
33393
  :param type_name: The name of the resource. Conditional: You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
@@ -32324,6 +33450,12 @@ class CfnResourceDefaultVersion(
32324
33450
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32325
33451
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32326
33452
 
33453
+ @builtins.property
33454
+ @jsii.member(jsii_name="resourceDefaultVersionRef")
33455
+ def resource_default_version_ref(self) -> _ResourceDefaultVersionReference_878c9c7f:
33456
+ '''A reference to a ResourceDefaultVersion resource.'''
33457
+ return typing.cast(_ResourceDefaultVersionReference_878c9c7f, jsii.get(self, "resourceDefaultVersionRef"))
33458
+
32327
33459
  @builtins.property
32328
33460
  @jsii.member(jsii_name="typeName")
32329
33461
  def type_name(self) -> typing.Optional[builtins.str]:
@@ -32364,7 +33496,7 @@ class CfnResourceDefaultVersion(
32364
33496
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
32365
33497
 
32366
33498
 
32367
- @jsii.implements(IInspectable)
33499
+ @jsii.implements(IInspectable, _IResourceVersionRef_8fc1bbae)
32368
33500
  class CfnResourceVersion(
32369
33501
  CfnResource,
32370
33502
  metaclass=jsii.JSIIMeta,
@@ -32415,10 +33547,11 @@ class CfnResourceVersion(
32415
33547
  execution_role_arn: typing.Optional[builtins.str] = None,
32416
33548
  logging_config: typing.Optional[typing.Union[IResolvable, typing.Union["CfnResourceVersion.LoggingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32417
33549
  ) -> None:
32418
- '''
33550
+ '''Create a new ``AWS::CloudFormation::ResourceVersion``.
33551
+
32419
33552
  :param scope: Scope in which this resource is defined.
32420
33553
  :param id: Construct identifier for this resource (unique in its scope).
32421
- :param schema_handler_package: A URL to the S3 bucket containing the resource project package that contains the necessary files for the resource you want to register. For information on generating a schema handler package, see `Modeling resource types to use with AWS CloudFormation <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the resource version, you must have ``s3:GetObject`` permissions to access the S3 objects.
33554
+ :param schema_handler_package: A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register. For information on generating a schema handler package, see `Modeling resource types to use with AWS CloudFormation <https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html>`_ in the *AWS CloudFormation Command Line Interface (CLI) User Guide* . .. epigraph:: To register the resource version, you must have ``s3:GetObject`` permissions to access the S3 objects.
32422
33555
  :param type_name: The name of the resource being registered. We recommend that resource names adhere to the following pattern: *company_or_organization* :: *service* :: *type* . .. epigraph:: The following organization namespaces are reserved and can't be used in your resource names: - ``Alexa`` - ``AMZN`` - ``Amazon`` - ``AWS`` - ``Custom`` - ``Dev``
32423
33556
  :param execution_role_arn: The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource. If your resource calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
32424
33557
  :param logging_config: Logging configuration information for a resource.
@@ -32493,7 +33626,7 @@ class CfnResourceVersion(
32493
33626
 
32494
33627
  CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.
32495
33628
 
32496
- Valid values include:
33629
+ Possible values:
32497
33630
 
32498
33631
  - ``FULLY_MUTABLE`` : The resource type includes an update handler to process updates to the type during stack update operations.
32499
33632
  - ``IMMUTABLE`` : The resource type doesn't include an update handler, so the type can't be updated and must instead be replaced during stack update operations.
@@ -32529,12 +33662,10 @@ class CfnResourceVersion(
32529
33662
  @builtins.property
32530
33663
  @jsii.member(jsii_name="attrVisibility")
32531
33664
  def attr_visibility(self) -> builtins.str:
32532
- '''The scope at which the resource is visible and usable in CloudFormation operations.
33665
+ '''The visibility level that determines who can see and use this resource in CloudFormation operations:.
32533
33666
 
32534
- Valid values include:
32535
-
32536
- - ``PRIVATE`` : The extension (resource) is only visible and usable within the account in which it is registered. CloudFormation marks any extensions you register as ``PRIVATE`` .
32537
- - ``PUBLIC`` : The extension (resource) is publicly visible and usable within any AWS account.
33667
+ - ``PRIVATE`` : The resource is only visible and usable within the account where it was registered. CloudFormation automatically marks any resources you register as ``PRIVATE`` .
33668
+ - ``PUBLIC`` : The resource is publicly visible and usable within any AWS account.
32538
33669
 
32539
33670
  :cloudformationAttribute: Visibility
32540
33671
  '''
@@ -32545,10 +33676,16 @@ class CfnResourceVersion(
32545
33676
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32546
33677
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32547
33678
 
33679
+ @builtins.property
33680
+ @jsii.member(jsii_name="resourceVersionRef")
33681
+ def resource_version_ref(self) -> _ResourceVersionReference_a8ae93f7:
33682
+ '''A reference to a ResourceVersion resource.'''
33683
+ return typing.cast(_ResourceVersionReference_a8ae93f7, jsii.get(self, "resourceVersionRef"))
33684
+
32548
33685
  @builtins.property
32549
33686
  @jsii.member(jsii_name="schemaHandlerPackage")
32550
33687
  def schema_handler_package(self) -> builtins.str:
32551
- '''A URL to the S3 bucket containing the resource project package that contains the necessary files for the resource you want to register.'''
33688
+ '''A URL to the S3 bucket for the resource project package that contains the necessary files for the resource you want to register.'''
32552
33689
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
32553
33690
 
32554
33691
  @schema_handler_package.setter
@@ -32673,19 +33810,19 @@ class CfnResourceVersion(
32673
33810
  )
32674
33811
 
32675
33812
 
32676
- @jsii.implements(IInspectable, ITaggable)
33813
+ @jsii.implements(IInspectable, _IStackRef_f0f1d363, ITaggable)
32677
33814
  class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnStack"):
32678
33815
  '''The ``AWS::CloudFormation::Stack`` resource nests a stack as a resource in a top-level template.
32679
33816
 
32680
- For more information, see `Embed stacks within other stacks using nested stacks <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html>`_ in the *AWS CloudFormation User Guide* .
33817
+ For more information, see `Nested stacks <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html>`_ in the *AWS CloudFormation User Guide* .
32681
33818
 
32682
- You can add output values from a nested stack within the containing template. You use the `GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html>`_ function with the nested stack's logical name and the name of the output value in the nested stack in the format ``Outputs. *NestedStackOutputName*`` .
33819
+ You can add output values from a nested stack within the containing template. You use the `GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html>`_ function with the nested stack's logical name and the name of the output value in the nested stack in the format ``Outputs. *NestedStackOutputName*`` .
32683
33820
 
32684
33821
  We strongly recommend that updates to nested stacks are run from the parent stack.
32685
33822
 
32686
33823
  When you apply template changes to update a top-level stack, CloudFormation updates the top-level stack and initiates an update to its nested stacks. CloudFormation updates the resources of modified nested stacks, but doesn't update the resources of unmodified nested stacks.
32687
33824
 
32688
- You must acknowledge IAM capabilities for nested stacks that contain IAM resources. Also, verify that you have cancel update stack permissions, which is required if an update rolls back. For more information about IAM and CloudFormation , see `Controlling access with AWS Identity and Access Management <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html>`_ in the *AWS CloudFormation User Guide* .
33825
+ For stacks that contain IAM resources, you must acknowledge IAM capabilities. Also, make sure that you have cancel update stack permissions, which are required if an update rolls back. For more information about IAM and CloudFormation , see `Controlling access with AWS Identity and Access Management <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html>`_ in the *AWS CloudFormation User Guide* .
32689
33826
  .. epigraph::
32690
33827
 
32691
33828
  A subset of ``AWS::CloudFormation::Stack`` resource type properties listed below are available to customers using CloudFormation , AWS CDK , and Cloud Control to configure.
@@ -32757,13 +33894,14 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32757
33894
  template_url: typing.Optional[builtins.str] = None,
32758
33895
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
32759
33896
  ) -> None:
32760
- '''
33897
+ '''Create a new ``AWS::CloudFormation::Stack``.
33898
+
32761
33899
  :param scope: Scope in which this resource is defined.
32762
33900
  :param id: Construct identifier for this resource (unique in its scope).
32763
33901
  :param notification_arns: The Amazon SNS topic ARNs to publish stack related events. You can find your Amazon SNS topic ARNs using the Amazon SNS console or your Command Line Interface (CLI).
32764
33902
  :param parameters: The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created. Each parameter has a name corresponding to a parameter defined in the embedded template and a value representing the value that you want to set for the parameter. .. epigraph:: If you use the ``Ref`` function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type ``String`` . In other words, you can't pass values that are of type ``CommaDelimitedList`` to nested stacks. Required if the nested stack requires input parameters. Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
32765
33903
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.
32766
- :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
33904
+ :param template_url: The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket. The location for an Amazon S3 bucket must start with ``https://`` . Whether an update causes interruptions depends on the resources that are being updated. An update never causes a nested stack to be replaced.
32767
33905
  :param timeout_in_minutes: The length of time, in minutes, that CloudFormation waits for the nested stack to reach the ``CREATE_COMPLETE`` state. The default is no timeout. When CloudFormation detects that the nested stack has reached the ``CREATE_COMPLETE`` state, it marks the nested stack resource as ``CREATE_COMPLETE`` in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches ``CREATE_COMPLETE`` , CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack. Updates aren't supported.
32768
33906
  '''
32769
33907
  if __debug__:
@@ -32813,7 +33951,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32813
33951
  @builtins.property
32814
33952
  @jsii.member(jsii_name="attrChangeSetId")
32815
33953
  def attr_change_set_id(self) -> builtins.str:
32816
- '''Returns the unique ID of the change set.
33954
+ '''Returns the unique identifier of the change set.
32817
33955
 
32818
33956
  :cloudformationAttribute: ChangeSetId
32819
33957
  '''
@@ -32822,7 +33960,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32822
33960
  @builtins.property
32823
33961
  @jsii.member(jsii_name="attrCreationTime")
32824
33962
  def attr_creation_time(self) -> builtins.str:
32825
- '''Returns The time at which the stack was created.
33963
+ '''Returns the time the stack was created.
32826
33964
 
32827
33965
  :cloudformationAttribute: CreationTime
32828
33966
  '''
@@ -32851,7 +33989,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32851
33989
  @builtins.property
32852
33990
  @jsii.member(jsii_name="attrParentId")
32853
33991
  def attr_parent_id(self) -> builtins.str:
32854
- '''For nested stacks--stacks created as resources for another stack--returns the stack ID of the direct parent of this stack.
33992
+ '''For nested stacks, returns the stack ID of the direct parent of this stack.
32855
33993
 
32856
33994
  For the first level of nested stacks, the root stack is also the parent stack.
32857
33995
 
@@ -32862,7 +34000,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32862
34000
  @builtins.property
32863
34001
  @jsii.member(jsii_name="attrRootId")
32864
34002
  def attr_root_id(self) -> builtins.str:
32865
- '''For nested stacks--stacks created as resources for another stack--returns the stack ID of the top-level stack to which the nested stack ultimately belongs.
34003
+ '''For nested stacks, returns the stack ID of the top-level stack to which the nested stack ultimately belongs.
32866
34004
 
32867
34005
  :cloudformationAttribute: RootId
32868
34006
  '''
@@ -32891,6 +34029,12 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32891
34029
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32892
34030
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32893
34031
 
34032
+ @builtins.property
34033
+ @jsii.member(jsii_name="stackRef")
34034
+ def stack_ref(self) -> _StackReference_15f8b984:
34035
+ '''A reference to a Stack resource.'''
34036
+ return typing.cast(_StackReference_15f8b984, jsii.get(self, "stackRef"))
34037
+
32894
34038
  @builtins.property
32895
34039
  @jsii.member(jsii_name="tags")
32896
34040
  def tags(self) -> TagManager:
@@ -32947,7 +34091,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
32947
34091
  @builtins.property
32948
34092
  @jsii.member(jsii_name="templateUrl")
32949
34093
  def template_url(self) -> typing.Optional[builtins.str]:
32950
- '''The URL of a file containing the template body.'''
34094
+ '''The URL of a file that contains the template body.'''
32951
34095
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "templateUrl"))
32952
34096
 
32953
34097
  @template_url.setter
@@ -33076,15 +34220,15 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33076
34220
  )
33077
34221
 
33078
34222
 
33079
- @jsii.implements(IInspectable, ITaggable)
34223
+ @jsii.implements(IInspectable, _IStackSetRef_3a202137, ITaggable)
33080
34224
  class CfnStackSet(
33081
34225
  CfnResource,
33082
34226
  metaclass=jsii.JSIIMeta,
33083
34227
  jsii_type="aws-cdk-lib.CfnStackSet",
33084
34228
  ):
33085
- '''The ``AWS::CloudFormation::StackSet`` resource enables you to provision stacks into AWS accounts and across Regions by using a single CloudFormation template.
34229
+ '''The ``AWS::CloudFormation::StackSet`` resource contains information about a StackSet.
33086
34230
 
33087
- In the stack set, you specify the template to use, in addition to any parameters and capabilities that the template requires.
34231
+ With StackSets, you can provision stacks across AWS accounts and Regions from a single CloudFormation template. Each stack is based on the same CloudFormation template, but you can customize individual stacks using parameters.
33088
34232
  .. epigraph::
33089
34233
 
33090
34234
  Run deployments to nested StackSets from the parent stack, not directly through the StackSet API.
@@ -33174,24 +34318,25 @@ class CfnStackSet(
33174
34318
  template_body: typing.Optional[builtins.str] = None,
33175
34319
  template_url: typing.Optional[builtins.str] = None,
33176
34320
  ) -> None:
33177
- '''
34321
+ '''Create a new ``AWS::CloudFormation::StackSet``.
34322
+
33178
34323
  :param scope: Scope in which this resource is defined.
33179
34324
  :param id: Construct identifier for this resource (unique in its scope).
33180
- :param permission_model: Describes how the IAM roles required for stack set operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for stack sets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
33181
- :param stack_set_name: The name to associate with the stack set. The name must be unique in the Region where you create your stack set.
33182
- :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this stack set. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
33183
- :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Manage automatic deployments for CloudFormation StackSets that use service-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
33184
- :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for stack sets with self-managed permissions. - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a stack set with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
33185
- :param capabilities: The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
33186
- :param description: A description of the stack set.
33187
- :param execution_role_name: The name of the IAM execution role to use to create the stack set. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the stack set operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
33188
- :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your stack set's execution configuration while there are running or queued operations for that stack set. When inactive (default), StackSets performs one operation at a time in request order.
33189
- :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
33190
- :param parameters: The input parameters for the stack set template.
34325
+ :param permission_model: Describes how the IAM roles required for StackSet operations are created. - With ``SELF_MANAGED`` permissions, you must create the administrator and execution roles required to deploy to target accounts. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . - With ``SERVICE_MANAGED`` permissions, StackSets automatically creates the IAM roles required to deploy to accounts managed by AWS Organizations . For more information, see `Activate trusted access for StackSets with AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html>`_ in the *AWS CloudFormation User Guide* .
34326
+ :param stack_set_name: The name to associate with the StackSet. The name must be unique in the Region where you create your StackSet.
34327
+ :param administration_role_arn: The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet. Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. Use customized administrator roles to control which users or groups can manage specific StackSets within the same administrator account. For more information, see `Grant self-managed permissions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html>`_ in the *AWS CloudFormation User Guide* . Valid only if the permissions model is ``SELF_MANAGED`` .
34328
+ :param auto_deployment: Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU). For more information, see `Enable or disable automatic deployments for StackSets in AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* . Required if the permissions model is ``SERVICE_MANAGED`` . (Not used with self-managed permissions.)
34329
+ :param call_as: Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account. By default, ``SELF`` is specified. Use ``SELF`` for StackSets with self-managed permissions. - To create a StackSet with service-managed permissions while signed in to the management account, specify ``SELF`` . - To create a StackSet with service-managed permissions while signed in to a delegated administrator account, specify ``DELEGATED_ADMIN`` . Your AWS account must be registered as a delegated admin in the management account. For more information, see `Register a delegated administrator <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html>`_ in the *AWS CloudFormation User Guide* . StackSets with service-managed permissions are created in the management account, including StackSets that are created by delegated administrators. Valid only if the permissions model is ``SERVICE_MANAGED`` .
34330
+ :param capabilities: The capabilities that are allowed in the StackSet. Some StackSet templates might include resources that can affect permissions in your AWS account —for example, by creating new IAM users. For more information, see `Acknowledging IAM resources in CloudFormation templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities>`_ in the *AWS CloudFormation User Guide* .
34331
+ :param description: A description of the StackSet.
34332
+ :param execution_role_name: The name of the IAM execution role to use to create the StackSet. If you don't specify an execution role, CloudFormation uses the ``AWSCloudFormationStackSetExecutionRole`` role for the StackSet operation. Valid only if the permissions model is ``SELF_MANAGED`` . *Pattern* : ``[a-zA-Z_0-9+=,.@-]+``
34333
+ :param managed_execution: Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. When active, StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. When inactive (default), StackSets performs one operation at a time in request order.
34334
+ :param operation_preferences: The user-specified preferences for how CloudFormation performs a StackSet operation.
34335
+ :param parameters: The input parameters for the StackSet template.
33191
34336
  :param stack_instances_group: A group of stack instances with parameters in some specific accounts and Regions.
33192
34337
  :param tags: Key-value pairs to associate with this stack. CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags. If you don't specify this parameter, CloudFormation doesn't modify the stack's tags. If you specify an empty value, CloudFormation removes all associated tags.
33193
- :param template_body: The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates containing dynamic references through ``TemplateUrl`` instead.
33194
- :param template_url: The URL of a file containing the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://`` . Conditional: You must specify only one of the following parameters: ``TemplateBody`` , ``TemplateURL`` .
34338
+ :param template_body: The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. You must include either ``TemplateURL`` or ``TemplateBody`` in a StackSet, but you can't use both. Dynamic references in the ``TemplateBody`` may not work correctly in all cases. It's recommended to pass templates that contain dynamic references through ``TemplateUrl`` instead.
34339
+ :param template_url: The URL of a file that contains the template body. The URL must point to a template (max size: 1 MB) that's located in an Amazon S3 bucket or a Systems Manager document. The location for an Amazon S3 bucket must start with ``https://`` . Conditional: You must specify only one of the following parameters: ``TemplateBody`` , ``TemplateURL`` .
33195
34340
  '''
33196
34341
  if __debug__:
33197
34342
  type_hints = typing.get_type_hints(_typecheckingstub__18f5cbcbd69d140eff69172745aeef070057c3c18635b8197f16a411bf031298)
@@ -33250,7 +34395,7 @@ class CfnStackSet(
33250
34395
  @builtins.property
33251
34396
  @jsii.member(jsii_name="attrStackSetId")
33252
34397
  def attr_stack_set_id(self) -> builtins.str:
33253
- '''The ID of the stack that you're creating.
34398
+ '''Returns the unique identifier of the resource.
33254
34399
 
33255
34400
  :cloudformationAttribute: StackSetId
33256
34401
  '''
@@ -33261,6 +34406,12 @@ class CfnStackSet(
33261
34406
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
33262
34407
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
33263
34408
 
34409
+ @builtins.property
34410
+ @jsii.member(jsii_name="stackSetRef")
34411
+ def stack_set_ref(self) -> _StackSetReference_c5c1f82d:
34412
+ '''A reference to a StackSet resource.'''
34413
+ return typing.cast(_StackSetReference_c5c1f82d, jsii.get(self, "stackSetRef"))
34414
+
33264
34415
  @builtins.property
33265
34416
  @jsii.member(jsii_name="tags")
33266
34417
  def tags(self) -> TagManager:
@@ -33270,7 +34421,7 @@ class CfnStackSet(
33270
34421
  @builtins.property
33271
34422
  @jsii.member(jsii_name="permissionModel")
33272
34423
  def permission_model(self) -> builtins.str:
33273
- '''Describes how the IAM roles required for stack set operations are created.'''
34424
+ '''Describes how the IAM roles required for StackSet operations are created.'''
33274
34425
  return typing.cast(builtins.str, jsii.get(self, "permissionModel"))
33275
34426
 
33276
34427
  @permission_model.setter
@@ -33283,7 +34434,7 @@ class CfnStackSet(
33283
34434
  @builtins.property
33284
34435
  @jsii.member(jsii_name="stackSetName")
33285
34436
  def stack_set_name(self) -> builtins.str:
33286
- '''The name to associate with the stack set.'''
34437
+ '''The name to associate with the StackSet.'''
33287
34438
  return typing.cast(builtins.str, jsii.get(self, "stackSetName"))
33288
34439
 
33289
34440
  @stack_set_name.setter
@@ -33296,7 +34447,7 @@ class CfnStackSet(
33296
34447
  @builtins.property
33297
34448
  @jsii.member(jsii_name="administrationRoleArn")
33298
34449
  def administration_role_arn(self) -> typing.Optional[builtins.str]:
33299
- '''The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.'''
34450
+ '''The Amazon Resource Number (ARN) of the IAM role to use to create this StackSet.'''
33300
34451
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "administrationRoleArn"))
33301
34452
 
33302
34453
  @administration_role_arn.setter
@@ -33340,7 +34491,7 @@ class CfnStackSet(
33340
34491
  @builtins.property
33341
34492
  @jsii.member(jsii_name="capabilities")
33342
34493
  def capabilities(self) -> typing.Optional[typing.List[builtins.str]]:
33343
- '''The capabilities that are allowed in the stack set.'''
34494
+ '''The capabilities that are allowed in the StackSet.'''
33344
34495
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "capabilities"))
33345
34496
 
33346
34497
  @capabilities.setter
@@ -33353,7 +34504,7 @@ class CfnStackSet(
33353
34504
  @builtins.property
33354
34505
  @jsii.member(jsii_name="description")
33355
34506
  def description(self) -> typing.Optional[builtins.str]:
33356
- '''A description of the stack set.'''
34507
+ '''A description of the StackSet.'''
33357
34508
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
33358
34509
 
33359
34510
  @description.setter
@@ -33366,7 +34517,7 @@ class CfnStackSet(
33366
34517
  @builtins.property
33367
34518
  @jsii.member(jsii_name="executionRoleName")
33368
34519
  def execution_role_name(self) -> typing.Optional[builtins.str]:
33369
- '''The name of the IAM execution role to use to create the stack set.'''
34520
+ '''The name of the IAM execution role to use to create the StackSet.'''
33370
34521
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "executionRoleName"))
33371
34522
 
33372
34523
  @execution_role_name.setter
@@ -33394,7 +34545,7 @@ class CfnStackSet(
33394
34545
  def operation_preferences(
33395
34546
  self,
33396
34547
  ) -> typing.Optional[typing.Union[IResolvable, "CfnStackSet.OperationPreferencesProperty"]]:
33397
- '''The user-specified preferences for how CloudFormation performs a stack set operation.'''
34548
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.'''
33398
34549
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnStackSet.OperationPreferencesProperty"]], jsii.get(self, "operationPreferences"))
33399
34550
 
33400
34551
  @operation_preferences.setter
@@ -33412,7 +34563,7 @@ class CfnStackSet(
33412
34563
  def parameters(
33413
34564
  self,
33414
34565
  ) -> typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]]:
33415
- '''The input parameters for the stack set template.'''
34566
+ '''The input parameters for the StackSet template.'''
33416
34567
  return typing.cast(typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]], jsii.get(self, "parameters"))
33417
34568
 
33418
34569
  @parameters.setter
@@ -33472,7 +34623,7 @@ class CfnStackSet(
33472
34623
  @builtins.property
33473
34624
  @jsii.member(jsii_name="templateUrl")
33474
34625
  def template_url(self) -> typing.Optional[builtins.str]:
33475
- '''The URL of a file containing the template body.'''
34626
+ '''The URL of a file that contains the template body.'''
33476
34627
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "templateUrl"))
33477
34628
 
33478
34629
  @template_url.setter
@@ -33497,7 +34648,9 @@ class CfnStackSet(
33497
34648
  enabled: typing.Optional[typing.Union[builtins.bool, IResolvable]] = None,
33498
34649
  retain_stacks_on_account_removal: typing.Optional[typing.Union[builtins.bool, IResolvable]] = None,
33499
34650
  ) -> None:
33500
- '''[ ``Service-managed`` permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).
34651
+ '''Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).
34652
+
34653
+ For more information, see `Enable or disable automatic deployments for StackSets in AWS Organizations <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-manage-auto-deployment.html>`_ in the *AWS CloudFormation User Guide* .
33501
34654
 
33502
34655
  :param enabled: If set to ``true`` , StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.
33503
34656
  :param retain_stacks_on_account_removal: If set to ``true`` , stack resources are retained when an account is removed from a target organization or OU. If set to ``false`` , stack resources are deleted. Specify only if ``Enabled`` is set to ``True`` .
@@ -33580,11 +34733,20 @@ class CfnStackSet(
33580
34733
  accounts_url: typing.Optional[builtins.str] = None,
33581
34734
  organizational_unit_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33582
34735
  ) -> None:
33583
- '''The AWS OrganizationalUnitIds or Accounts for which to create stack instances in the specified Regions.
34736
+ '''The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.
34737
+
34738
+ When deploying to AWS Organizations accounts with ``SERVICE_MANAGED`` permissions:
34739
+
34740
+ - You must specify the ``OrganizationalUnitIds`` property.
34741
+ - If you specify organizational units (OUs) for ``OrganizationalUnitIds`` and use either the ``Accounts`` or ``AccountsUrl`` property, you must also specify the ``AccountFilterType`` property.
34742
+
34743
+ When deploying to AWS accounts with ``SELF_MANAGED`` permissions:
34744
+
34745
+ - You must specify either the ``Accounts`` or ``AccountsUrl`` property, but not both.
33584
34746
 
33585
- :param account_filter_type: Limit deployment targets to individual accounts or include additional accounts with provided OUs. The following is a list of possible values for the ``AccountFilterType`` operation. - ``INTERSECTION`` : StackSet deploys to the accounts specified in the ``Accounts`` parameter. - ``DIFFERENCE`` : StackSet deploys to the OU, excluding the accounts specified in the ``Accounts`` parameter. - ``UNION`` StackSet deploys to the OU, and the accounts specified in the ``Accounts`` parameter. ``UNION`` is not supported for create operations when using StackSet as a resource.
34747
+ :param account_filter_type: Refines which accounts to deploy stacks to by specifying how to use the ``Accounts`` and ``OrganizationalUnitIds`` properties together. The following values determine how CloudFormation selects target accounts: - ``INTERSECTION`` : StackSet deploys to the accounts specified in the ``Accounts`` property. - ``DIFFERENCE`` : StackSet deploys to the OU, excluding the accounts specified in the ``Accounts`` property. - ``UNION`` : StackSet deploys to the OU, and the accounts specified in the ``Accounts`` property. ``UNION`` is not supported for create operations when using StackSet as a resource or the ``CreateStackInstances`` API.
33586
34748
  :param accounts: The account IDs of the AWS accounts . If you have many account numbers, you can provide those accounts using the ``AccountsUrl`` property instead. *Pattern* : ``^[0-9]{12}$``
33587
- :param accounts_url: The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either ``.csv`` or ``.txt`` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).
34749
+ :param accounts_url: The Amazon S3 URL path to a file that contains a list of AWS account IDs. The file format must be either ``.csv`` or ``.txt`` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts). This property serves the same purpose as ``Accounts`` but allows you to specify a large number of accounts.
33588
34750
  :param organizational_unit_ids: The organization root ID or organizational unit (OU) IDs. *Pattern* : ``^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$``
33589
34751
 
33590
34752
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html
@@ -33621,13 +34783,13 @@ class CfnStackSet(
33621
34783
 
33622
34784
  @builtins.property
33623
34785
  def account_filter_type(self) -> typing.Optional[builtins.str]:
33624
- '''Limit deployment targets to individual accounts or include additional accounts with provided OUs.
34786
+ '''Refines which accounts to deploy stacks to by specifying how to use the ``Accounts`` and ``OrganizationalUnitIds`` properties together.
33625
34787
 
33626
- The following is a list of possible values for the ``AccountFilterType`` operation.
34788
+ The following values determine how CloudFormation selects target accounts:
33627
34789
 
33628
- - ``INTERSECTION`` : StackSet deploys to the accounts specified in the ``Accounts`` parameter.
33629
- - ``DIFFERENCE`` : StackSet deploys to the OU, excluding the accounts specified in the ``Accounts`` parameter.
33630
- - ``UNION`` StackSet deploys to the OU, and the accounts specified in the ``Accounts`` parameter. ``UNION`` is not supported for create operations when using StackSet as a resource.
34790
+ - ``INTERSECTION`` : StackSet deploys to the accounts specified in the ``Accounts`` property.
34791
+ - ``DIFFERENCE`` : StackSet deploys to the OU, excluding the accounts specified in the ``Accounts`` property.
34792
+ - ``UNION`` : StackSet deploys to the OU, and the accounts specified in the ``Accounts`` property. ``UNION`` is not supported for create operations when using StackSet as a resource or the ``CreateStackInstances`` API.
33631
34793
 
33632
34794
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-accountfiltertype
33633
34795
  '''
@@ -33653,6 +34815,8 @@ class CfnStackSet(
33653
34815
 
33654
34816
  The file format must be either ``.csv`` or ``.txt`` , and the data can be comma-separated or new-line-separated. There is currently a 10MB limit for the data (approximately 800,000 accounts).
33655
34817
 
34818
+ This property serves the same purpose as ``Accounts`` but allows you to specify a large number of accounts.
34819
+
33656
34820
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-accountsurl
33657
34821
  '''
33658
34822
  result = self._values.get("accounts_url")
@@ -33693,7 +34857,7 @@ class CfnStackSet(
33693
34857
  ) -> None:
33694
34858
  '''Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.
33695
34859
 
33696
- :param active: When ``true`` , StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order. .. epigraph:: If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting. You can't modify your stack set's execution configuration while there are running or queued operations for that stack set. When ``false`` (default), StackSets performs one operation at a time in request order.
34860
+ :param active: When ``true`` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, CloudFormation starts queued operations in request order. .. epigraph:: If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting. You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet. When ``false`` (default), StackSets performs one operation at a time in request order.
33697
34861
 
33698
34862
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-managedexecution.html
33699
34863
  :exampleMetadata: fixture=_generated
@@ -33717,14 +34881,14 @@ class CfnStackSet(
33717
34881
 
33718
34882
  @builtins.property
33719
34883
  def active(self) -> typing.Optional[typing.Union[builtins.bool, IResolvable]]:
33720
- '''When ``true`` , StackSets performs non-conflicting operations concurrently and queues conflicting operations.
34884
+ '''When ``true`` , CloudFormation performs non-conflicting operations concurrently and queues conflicting operations.
33721
34885
 
33722
- After conflicting operations finish, StackSets starts queued operations in request order.
34886
+ After conflicting operations finish, CloudFormation starts queued operations in request order.
33723
34887
  .. epigraph::
33724
34888
 
33725
- If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.
34889
+ If there are already running or queued operations, CloudFormation queues all incoming operations even if they are non-conflicting.
33726
34890
 
33727
- You can't modify your stack set's execution configuration while there are running or queued operations for that stack set.
34891
+ You can't modify your StackSet's execution configuration while there are running or queued operations for that StackSet.
33728
34892
 
33729
34893
  When ``false`` (default), StackSets performs one operation at a time in request order.
33730
34894
 
@@ -33769,13 +34933,13 @@ class CfnStackSet(
33769
34933
  region_concurrency_type: typing.Optional[builtins.str] = None,
33770
34934
  region_order: typing.Optional[typing.Sequence[builtins.str]] = None,
33771
34935
  ) -> None:
33772
- '''The user-specified preferences for how CloudFormation performs a stack set operation.
34936
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.
33773
34937
 
33774
- For more information on maximum concurrent accounts and failure tolerance, see `Stack set operation options <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options>`_ in the *AWS CloudFormation User Guide* .
34938
+ For more information on maximum concurrent accounts and failure tolerance, see `StackSet operation options <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options>`_ in the *AWS CloudFormation User Guide* .
33775
34939
 
33776
- :param concurrency_mode: Specifies how the concurrency level behaves during the operation execution. - ``STRICT_FAILURE_TOLERANCE`` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of ``FailureToleranceCount`` +1. The initial actual concurrency is set to the lower of either the value of the ``MaxConcurrentCount`` , or the value of ``FailureToleranceCount`` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior. If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar. - ``SOFT_FAILURE_TOLERANCE`` : This option decouples ``FailureToleranceCount`` from the actual concurrency. This allows stack set operations to run at the concurrency level set by the ``MaxConcurrentCount`` value, or ``MaxConcurrentPercentage`` , regardless of the number of failures.
33777
- :param failure_tolerance_count: The number of accounts, per Region, for which this operation can fail before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions. Conditional: You must specify either ``FailureToleranceCount`` or ``FailureTolerancePercentage`` (but not both).
33778
- :param failure_tolerance_percentage: The percentage of accounts, per Region, for which this stack operation can fail before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions. When calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number. Conditional: You must specify either ``FailureToleranceCount`` or ``FailureTolerancePercentage`` , but not both.
34940
+ :param concurrency_mode: Specifies how the concurrency level behaves during the operation execution. - ``STRICT_FAILURE_TOLERANCE`` : This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value of ``FailureToleranceCount`` +1. The initial actual concurrency is set to the lower of either the value of the ``MaxConcurrentCount`` , or the value of ``FailureToleranceCount`` +1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior. If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar. - ``SOFT_FAILURE_TOLERANCE`` : This option decouples ``FailureToleranceCount`` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the ``MaxConcurrentCount`` value, or ``MaxConcurrentPercentage`` , regardless of the number of failures.
34941
+ :param failure_tolerance_count: The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions. Conditional: You must specify either ``FailureToleranceCount`` or ``FailureTolerancePercentage`` (but not both).
34942
+ :param failure_tolerance_percentage: The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region. If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions. When calculating the number of accounts based on the specified percentage, CloudFormation rounds *down* to the next whole number. Conditional: You must specify either ``FailureToleranceCount`` or ``FailureTolerancePercentage`` , but not both.
33779
34943
  :param max_concurrent_count: The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of ``FailureToleranceCount`` . ``MaxConcurrentCount`` is at most one more than the ``FailureToleranceCount`` . Note that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either ``MaxConcurrentCount`` or ``MaxConcurrentPercentage`` , but not both.
33780
34944
  :param max_concurrent_percentage: The maximum percentage of accounts in which to perform this operation at one time. When calculating the number of accounts based on the specified percentage, CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead. Note that this setting lets you specify the *maximum* for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling. Conditional: You must specify either ``MaxConcurrentCount`` or ``MaxConcurrentPercentage`` , but not both.
33781
34945
  :param region_concurrency_type: The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.
@@ -33833,7 +34997,7 @@ class CfnStackSet(
33833
34997
 
33834
34998
  If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.
33835
34999
 
33836
- - ``SOFT_FAILURE_TOLERANCE`` : This option decouples ``FailureToleranceCount`` from the actual concurrency. This allows stack set operations to run at the concurrency level set by the ``MaxConcurrentCount`` value, or ``MaxConcurrentPercentage`` , regardless of the number of failures.
35000
+ - ``SOFT_FAILURE_TOLERANCE`` : This option decouples ``FailureToleranceCount`` from the actual concurrency. This allows StackSet operations to run at the concurrency level set by the ``MaxConcurrentCount`` value, or ``MaxConcurrentPercentage`` , regardless of the number of failures.
33837
35001
 
33838
35002
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-concurrencymode
33839
35003
  '''
@@ -33842,7 +35006,7 @@ class CfnStackSet(
33842
35006
 
33843
35007
  @builtins.property
33844
35008
  def failure_tolerance_count(self) -> typing.Optional[jsii.Number]:
33845
- '''The number of accounts, per Region, for which this operation can fail before CloudFormation stops the operation in that Region.
35009
+ '''The number of accounts per Region this operation can fail in before CloudFormation stops the operation in that Region.
33846
35010
 
33847
35011
  If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.
33848
35012
 
@@ -33855,7 +35019,7 @@ class CfnStackSet(
33855
35019
 
33856
35020
  @builtins.property
33857
35021
  def failure_tolerance_percentage(self) -> typing.Optional[jsii.Number]:
33858
- '''The percentage of accounts, per Region, for which this stack operation can fail before CloudFormation stops the operation in that Region.
35022
+ '''The percentage of accounts per Region this stack operation can fail in before CloudFormation stops the operation in that Region.
33859
35023
 
33860
35024
  If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.
33861
35025
 
@@ -34022,9 +35186,9 @@ class CfnStackSet(
34022
35186
  ) -> None:
34023
35187
  '''Stack instances in some specific accounts and Regions.
34024
35188
 
34025
- :param deployment_targets: The AWS ``OrganizationalUnitIds`` or ``Accounts`` for which to create stack instances in the specified Regions.
35189
+ :param deployment_targets: The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.
34026
35190
  :param regions: The names of one or more Regions where you want to create stack instances using the specified AWS accounts .
34027
- :param parameter_overrides: A list of stack set parameters whose values you want to override in the selected stack instances.
35191
+ :param parameter_overrides: A list of StackSet parameters whose values you want to override in the selected stack instances.
34028
35192
 
34029
35193
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html
34030
35194
  :exampleMetadata: fixture=_generated
@@ -34067,7 +35231,7 @@ class CfnStackSet(
34067
35231
  def deployment_targets(
34068
35232
  self,
34069
35233
  ) -> typing.Union[IResolvable, "CfnStackSet.DeploymentTargetsProperty"]:
34070
- '''The AWS ``OrganizationalUnitIds`` or ``Accounts`` for which to create stack instances in the specified Regions.
35234
+ '''The AWS Organizations accounts or AWS accounts to deploy stacks to in the specified Regions.
34071
35235
 
34072
35236
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-deploymenttargets
34073
35237
  '''
@@ -34089,7 +35253,7 @@ class CfnStackSet(
34089
35253
  def parameter_overrides(
34090
35254
  self,
34091
35255
  ) -> typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]]:
34092
- '''A list of stack set parameters whose values you want to override in the selected stack instances.
35256
+ '''A list of StackSet parameters whose values you want to override in the selected stack instances.
34093
35257
 
34094
35258
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-parameteroverrides
34095
35259
  '''
@@ -34108,7 +35272,7 @@ class CfnStackSet(
34108
35272
  )
34109
35273
 
34110
35274
 
34111
- @jsii.implements(IInspectable)
35275
+ @jsii.implements(IInspectable, _ITypeActivationRef_95db49a7)
34112
35276
  class CfnTypeActivation(
34113
35277
  CfnResource,
34114
35278
  metaclass=jsii.JSIIMeta,
@@ -34161,7 +35325,8 @@ class CfnTypeActivation(
34161
35325
  type_name_alias: typing.Optional[builtins.str] = None,
34162
35326
  version_bump: typing.Optional[builtins.str] = None,
34163
35327
  ) -> None:
34164
- '''
35328
+ '''Create a new ``AWS::CloudFormation::TypeActivation``.
35329
+
34165
35330
  :param scope: Scope in which this resource is defined.
34166
35331
  :param id: Construct identifier for this resource (unique in its scope).
34167
35332
  :param auto_update: Whether to automatically update the extension in this account and Region when a new *minor* version is published by the extension publisher. Major versions released by the publisher must be manually updated. The default is ``true`` .
@@ -34172,7 +35337,7 @@ class CfnTypeActivation(
34172
35337
  :param publisher_id: The ID of the extension publisher. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34173
35338
  :param type: The extension type. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34174
35339
  :param type_name: The name of the extension. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34175
- :param type_name_alias: An alias to assign to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console. An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.
35340
+ :param type_name_alias: An alias to assign to the public extension in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console. An extension alias must be unique within a given account and Region. You can activate the same public resource multiple times in the same account and Region, using different type name aliases.
34176
35341
  :param version_bump: Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of ``AutoUpdate`` . - ``MAJOR`` : CloudFormation updates the extension to the newest major version, if one is available. - ``MINOR`` : CloudFormation updates the extension to the newest minor version, if one is available.
34177
35342
  '''
34178
35343
  if __debug__:
@@ -34227,7 +35392,7 @@ class CfnTypeActivation(
34227
35392
  @builtins.property
34228
35393
  @jsii.member(jsii_name="attrArn")
34229
35394
  def attr_arn(self) -> builtins.str:
34230
- '''The Amazon Resource Name (ARN) of the activated extension, in this account and Region.
35395
+ '''The Amazon Resource Name (ARN) of the activated extension in this account and Region.
34231
35396
 
34232
35397
  :cloudformationAttribute: Arn
34233
35398
  '''
@@ -34238,6 +35403,12 @@ class CfnTypeActivation(
34238
35403
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
34239
35404
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
34240
35405
 
35406
+ @builtins.property
35407
+ @jsii.member(jsii_name="typeActivationRef")
35408
+ def type_activation_ref(self) -> _TypeActivationReference_03c77595:
35409
+ '''A reference to a TypeActivation resource.'''
35410
+ return typing.cast(_TypeActivationReference_03c77595, jsii.get(self, "typeActivationRef"))
35411
+
34241
35412
  @builtins.property
34242
35413
  @jsii.member(jsii_name="autoUpdate")
34243
35414
  def auto_update(self) -> typing.Optional[typing.Union[builtins.bool, IResolvable]]:
@@ -34353,7 +35524,7 @@ class CfnTypeActivation(
34353
35524
  @builtins.property
34354
35525
  @jsii.member(jsii_name="typeNameAlias")
34355
35526
  def type_name_alias(self) -> typing.Optional[builtins.str]:
34356
- '''An alias to assign to the public extension, in this account and Region.'''
35527
+ '''An alias to assign to the public extension in this account and Region.'''
34357
35528
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeNameAlias"))
34358
35529
 
34359
35530
  @type_name_alias.setter
@@ -34447,7 +35618,7 @@ class CfnTypeActivation(
34447
35618
  )
34448
35619
 
34449
35620
 
34450
- @jsii.implements(IInspectable)
35621
+ @jsii.implements(IInspectable, _IWaitConditionRef_5bc95657)
34451
35622
  class CfnWaitCondition(
34452
35623
  CfnResource,
34453
35624
  metaclass=jsii.JSIIMeta,
@@ -34455,7 +35626,7 @@ class CfnWaitCondition(
34455
35626
  ):
34456
35627
  '''The ``AWS::CloudFormation::WaitCondition`` resource provides a way to coordinate stack resource creation with configuration actions that are external to the stack creation or to track the status of a configuration process.
34457
35628
 
34458
- In these situations, we recommend that you associate a ``CreationPolicy`` attribute with the wait condition instead of using a wait condition handle. For more information and an example, see `CreationPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-creationpolicy.html>`_ in the *AWS CloudFormation User Guide* . If you use a ``CreationPolicy`` with a wait condition, don't specify any of the wait condition's properties.
35629
+ In these situations, we recommend that you associate a ``CreationPolicy`` attribute with the wait condition instead of using a wait condition handle. For more information and an example, see `CreationPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-creationpolicy.html>`_ in the *AWS CloudFormation User Guide* . If you use a ``CreationPolicy`` with a wait condition, don't specify any of the wait condition's properties.
34459
35630
  .. epigraph::
34460
35631
 
34461
35632
  If you use AWS PrivateLink , resources in the VPC that respond to wait conditions must have access to CloudFormation , specific Amazon S3 buckets. Resources must send wait condition responses to a presigned Amazon S3 URL. If they can't send responses to Amazon S3 , CloudFormation won't receive a response and the stack operation fails. For more information, see `Access CloudFormation using an interface endpoint ( AWS PrivateLink ) <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/vpc-interface-endpoints.html>`_ in the *AWS CloudFormation User Guide* . > For Amazon EC2 and Auto Scaling resources, we recommend that you use a ``CreationPolicy`` attribute instead of wait conditions. Add a ``CreationPolicy`` attribute to those resources, and use the ``cfn-signal`` helper script to signal when an instance creation process has completed successfully.
@@ -34486,11 +35657,12 @@ class CfnWaitCondition(
34486
35657
  handle: typing.Optional[builtins.str] = None,
34487
35658
  timeout: typing.Optional[builtins.str] = None,
34488
35659
  ) -> None:
34489
- '''
35660
+ '''Create a new ``AWS::CloudFormation::WaitCondition``.
35661
+
34490
35662
  :param scope: Scope in which this resource is defined.
34491
35663
  :param id: Construct identifier for this resource (unique in its scope).
34492
35664
  :param count: The number of success signals that CloudFormation must receive before it continues the stack creation process. When the wait condition receives the requisite number of success signals, CloudFormation resumes the creation of the stack. If the wait condition doesn't receive the specified number of success signals before the Timeout period expires, CloudFormation assumes that the wait condition has failed and rolls the stack back. Updates aren't supported.
34493
- :param handle: A reference to the wait condition handle used to signal this wait condition. Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitconditionhandle.html>`_ resource. Anytime you add a ``WaitCondition`` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command. Updates aren't supported.
35665
+ :param handle: A reference to the wait condition handle used to signal this wait condition. Use the ``Ref`` intrinsic function to specify an `AWS::CloudFormation::WaitConditionHandle <https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-waitconditionhandle.html>`_ resource. Anytime you add a ``WaitCondition`` resource during a stack update, you must associate the wait condition with a new WaitConditionHandle resource. Don't reuse an old wait condition handle that has already been defined in the template. If you reuse a wait condition handle, the wait condition might evaluate old signals from a previous create or update stack command. Updates aren't supported.
34494
35666
  :param timeout: The length of time (in seconds) to wait for the number of signals that the ``Count`` property specifies. ``Timeout`` is a minimum-bound property, meaning the timeout occurs no sooner than the time you specify, but can occur shortly thereafter. The maximum time that can be specified for this property is 12 hours (43200 seconds). Updates aren't supported.
34495
35667
  '''
34496
35668
  if __debug__:
@@ -34542,7 +35714,8 @@ class CfnWaitCondition(
34542
35714
  @builtins.property
34543
35715
  @jsii.member(jsii_name="attrId")
34544
35716
  def attr_id(self) -> builtins.str:
34545
- '''
35717
+ '''Returns a unique identifier for the resource.
35718
+
34546
35719
  :cloudformationAttribute: Id
34547
35720
  '''
34548
35721
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -34552,6 +35725,12 @@ class CfnWaitCondition(
34552
35725
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
34553
35726
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
34554
35727
 
35728
+ @builtins.property
35729
+ @jsii.member(jsii_name="waitConditionRef")
35730
+ def wait_condition_ref(self) -> _WaitConditionReference_e2d94a43:
35731
+ '''A reference to a WaitCondition resource.'''
35732
+ return typing.cast(_WaitConditionReference_e2d94a43, jsii.get(self, "waitConditionRef"))
35733
+
34555
35734
  @builtins.property
34556
35735
  @jsii.member(jsii_name="count")
34557
35736
  def count(self) -> typing.Optional[jsii.Number]:
@@ -34592,7 +35771,7 @@ class CfnWaitCondition(
34592
35771
  jsii.set(self, "timeout", value) # pyright: ignore[reportArgumentType]
34593
35772
 
34594
35773
 
34595
- @jsii.implements(IInspectable)
35774
+ @jsii.implements(IInspectable, _IWaitConditionHandleRef_6fbe7b4b)
34596
35775
  class CfnWaitConditionHandle(
34597
35776
  CfnResource,
34598
35777
  metaclass=jsii.JSIIMeta,
@@ -34622,7 +35801,8 @@ class CfnWaitConditionHandle(
34622
35801
  '''
34623
35802
 
34624
35803
  def __init__(self, scope: _constructs_77d1e7e8.Construct, id: builtins.str) -> None:
34625
- '''
35804
+ '''Create a new ``AWS::CloudFormation::WaitConditionHandle``.
35805
+
34626
35806
  :param scope: Scope in which this resource is defined.
34627
35807
  :param id: Construct identifier for this resource (unique in its scope).
34628
35808
  '''
@@ -34667,7 +35847,7 @@ class CfnWaitConditionHandle(
34667
35847
  @builtins.property
34668
35848
  @jsii.member(jsii_name="attrId")
34669
35849
  def attr_id(self) -> builtins.str:
34670
- '''A unique identifier for the resource.
35850
+ '''Returns a unique identifier for the resource.
34671
35851
 
34672
35852
  :cloudformationAttribute: Id
34673
35853
  '''
@@ -34678,6 +35858,12 @@ class CfnWaitConditionHandle(
34678
35858
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
34679
35859
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
34680
35860
 
35861
+ @builtins.property
35862
+ @jsii.member(jsii_name="waitConditionHandleRef")
35863
+ def wait_condition_handle_ref(self) -> _WaitConditionHandleReference_ba26e35b:
35864
+ '''A reference to a WaitConditionHandle resource.'''
35865
+ return typing.cast(_WaitConditionHandleReference_ba26e35b, jsii.get(self, "waitConditionHandleRef"))
35866
+
34681
35867
 
34682
35868
  class CustomResource(
34683
35869
  Resource,
@@ -34792,6 +35978,12 @@ class CustomResource(
34792
35978
  check_type(argname="argument attribute_name", value=attribute_name, expected_type=type_hints["attribute_name"])
34793
35979
  return typing.cast(builtins.str, jsii.invoke(self, "getAttString", [attribute_name]))
34794
35980
 
35981
+ @jsii.python.classproperty
35982
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
35983
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
35984
+ '''Uniquely identifies this class.'''
35985
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
35986
+
34795
35987
  @builtins.property
34796
35988
  @jsii.member(jsii_name="ref")
34797
35989
  def ref(self) -> builtins.str:
@@ -35317,6 +36509,22 @@ class DockerIgnoreStrategy(
35317
36509
  check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
35318
36510
  return typing.cast(None, jsii.invoke(self, "add", [pattern]))
35319
36511
 
36512
+ @jsii.member(jsii_name="completelyIgnores")
36513
+ def completely_ignores(
36514
+ self,
36515
+ absolute_directory_path: builtins.str,
36516
+ ) -> builtins.bool:
36517
+ '''Determines whether a given directory path should be ignored and have all of its children ignored.
36518
+
36519
+ :param absolute_directory_path: absolute directory path to be assessed against the pattern.
36520
+
36521
+ :return: ``true`` if the directory and all of its children should be ignored
36522
+ '''
36523
+ if __debug__:
36524
+ type_hints = typing.get_type_hints(_typecheckingstub__4eeec3aad8660d3f77c7f5fd848b52abf32a847311801373080bbfe35642315a)
36525
+ check_type(argname="argument absolute_directory_path", value=absolute_directory_path, expected_type=type_hints["absolute_directory_path"])
36526
+ return typing.cast(builtins.bool, jsii.invoke(self, "completelyIgnores", [absolute_directory_path]))
36527
+
35320
36528
  @jsii.member(jsii_name="ignores")
35321
36529
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
35322
36530
  '''Determines whether a given file path should be ignored or not.
@@ -35377,6 +36585,22 @@ class GitIgnoreStrategy(
35377
36585
  check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
35378
36586
  return typing.cast(None, jsii.invoke(self, "add", [pattern]))
35379
36587
 
36588
+ @jsii.member(jsii_name="completelyIgnores")
36589
+ def completely_ignores(
36590
+ self,
36591
+ absolute_directory_path: builtins.str,
36592
+ ) -> builtins.bool:
36593
+ '''Determines whether a given directory path should be ignored and have all of its children ignored.
36594
+
36595
+ :param absolute_directory_path: absolute directory path to be assessed against the pattern.
36596
+
36597
+ :return: ``true`` if the directory and all of its children should be ignored
36598
+ '''
36599
+ if __debug__:
36600
+ type_hints = typing.get_type_hints(_typecheckingstub__e0e824f5e018cd48b279cd34fa185b0a533eed88eee2e88ebb3868389b89b517)
36601
+ check_type(argname="argument absolute_directory_path", value=absolute_directory_path, expected_type=type_hints["absolute_directory_path"])
36602
+ return typing.cast(builtins.bool, jsii.invoke(self, "completelyIgnores", [absolute_directory_path]))
36603
+
35380
36604
  @jsii.member(jsii_name="ignores")
35381
36605
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
35382
36606
  '''Determines whether a given file path should be ignored or not.
@@ -35926,6 +37150,12 @@ class NestedStack(Stack, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.NestedS
35926
37150
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
35927
37151
  return typing.cast(None, jsii.invoke(self, "setParameter", [name, value]))
35928
37152
 
37153
+ @builtins.property
37154
+ @jsii.member(jsii_name="bundlingRequired")
37155
+ def bundling_required(self) -> builtins.bool:
37156
+ '''Indicates whether the stack requires bundling or not.'''
37157
+ return typing.cast(builtins.bool, jsii.get(self, "bundlingRequired"))
37158
+
35929
37159
  @builtins.property
35930
37160
  @jsii.member(jsii_name="stackId")
35931
37161
  def stack_id(self) -> builtins.str:
@@ -36459,18 +37689,22 @@ class DefaultStackSynthesizer(
36459
37689
 
36460
37690
  Example::
36461
37691
 
36462
- # app: App
36463
-
36464
-
36465
- prod_stage = Stage(app, "ProdStage",
36466
- permissions_boundary=PermissionsBoundary.from_name("cdk-${Qualifier}-PermissionsBoundary-${AWS::AccountId}-${AWS::Region}")
36467
- )
36468
-
36469
- Stack(prod_stage, "ProdStack",
36470
- synthesizer=DefaultStackSynthesizer(
36471
- qualifier="custom"
36472
- )
36473
- )
37692
+ class MyStack(Stack):
37693
+ def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, notificationArns=None, synthesizer=None, terminationProtection=None, analyticsReporting=None, crossRegionReferences=None, permissionsBoundary=None, suppressTemplateIndentation=None, propertyInjectors=None):
37694
+ super().__init__(scope, id,
37695
+ (SpreadAssignment ...props
37696
+ description=description, env=env, stackName=stackName, tags=tags, notificationArns=notificationArns, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting, crossRegionReferences=crossRegionReferences, permissionsBoundary=permissionsBoundary, suppressTemplateIndentation=suppressTemplateIndentation, propertyInjectors=propertyInjectors),
37697
+ synthesizer=DefaultStackSynthesizer(
37698
+ deploy_role_external_id="",
37699
+ deploy_role_additional_options={},
37700
+ file_asset_publishing_external_id="",
37701
+ file_asset_publishing_role_additional_options={},
37702
+ image_asset_publishing_external_id="",
37703
+ image_asset_publishing_role_additional_options={},
37704
+ lookup_role_external_id="",
37705
+ lookup_role_additional_options={}
37706
+ )
37707
+ )
36474
37708
  '''
36475
37709
 
36476
37710
  def __init__(
@@ -36849,7 +38083,8 @@ class BootstraplessSynthesizer(
36849
38083
 
36850
38084
  bootstrapless_synthesizer = cdk.BootstraplessSynthesizer(
36851
38085
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
36852
- deploy_role_arn="deployRoleArn"
38086
+ deploy_role_arn="deployRoleArn",
38087
+ qualifier="qualifier"
36853
38088
  )
36854
38089
  '''
36855
38090
 
@@ -36858,14 +38093,17 @@ class BootstraplessSynthesizer(
36858
38093
  *,
36859
38094
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
36860
38095
  deploy_role_arn: typing.Optional[builtins.str] = None,
38096
+ qualifier: typing.Optional[builtins.str] = None,
36861
38097
  ) -> None:
36862
38098
  '''
36863
38099
  :param cloud_formation_execution_role_arn: The CFN execution Role ARN to use. Default: - No CloudFormation role (use CLI credentials)
36864
38100
  :param deploy_role_arn: The deploy Role ARN to use. Default: - No deploy role (use CLI credentials)
38101
+ :param qualifier: The qualifier used to specialize strings. Can be used to specify custom bootstrapped role names Default: 'hnb659fds'
36865
38102
  '''
36866
38103
  props = BootstraplessSynthesizerProps(
36867
38104
  cloud_formation_execution_role_arn=cloud_formation_execution_role_arn,
36868
38105
  deploy_role_arn=deploy_role_arn,
38106
+ qualifier=qualifier,
36869
38107
  )
36870
38108
 
36871
38109
  jsii.create(self.__class__, self, [props])
@@ -37151,6 +38389,7 @@ __all__ = [
37151
38389
  "ICfnConditionExpression",
37152
38390
  "ICfnResourceOptions",
37153
38391
  "ICfnRuleConditionExpression",
38392
+ "IEnvironmentAware",
37154
38393
  "IFragmentConcatenator",
37155
38394
  "IInspectable",
37156
38395
  "IListProducer",
@@ -37159,6 +38398,7 @@ __all__ = [
37159
38398
  "IPolicyValidationContextBeta1",
37160
38399
  "IPolicyValidationPluginBeta1",
37161
38400
  "IPostProcessor",
38401
+ "IPropertyInjector",
37162
38402
  "IResolvable",
37163
38403
  "IResolveContext",
37164
38404
  "IResource",
@@ -37177,6 +38417,7 @@ __all__ = [
37177
38417
  "ITokenResolver",
37178
38418
  "IgnoreMode",
37179
38419
  "IgnoreStrategy",
38420
+ "InjectionContext",
37180
38421
  "Intrinsic",
37181
38422
  "IntrinsicProps",
37182
38423
  "JsonNull",
@@ -37197,6 +38438,7 @@ __all__ = [
37197
38438
  "PolicyValidationReportStatusBeta1",
37198
38439
  "PolicyViolatingResourceBeta1",
37199
38440
  "PolicyViolationBeta1",
38441
+ "PropertyInjectors",
37200
38442
  "Reference",
37201
38443
  "RemovalPolicies",
37202
38444
  "RemovalPolicy",
@@ -37246,6 +38488,7 @@ __all__ = [
37246
38488
  "assertions",
37247
38489
  "aws_accessanalyzer",
37248
38490
  "aws_acmpca",
38491
+ "aws_aiops",
37249
38492
  "aws_amazonmq",
37250
38493
  "aws_amplify",
37251
38494
  "aws_amplifyuibuilder",
@@ -37265,6 +38508,7 @@ __all__ = [
37265
38508
  "aws_appsync",
37266
38509
  "aws_apptest",
37267
38510
  "aws_aps",
38511
+ "aws_arcregionswitch",
37268
38512
  "aws_arczonalshift",
37269
38513
  "aws_athena",
37270
38514
  "aws_auditmanager",
@@ -37278,6 +38522,7 @@ __all__ = [
37278
38522
  "aws_batch",
37279
38523
  "aws_bcmdataexports",
37280
38524
  "aws_bedrock",
38525
+ "aws_bedrockagentcore",
37281
38526
  "aws_billingconductor",
37282
38527
  "aws_budgets",
37283
38528
  "aws_cassandra",
@@ -37353,6 +38598,7 @@ __all__ = [
37353
38598
  "aws_events_targets",
37354
38599
  "aws_eventschemas",
37355
38600
  "aws_evidently",
38601
+ "aws_evs",
37356
38602
  "aws_finspace",
37357
38603
  "aws_fis",
37358
38604
  "aws_fms",
@@ -37425,6 +38671,7 @@ __all__ = [
37425
38671
  "aws_mediastore",
37426
38672
  "aws_mediatailor",
37427
38673
  "aws_memorydb",
38674
+ "aws_mpa",
37428
38675
  "aws_msk",
37429
38676
  "aws_mwaa",
37430
38677
  "aws_neptune",
@@ -37435,6 +38682,8 @@ __all__ = [
37435
38682
  "aws_notifications",
37436
38683
  "aws_notificationscontacts",
37437
38684
  "aws_oam",
38685
+ "aws_observabilityadmin",
38686
+ "aws_odb",
37438
38687
  "aws_omics",
37439
38688
  "aws_opensearchserverless",
37440
38689
  "aws_opensearchservice",
@@ -37474,6 +38723,7 @@ __all__ = [
37474
38723
  "aws_route53recoverycontrol",
37475
38724
  "aws_route53recoveryreadiness",
37476
38725
  "aws_route53resolver",
38726
+ "aws_rtbfabric",
37477
38727
  "aws_rum",
37478
38728
  "aws_s3",
37479
38729
  "aws_s3_assets",
@@ -37483,6 +38733,7 @@ __all__ = [
37483
38733
  "aws_s3objectlambda",
37484
38734
  "aws_s3outposts",
37485
38735
  "aws_s3tables",
38736
+ "aws_s3vectors",
37486
38737
  "aws_sagemaker",
37487
38738
  "aws_sam",
37488
38739
  "aws_scheduler",
@@ -37499,6 +38750,7 @@ __all__ = [
37499
38750
  "aws_shield",
37500
38751
  "aws_signer",
37501
38752
  "aws_simspaceweaver",
38753
+ "aws_smsvoice",
37502
38754
  "aws_sns",
37503
38755
  "aws_sns_subscriptions",
37504
38756
  "aws_sqs",
@@ -37523,6 +38775,7 @@ __all__ = [
37523
38775
  "aws_wafv2",
37524
38776
  "aws_wisdom",
37525
38777
  "aws_workspaces",
38778
+ "aws_workspacesinstances",
37526
38779
  "aws_workspacesthinclient",
37527
38780
  "aws_workspacesweb",
37528
38781
  "aws_xray",
@@ -37530,6 +38783,7 @@ __all__ = [
37530
38783
  "cloudformation_include",
37531
38784
  "custom_resources",
37532
38785
  "cx_api",
38786
+ "interfaces",
37533
38787
  "lambda_layer_awscli",
37534
38788
  "lambda_layer_node_proxy_agent",
37535
38789
  "pipelines",
@@ -37544,6 +38798,7 @@ from . import alexa_ask
37544
38798
  from . import assertions
37545
38799
  from . import aws_accessanalyzer
37546
38800
  from . import aws_acmpca
38801
+ from . import aws_aiops
37547
38802
  from . import aws_amazonmq
37548
38803
  from . import aws_amplify
37549
38804
  from . import aws_amplifyuibuilder
@@ -37563,6 +38818,7 @@ from . import aws_appstream
37563
38818
  from . import aws_appsync
37564
38819
  from . import aws_apptest
37565
38820
  from . import aws_aps
38821
+ from . import aws_arcregionswitch
37566
38822
  from . import aws_arczonalshift
37567
38823
  from . import aws_athena
37568
38824
  from . import aws_auditmanager
@@ -37576,6 +38832,7 @@ from . import aws_backupgateway
37576
38832
  from . import aws_batch
37577
38833
  from . import aws_bcmdataexports
37578
38834
  from . import aws_bedrock
38835
+ from . import aws_bedrockagentcore
37579
38836
  from . import aws_billingconductor
37580
38837
  from . import aws_budgets
37581
38838
  from . import aws_cassandra
@@ -37651,6 +38908,7 @@ from . import aws_events
37651
38908
  from . import aws_events_targets
37652
38909
  from . import aws_eventschemas
37653
38910
  from . import aws_evidently
38911
+ from . import aws_evs
37654
38912
  from . import aws_finspace
37655
38913
  from . import aws_fis
37656
38914
  from . import aws_fms
@@ -37723,6 +38981,7 @@ from . import aws_mediapackagev2
37723
38981
  from . import aws_mediastore
37724
38982
  from . import aws_mediatailor
37725
38983
  from . import aws_memorydb
38984
+ from . import aws_mpa
37726
38985
  from . import aws_msk
37727
38986
  from . import aws_mwaa
37728
38987
  from . import aws_neptune
@@ -37733,6 +38992,8 @@ from . import aws_nimblestudio
37733
38992
  from . import aws_notifications
37734
38993
  from . import aws_notificationscontacts
37735
38994
  from . import aws_oam
38995
+ from . import aws_observabilityadmin
38996
+ from . import aws_odb
37736
38997
  from . import aws_omics
37737
38998
  from . import aws_opensearchserverless
37738
38999
  from . import aws_opensearchservice
@@ -37772,6 +39033,7 @@ from . import aws_route53profiles
37772
39033
  from . import aws_route53recoverycontrol
37773
39034
  from . import aws_route53recoveryreadiness
37774
39035
  from . import aws_route53resolver
39036
+ from . import aws_rtbfabric
37775
39037
  from . import aws_rum
37776
39038
  from . import aws_s3
37777
39039
  from . import aws_s3_assets
@@ -37781,6 +39043,7 @@ from . import aws_s3express
37781
39043
  from . import aws_s3objectlambda
37782
39044
  from . import aws_s3outposts
37783
39045
  from . import aws_s3tables
39046
+ from . import aws_s3vectors
37784
39047
  from . import aws_sagemaker
37785
39048
  from . import aws_sam
37786
39049
  from . import aws_scheduler
@@ -37797,6 +39060,7 @@ from . import aws_ses_actions
37797
39060
  from . import aws_shield
37798
39061
  from . import aws_signer
37799
39062
  from . import aws_simspaceweaver
39063
+ from . import aws_smsvoice
37800
39064
  from . import aws_sns
37801
39065
  from . import aws_sns_subscriptions
37802
39066
  from . import aws_sqs
@@ -37821,6 +39085,7 @@ from . import aws_wafregional
37821
39085
  from . import aws_wafv2
37822
39086
  from . import aws_wisdom
37823
39087
  from . import aws_workspaces
39088
+ from . import aws_workspacesinstances
37824
39089
  from . import aws_workspacesthinclient
37825
39090
  from . import aws_workspacesweb
37826
39091
  from . import aws_xray
@@ -37828,6 +39093,7 @@ from . import cloud_assembly_schema
37828
39093
  from . import cloudformation_include
37829
39094
  from . import custom_resources
37830
39095
  from . import cx_api
39096
+ from . import interfaces
37831
39097
  from . import lambda_layer_awscli
37832
39098
  from . import lambda_layer_node_proxy_agent
37833
39099
  from . import pipelines
@@ -37854,6 +39120,13 @@ def _typecheckingstub__cfddeb4c359528028785fb7ca8a01e86bcda81d53c82cdaef6ad18dd0
37854
39120
  """Type checking stubs"""
37855
39121
  pass
37856
39122
 
39123
+ def _typecheckingstub__71c75ad95e6c491e615a0c0a9cc9bc5b538f2d93e7057612251cfc9592380513(
39124
+ id: builtins.str,
39125
+ message: typing.Optional[builtins.str] = None,
39126
+ ) -> None:
39127
+ """Type checking stubs"""
39128
+ pass
39129
+
37857
39130
  def _typecheckingstub__58bb467dabbe29a0334a62f44fa1a8a9b59742b9dfac031624ed782055bf0ada(
37858
39131
  id: builtins.str,
37859
39132
  message: typing.Optional[builtins.str] = None,
@@ -37880,6 +39153,13 @@ def _typecheckingstub__42febf8c4cbec6748c47fab1f601511d3bc57ef5bc415cb489e10605f
37880
39153
  """Type checking stubs"""
37881
39154
  pass
37882
39155
 
39156
+ def _typecheckingstub__843fb7798b96b5a06278ca94ba80d2ae0fb300672c44f21b2ee4d759a04bdba9(
39157
+ id: builtins.str,
39158
+ message: builtins.str,
39159
+ ) -> None:
39160
+ """Type checking stubs"""
39161
+ pass
39162
+
37883
39163
  def _typecheckingstub__e2fdcebb577d63295330a53b495fc6906cfbd98497144c53b1cb802e3e082f72(
37884
39164
  message: builtins.str,
37885
39165
  ) -> None:
@@ -37902,6 +39182,7 @@ def _typecheckingstub__ef2fee5e91b22ed9e2b91aa309be73835ddfb834f19eb3d41540c7e38
37902
39182
  outdir: typing.Optional[builtins.str] = None,
37903
39183
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
37904
39184
  post_cli_context: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39185
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
37905
39186
  stack_traces: typing.Optional[builtins.bool] = None,
37906
39187
  tree_metadata: typing.Optional[builtins.bool] = None,
37907
39188
  ) -> None:
@@ -38081,6 +39362,7 @@ def _typecheckingstub__3f56ec309bd76e41562731f3b986025649d4592e71caa79fed875d702
38081
39362
  *,
38082
39363
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
38083
39364
  deploy_role_arn: typing.Optional[builtins.str] = None,
39365
+ qualifier: typing.Optional[builtins.str] = None,
38084
39366
  ) -> None:
38085
39367
  """Type checking stubs"""
38086
39368
  pass
@@ -38872,6 +40154,7 @@ def _typecheckingstub__43574b9eb91c9a4b6203c6c4dae8ace9123c2746c25560e39a6b8a8db
38872
40154
  scope: _constructs_77d1e7e8.Construct,
38873
40155
  *,
38874
40156
  provider: builtins.str,
40157
+ additional_cache_key: typing.Optional[builtins.str] = None,
38875
40158
  include_environment: typing.Optional[builtins.bool] = None,
38876
40159
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
38877
40160
  ) -> None:
@@ -38885,6 +40168,7 @@ def _typecheckingstub__cbcd83febe5237c988f26712b8a838ca5d2e34ea47490d008757c21a6
38885
40168
  ignore_error_on_missing_context: typing.Optional[builtins.bool] = None,
38886
40169
  must_exist: typing.Optional[builtins.bool] = None,
38887
40170
  provider: builtins.str,
40171
+ additional_cache_key: typing.Optional[builtins.str] = None,
38888
40172
  include_environment: typing.Optional[builtins.bool] = None,
38889
40173
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
38890
40174
  ) -> None:
@@ -38994,6 +40278,7 @@ def _typecheckingstub__e285633ad5a50949fcc0277b0b38d3679a006cdac41feaef60665b393
38994
40278
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
38995
40279
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
38996
40280
  file: typing.Optional[builtins.str] = None,
40281
+ network: typing.Optional[builtins.str] = None,
38997
40282
  platform: typing.Optional[builtins.str] = None,
38998
40283
  target_stage: typing.Optional[builtins.str] = None,
38999
40284
  ) -> None:
@@ -39029,6 +40314,7 @@ def _typecheckingstub__ee160dc0667b6e8f45df2c2f176a77d9d6a3ece4b83cdf7804625adf8
39029
40314
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
39030
40315
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
39031
40316
  file: typing.Optional[builtins.str] = None,
40317
+ network: typing.Optional[builtins.str] = None,
39032
40318
  platform: typing.Optional[builtins.str] = None,
39033
40319
  target_stage: typing.Optional[builtins.str] = None,
39034
40320
  ) -> None:
@@ -39173,6 +40459,12 @@ def _typecheckingstub__4b06766267738419297aaf93a2368e0c38c274adc14053ce29fd653d6
39173
40459
  """Type checking stubs"""
39174
40460
  pass
39175
40461
 
40462
+ def _typecheckingstub__1c1f003fc36fb573df38915f709b99bb9c1a74aac84c52ba7fe12c54cf2cae8d(
40463
+ x: typing.Any,
40464
+ ) -> None:
40465
+ """Type checking stubs"""
40466
+ pass
40467
+
39176
40468
  def _typecheckingstub__1cadecf7c75d3f55ff2fcddf8a0d000d9f8e54b48218f1336d97358901d38c0b(
39177
40469
  x: typing.Any,
39178
40470
  ) -> None:
@@ -39185,6 +40477,12 @@ def _typecheckingstub__0c62bc5a6fe032556ae3c32e105ddaad3f4ca89286fd26884af6347d3
39185
40477
  """Type checking stubs"""
39186
40478
  pass
39187
40479
 
40480
+ def _typecheckingstub__f2bf053437a17fa72244a5b0342af56acbb0f4ad4bc7fc877ac3974df0b811d3(
40481
+ x: typing.Any,
40482
+ ) -> None:
40483
+ """Type checking stubs"""
40484
+ pass
40485
+
39188
40486
  def _typecheckingstub__c9afe20487c547932befb7a2f6567c38793e8d7df55f47046e1cfb408408d733(
39189
40487
  x: typing.Any,
39190
40488
  ) -> None:
@@ -39519,6 +40817,7 @@ def _typecheckingstub__1aa84b6f7c7da29afeaf8cce6ea2a4aee978df497c5cb6d4432224b24
39519
40817
  def _typecheckingstub__4a3bc64bd38ef14ad5ebdf5807563d2355b26f4f0c446c315782c9818b76192a(
39520
40818
  *,
39521
40819
  provider: builtins.str,
40820
+ additional_cache_key: typing.Optional[builtins.str] = None,
39522
40821
  include_environment: typing.Optional[builtins.bool] = None,
39523
40822
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39524
40823
  ) -> None:
@@ -39536,6 +40835,7 @@ def _typecheckingstub__8870c87947d551a1842549591423e81e319fe3185c0ae81f67b67b1bf
39536
40835
  def _typecheckingstub__16ea3024419c210903405ca05f7de1bb3fad517c101a7a84926fb5e09ac784ec(
39537
40836
  *,
39538
40837
  provider: builtins.str,
40838
+ additional_cache_key: typing.Optional[builtins.str] = None,
39539
40839
  include_environment: typing.Optional[builtins.bool] = None,
39540
40840
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39541
40841
  dummy_value: typing.Any,
@@ -39671,6 +40971,15 @@ def _typecheckingstub__421f2755d7e81609d225eb32560b6f8749147026d0e9c4a8130c5421a
39671
40971
  """Type checking stubs"""
39672
40972
  pass
39673
40973
 
40974
+ def _typecheckingstub__a84c13d89fffb1ee8026280d3071636f041aaa121bab44f9659e3255feca881d(
40975
+ original_props: typing.Any,
40976
+ *,
40977
+ id: builtins.str,
40978
+ scope: _constructs_77d1e7e8.Construct,
40979
+ ) -> None:
40980
+ """Type checking stubs"""
40981
+ pass
40982
+
39674
40983
  def _typecheckingstub__09341b9d2d6a06b3937530fa96a1bcb7562ccdf5246e5563a8a552ec1f8c0fa5(
39675
40984
  context: IResolveContext,
39676
40985
  ) -> None:
@@ -39814,6 +41123,12 @@ def _typecheckingstub__eece2ad7e2f3cbe035a92302343ee656a4e8438489e1b15a43554b124
39814
41123
  """Type checking stubs"""
39815
41124
  pass
39816
41125
 
41126
+ def _typecheckingstub__3a80a66d2944a2c289e3c51a3686487dddf7c755eb54d7726f3fd91652eddcde(
41127
+ absolute_directory_path: builtins.str,
41128
+ ) -> None:
41129
+ """Type checking stubs"""
41130
+ pass
41131
+
39817
41132
  def _typecheckingstub__30e8e458c385d1db329cfc0c45f966d2d15c1b0166b3e7cfe8a57c7809196bf5(
39818
41133
  pattern: builtins.str,
39819
41134
  ) -> None:
@@ -39826,6 +41141,14 @@ def _typecheckingstub__639820bc3ab9fb78a31dec5d3d916a2befafc70af8c041b6e444ac075
39826
41141
  """Type checking stubs"""
39827
41142
  pass
39828
41143
 
41144
+ def _typecheckingstub__474d9096cc3297bd5f64e3e487372aedd71d529e93d80a946aa117f0e0f8bc5b(
41145
+ *,
41146
+ id: builtins.str,
41147
+ scope: _constructs_77d1e7e8.Construct,
41148
+ ) -> None:
41149
+ """Type checking stubs"""
41150
+ pass
41151
+
39829
41152
  def _typecheckingstub__4fdfa4eddae987229a9f6236b6c0b78b4d7e291c17d32a624ad710cd632917ff(
39830
41153
  value: typing.Any,
39831
41154
  *,
@@ -40046,6 +41369,30 @@ def _typecheckingstub__2f965066f077908d4839609b519c39167a0b14e83374fbf4bb1601ab5
40046
41369
  """Type checking stubs"""
40047
41370
  pass
40048
41371
 
41372
+ def _typecheckingstub__4200e15e2cc09377aa6dd49e79c545a26e8c65589955f7210d145afb4881fcc5(
41373
+ x: typing.Any,
41374
+ ) -> None:
41375
+ """Type checking stubs"""
41376
+ pass
41377
+
41378
+ def _typecheckingstub__d558bd5d62319107ba8d7aec423cb982f18f533d7f90939b4576ae5cabe237e6(
41379
+ scope: _constructs_77d1e7e8.IConstruct,
41380
+ ) -> None:
41381
+ """Type checking stubs"""
41382
+ pass
41383
+
41384
+ def _typecheckingstub__b15ed456b528cac4ffc455783d09279b63e060419397678acf12dc8a07323ae9(
41385
+ *props_injectors: IPropertyInjector,
41386
+ ) -> None:
41387
+ """Type checking stubs"""
41388
+ pass
41389
+
41390
+ def _typecheckingstub__ba79b618f23d72687ff58834f8d791bcc5f41fb49c8301987bb45eee4378958b(
41391
+ unique_id: builtins.str,
41392
+ ) -> None:
41393
+ """Type checking stubs"""
41394
+ pass
41395
+
40049
41396
  def _typecheckingstub__151f083e00bfac139cbf164b9069ab02924a37639eb1b7b58edc3dee3fdf3279(
40050
41397
  value: typing.Any,
40051
41398
  target: _constructs_77d1e7e8.IConstruct,
@@ -40246,6 +41593,16 @@ def _typecheckingstub__42536acc3fbfb7962f85e1c13349d32667f2fd64146363d2d766a253d
40246
41593
  """Type checking stubs"""
40247
41594
  pass
40248
41595
 
41596
+ def _typecheckingstub__ba81ab5d0a7811c904f34d1d9805888e14bbd4da3987d73185cb1acbfc46df06(
41597
+ secret_id: builtins.str,
41598
+ *,
41599
+ json_field: typing.Optional[builtins.str] = None,
41600
+ version_id: typing.Optional[builtins.str] = None,
41601
+ version_stage: typing.Optional[builtins.str] = None,
41602
+ ) -> None:
41603
+ """Type checking stubs"""
41604
+ pass
41605
+
40249
41606
  def _typecheckingstub__8241420a9f59d70313b0ea1bef892ebf8261a60f603687b732491bb889791322(
40250
41607
  param: CfnParameter,
40251
41608
  ) -> None:
@@ -40361,6 +41718,7 @@ def _typecheckingstub__835828a2dac25cb8eb22f32985554296e8bd61463c8cc32bb2df4c1f4
40361
41718
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
40362
41719
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
40363
41720
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
41721
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
40364
41722
  stack_name: typing.Optional[builtins.str] = None,
40365
41723
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
40366
41724
  synthesizer: typing.Optional[IStackSynthesizer] = None,
@@ -40396,6 +41754,13 @@ def _typecheckingstub__2747e69e9678b96621f1476e1bee4426100a530229cea9dce16210392
40396
41754
  """Type checking stubs"""
40397
41755
  pass
40398
41756
 
41757
+ def _typecheckingstub__c79ea9b0cd54830acfa2c93ac0786782e515591ac5cda10c42b42f8ff76457a0(
41758
+ tag_name: builtins.str,
41759
+ tag_value: builtins.str,
41760
+ ) -> None:
41761
+ """Type checking stubs"""
41762
+ pass
41763
+
40399
41764
  def _typecheckingstub__4b8bfc7ce675d439b6218b58ddc312a45cfe87ee7179a489f0cc18c67560faac(
40400
41765
  transform: builtins.str,
40401
41766
  ) -> None:
@@ -40439,6 +41804,12 @@ def _typecheckingstub__1f4a18c1188f55ad7c4058f8aace9f6ebb7b7e9b596dd51616883b350
40439
41804
  """Type checking stubs"""
40440
41805
  pass
40441
41806
 
41807
+ def _typecheckingstub__25f39c18a619c464f8e693cb5c5847cdf10f847438cac04672be8ba78d2b49d0(
41808
+ tag_name: builtins.str,
41809
+ ) -> None:
41810
+ """Type checking stubs"""
41811
+ pass
41812
+
40442
41813
  def _typecheckingstub__363ae1d6a0b84b63acd48fd337e70f58cc140887b9d61b4f55f925b3a7e2cded(
40443
41814
  old_id: builtins.str,
40444
41815
  new_id: builtins.str,
@@ -40486,6 +41857,7 @@ def _typecheckingstub__a36aaf4edf2967c8ed36d2cad24d023f14778db721379dffbd74eb6dd
40486
41857
  env: typing.Optional[typing.Union[Environment, typing.Dict[builtins.str, typing.Any]]] = None,
40487
41858
  notification_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
40488
41859
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
41860
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
40489
41861
  stack_name: typing.Optional[builtins.str] = None,
40490
41862
  suppress_template_indentation: typing.Optional[builtins.bool] = None,
40491
41863
  synthesizer: typing.Optional[IStackSynthesizer] = None,
@@ -40573,6 +41945,7 @@ def _typecheckingstub__c0677d374e192ff51310cb5059d45186fd8a854f0c4f6485ff9ec9692
40573
41945
  outdir: typing.Optional[builtins.str] = None,
40574
41946
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
40575
41947
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
41948
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
40576
41949
  stage_name: typing.Optional[builtins.str] = None,
40577
41950
  ) -> None:
40578
41951
  """Type checking stubs"""
@@ -40596,6 +41969,7 @@ def _typecheckingstub__c519a1aa0534921a8dfdfa69ddc24b52c09a7eb52fc889f7fb96b737e
40596
41969
  outdir: typing.Optional[builtins.str] = None,
40597
41970
  permissions_boundary: typing.Optional[PermissionsBoundary] = None,
40598
41971
  policy_validation_beta1: typing.Optional[typing.Sequence[IPolicyValidationPluginBeta1]] = None,
41972
+ property_injectors: typing.Optional[typing.Sequence[IPropertyInjector]] = None,
40599
41973
  stage_name: typing.Optional[builtins.str] = None,
40600
41974
  ) -> None:
40601
41975
  """Type checking stubs"""
@@ -42373,6 +43747,12 @@ def _typecheckingstub__dce0fd20685d4b7457e08a1567eb5aa8c53335612222538272b7d69db
42373
43747
  """Type checking stubs"""
42374
43748
  pass
42375
43749
 
43750
+ def _typecheckingstub__4eeec3aad8660d3f77c7f5fd848b52abf32a847311801373080bbfe35642315a(
43751
+ absolute_directory_path: builtins.str,
43752
+ ) -> None:
43753
+ """Type checking stubs"""
43754
+ pass
43755
+
42376
43756
  def _typecheckingstub__a94afdff9185f6eef56446b1ee12df7551a9ea60e1fd57e80213dc039cb3980c(
42377
43757
  absolute_file_path: builtins.str,
42378
43758
  ) -> None:
@@ -42392,6 +43772,12 @@ def _typecheckingstub__41215ad4567a0e20a39ebe81e961b4c04ce243413f01303ac836fdb48
42392
43772
  """Type checking stubs"""
42393
43773
  pass
42394
43774
 
43775
+ def _typecheckingstub__e0e824f5e018cd48b279cd34fa185b0a533eed88eee2e88ebb3868389b89b517(
43776
+ absolute_directory_path: builtins.str,
43777
+ ) -> None:
43778
+ """Type checking stubs"""
43779
+ pass
43780
+
42395
43781
  def _typecheckingstub__e836fbc1866005d0d4acf04190bb860cb94af53b18c0a2f12af8835f961ccedd(
42396
43782
  absolute_file_path: builtins.str,
42397
43783
  ) -> None:
@@ -42542,3 +43928,6 @@ def _typecheckingstub__47e469f0015340593bcbbe8474c853bc170a6dfd3bcb31e6795042408
42542
43928
  ) -> None:
42543
43929
  """Type checking stubs"""
42544
43930
  pass
43931
+
43932
+ for cls in [IAnyProducer, IAspect, IAsset, IBoundStackSynthesizer, ICfnConditionExpression, ICfnResourceOptions, ICfnRuleConditionExpression, IEnvironmentAware, IFragmentConcatenator, IInspectable, IListProducer, ILocalBundling, INumberProducer, IPolicyValidationContextBeta1, IPolicyValidationPluginBeta1, IPostProcessor, IPropertyInjector, IResolvable, IResolveContext, IResource, IReusableStackSynthesizer, IStableAnyProducer, IStableListProducer, IStableNumberProducer, IStableStringProducer, IStackSynthesizer, IStringProducer, ISynthesisSession, ITaggable, ITaggableV2, ITemplateOptions, ITokenMapper, ITokenResolver]:
43933
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])