aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +94 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +135 -55
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +42 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
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.
@@ -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,138 @@ 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
+
1502
1824
  ## Blueprint Property Injection
1503
1825
 
1504
1826
  The goal of Blueprint Property Injection is to provide builders an automatic way to set default property values.
@@ -1638,6 +1960,48 @@ from .cx_api import (
1638
1960
  CloudAssembly as _CloudAssembly_c693643e,
1639
1961
  CloudAssemblyBuilder as _CloudAssemblyBuilder_c90cccf3,
1640
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
+ )
1641
2005
 
1642
2006
 
1643
2007
  @jsii.data_type(
@@ -1787,6 +2151,31 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
1787
2151
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1788
2152
  return typing.cast("Annotations", jsii.sinvoke(cls, "of", [scope]))
1789
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
+
1790
2179
  @jsii.member(jsii_name="acknowledgeWarning")
1791
2180
  def acknowledge_warning(
1792
2181
  self,
@@ -1857,6 +2246,29 @@ class Annotations(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Annotations"):
1857
2246
  check_type(argname="argument message", value=message, expected_type=type_hints["message"])
1858
2247
  return typing.cast(None, jsii.invoke(self, "addInfo", [message]))
1859
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
+
1860
2272
  @jsii.member(jsii_name="addWarning")
1861
2273
  def add_warning(self, message: builtins.str) -> None:
1862
2274
  '''Adds a warning metadata entry to this construct. Prefer using ``addWarningV2``.
@@ -2459,7 +2871,7 @@ class ArnFormat(enum.Enum):
2459
2871
  like in 'arn:aws:cognito-sync:region:account:identitypool/us-east-1:1a1a1a1a-ffff-1111-9999-12345678:bla'.
2460
2872
  '''
2461
2873
  SLASH_RESOURCE_SLASH_RESOURCE_NAME = "SLASH_RESOURCE_SLASH_RESOURCE_NAME"
2462
- '''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'.
2463
2875
 
2464
2876
  Like in: 'arn:aws:service:region:account:/resource/resourceName'.
2465
2877
  Note that the leading slash is *not* included in the parsed 'resource' part.
@@ -2549,17 +2961,24 @@ class AspectOptions:
2549
2961
 
2550
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
2551
2963
 
2552
- :exampleMetadata: fixture=_generated
2964
+ :exampleMetadata: infused
2553
2965
 
2554
2966
  Example::
2555
2967
 
2556
- # The code below shows an example of how to instantiate this type.
2557
- # The values are placeholders you should change.
2558
- import aws_cdk as cdk
2968
+ @jsii.implements(IAspect)
2969
+ class MutatingAspect:
2970
+ def visit(self, node):
2971
+ pass
2559
2972
 
2560
- aspect_options = cdk.AspectOptions(
2561
- priority=123
2562
- )
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)
2563
2982
  '''
2564
2983
  if __debug__:
2565
2984
  type_hints = typing.get_type_hints(_typecheckingstub__1761263abda35b4b2f599d4ff5122c0e7ad15a95af4498d9c6e04e78bc4a4b76)
@@ -3504,6 +3923,7 @@ class Aws(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Aws"):
3504
3923
  name_mapping={
3505
3924
  "cloud_formation_execution_role_arn": "cloudFormationExecutionRoleArn",
3506
3925
  "deploy_role_arn": "deployRoleArn",
3926
+ "qualifier": "qualifier",
3507
3927
  },
3508
3928
  )
3509
3929
  class BootstraplessSynthesizerProps:
@@ -3512,11 +3932,13 @@ class BootstraplessSynthesizerProps:
3512
3932
  *,
3513
3933
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
3514
3934
  deploy_role_arn: typing.Optional[builtins.str] = None,
3935
+ qualifier: typing.Optional[builtins.str] = None,
3515
3936
  ) -> None:
3516
3937
  '''Construction properties of ``BootstraplessSynthesizer``.
3517
3938
 
3518
3939
  :param cloud_formation_execution_role_arn: The CFN execution Role ARN to use. Default: - No CloudFormation role (use CLI credentials)
3519
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'
3520
3942
 
3521
3943
  :exampleMetadata: fixture=_generated
3522
3944
 
@@ -3528,18 +3950,22 @@ class BootstraplessSynthesizerProps:
3528
3950
 
3529
3951
  bootstrapless_synthesizer_props = cdk.BootstraplessSynthesizerProps(
3530
3952
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
3531
- deploy_role_arn="deployRoleArn"
3953
+ deploy_role_arn="deployRoleArn",
3954
+ qualifier="qualifier"
3532
3955
  )
3533
3956
  '''
3534
3957
  if __debug__:
3535
3958
  type_hints = typing.get_type_hints(_typecheckingstub__3f56ec309bd76e41562731f3b986025649d4592e71caa79fed875d7020f66bfc)
3536
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"])
3537
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"])
3538
3962
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3539
3963
  if cloud_formation_execution_role_arn is not None:
3540
3964
  self._values["cloud_formation_execution_role_arn"] = cloud_formation_execution_role_arn
3541
3965
  if deploy_role_arn is not None:
3542
3966
  self._values["deploy_role_arn"] = deploy_role_arn
3967
+ if qualifier is not None:
3968
+ self._values["qualifier"] = qualifier
3543
3969
 
3544
3970
  @builtins.property
3545
3971
  def cloud_formation_execution_role_arn(self) -> typing.Optional[builtins.str]:
@@ -3559,6 +3985,17 @@ class BootstraplessSynthesizerProps:
3559
3985
  result = self._values.get("deploy_role_arn")
3560
3986
  return typing.cast(typing.Optional[builtins.str], result)
3561
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
+
3562
3999
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3563
4000
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3564
4001
 
@@ -5450,7 +5887,7 @@ class CfnGuardHookProps:
5450
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.
5451
5888
  :param options: Specifies the S3 location of your input parameters.
5452
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``
5453
- :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``
5454
5891
 
5455
5892
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-guardhook.html
5456
5893
  :exampleMetadata: fixture=_generated
@@ -5664,7 +6101,7 @@ class CfnGuardHookProps:
5664
6101
 
5665
6102
  Example target filter in JSON:
5666
6103
 
5667
- ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}``
6104
+ ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}``
5668
6105
 
5669
6106
  Example target filter in YAML:
5670
6107
 
@@ -6059,8 +6496,8 @@ class CfnHookVersionProps:
6059
6496
  ) -> None:
6060
6497
  '''Properties for defining a ``CfnHookVersion``.
6061
6498
 
6062
- :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.
6063
- :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``
6064
6501
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
6065
6502
  :param logging_config: Contains logging configuration information for an extension.
6066
6503
 
@@ -6102,7 +6539,7 @@ class CfnHookVersionProps:
6102
6539
 
6103
6540
  @builtins.property
6104
6541
  def schema_handler_package(self) -> builtins.str:
6105
- '''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.
6106
6543
 
6107
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* .
6108
6545
  .. epigraph::
@@ -6117,12 +6554,12 @@ class CfnHookVersionProps:
6117
6554
 
6118
6555
  @builtins.property
6119
6556
  def type_name(self) -> builtins.str:
6120
- '''The unique name for your hook.
6557
+ '''The unique name for your Hook.
6121
6558
 
6122
- 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`` .
6123
6560
  .. epigraph::
6124
6561
 
6125
- 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:
6126
6563
 
6127
6564
  - ``Alexa``
6128
6565
  - ``AMZN``
@@ -6264,7 +6701,7 @@ class CfnLambdaHookProps:
6264
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.
6265
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``
6266
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``
6267
- :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``
6268
6705
 
6269
6706
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-lambdahook.html
6270
6707
  :exampleMetadata: fixture=_generated
@@ -6435,7 +6872,7 @@ class CfnLambdaHookProps:
6435
6872
 
6436
6873
  Example target filter in JSON:
6437
6874
 
6438
- ``"TargetFilters": {"Actions": [ "Create", "Update", "Delete" ]}``
6875
+ ``"TargetFilters": {"Actions": [ "CREATE", "UPDATE", "DELETE" ]}``
6439
6876
 
6440
6877
  Example target filter in YAML:
6441
6878
 
@@ -6776,7 +7213,7 @@ class CfnModuleVersionProps:
6776
7213
  '''Properties for defining a ``CfnModuleVersion``.
6777
7214
 
6778
7215
  :param module_name: The name of the module being registered.
6779
- :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.
6780
7217
 
6781
7218
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html
6782
7219
  :exampleMetadata: fixture=_generated
@@ -6813,7 +7250,7 @@ class CfnModuleVersionProps:
6813
7250
 
6814
7251
  @builtins.property
6815
7252
  def module_package(self) -> builtins.str:
6816
- '''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.
6817
7254
 
6818
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* .
6819
7256
  .. epigraph::
@@ -6885,7 +7322,7 @@ class CfnOutput(CfnElement, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnO
6885
7322
  export_name: typing.Optional[builtins.str] = None,
6886
7323
  key: typing.Optional[builtins.str] = None,
6887
7324
  ) -> None:
6888
- '''Creates an CfnOutput value for this stack.
7325
+ '''Creates a CfnOutput value for this stack.
6889
7326
 
6890
7327
  :param scope: The parent construct.
6891
7328
  :param id: -
@@ -8318,6 +8755,11 @@ class CfnResource(
8318
8755
  '''AWS resource type.'''
8319
8756
  return typing.cast(builtins.str, jsii.get(self, "cfnResourceType"))
8320
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
+
8321
8763
  @builtins.property
8322
8764
  @jsii.member(jsii_name="updatedProperites")
8323
8765
  def _updated_properites(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -8669,7 +9111,7 @@ class CfnResourceVersionProps:
8669
9111
  ) -> None:
8670
9112
  '''Properties for defining a ``CfnResourceVersion``.
8671
9113
 
8672
- :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.
8673
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``
8674
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.
8675
9117
  :param logging_config: Logging configuration information for a resource.
@@ -8712,7 +9154,7 @@ class CfnResourceVersionProps:
8712
9154
 
8713
9155
  @builtins.property
8714
9156
  def schema_handler_package(self) -> builtins.str:
8715
- '''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.
8716
9158
 
8717
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* .
8718
9160
  .. epigraph::
@@ -9038,7 +9480,7 @@ class CfnStackProps:
9038
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).
9039
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.
9040
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.
9041
- :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.
9042
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.
9043
9485
 
9044
9486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html
@@ -9126,7 +9568,7 @@ class CfnStackProps:
9126
9568
 
9127
9569
  @builtins.property
9128
9570
  def template_url(self) -> typing.Optional[builtins.str]:
9129
- '''The URL of a file containing the template body.
9571
+ '''The URL of a file that contains the template body.
9130
9572
 
9131
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://`` .
9132
9574
 
@@ -9205,21 +9647,21 @@ class CfnStackSetProps:
9205
9647
  ) -> None:
9206
9648
  '''Properties for defining a ``CfnStackSet``.
9207
9649
 
9208
- :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* .
9209
- :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.
9210
- :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`` .
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`` .
9211
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.)
9212
- :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`` .
9213
- :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* .
9214
- :param description: A description of the stack set.
9215
- :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+=,.@-]+``
9216
- :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.
9217
- :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
9218
- :param parameters: The input parameters for the stack set template.
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.
9219
9661
  :param stack_instances_group: A group of stack instances with parameters in some specific accounts and Regions.
9220
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.
9221
- :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.
9222
- :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`` .
9223
9665
 
9224
9666
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html
9225
9667
  :exampleMetadata: fixture=_generated
@@ -9333,10 +9775,10 @@ class CfnStackSetProps:
9333
9775
 
9334
9776
  @builtins.property
9335
9777
  def permission_model(self) -> builtins.str:
9336
- '''Describes how the IAM roles required for stack set operations are created.
9778
+ '''Describes how the IAM roles required for StackSet operations are created.
9337
9779
 
9338
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* .
9339
- - 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* .
9340
9782
 
9341
9783
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-permissionmodel
9342
9784
  '''
@@ -9346,9 +9788,9 @@ class CfnStackSetProps:
9346
9788
 
9347
9789
  @builtins.property
9348
9790
  def stack_set_name(self) -> builtins.str:
9349
- '''The name to associate with the stack set.
9791
+ '''The name to associate with the StackSet.
9350
9792
 
9351
- 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.
9352
9794
 
9353
9795
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-stacksetname
9354
9796
  '''
@@ -9358,11 +9800,11 @@ class CfnStackSetProps:
9358
9800
 
9359
9801
  @builtins.property
9360
9802
  def administration_role_arn(self) -> typing.Optional[builtins.str]:
9361
- '''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.
9362
9804
 
9363
- 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.
9364
9806
 
9365
- 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* .
9366
9808
 
9367
9809
  Valid only if the permissions model is ``SELF_MANAGED`` .
9368
9810
 
@@ -9390,14 +9832,14 @@ class CfnStackSetProps:
9390
9832
  def call_as(self) -> typing.Optional[builtins.str]:
9391
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.
9392
9834
 
9393
- 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.
9394
9836
 
9395
- - To create a stack set with service-managed permissions while signed in to the management account, specify ``SELF`` .
9396
- - 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`` .
9397
9839
 
9398
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* .
9399
9841
 
9400
- 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.
9401
9843
 
9402
9844
  Valid only if the permissions model is ``SERVICE_MANAGED`` .
9403
9845
 
@@ -9408,9 +9850,9 @@ class CfnStackSetProps:
9408
9850
 
9409
9851
  @builtins.property
9410
9852
  def capabilities(self) -> typing.Optional[typing.List[builtins.str]]:
9411
- '''The capabilities that are allowed in the stack set.
9853
+ '''The capabilities that are allowed in the StackSet.
9412
9854
 
9413
- 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* .
9414
9856
 
9415
9857
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-capabilities
9416
9858
  '''
@@ -9419,7 +9861,7 @@ class CfnStackSetProps:
9419
9861
 
9420
9862
  @builtins.property
9421
9863
  def description(self) -> typing.Optional[builtins.str]:
9422
- '''A description of the stack set.
9864
+ '''A description of the StackSet.
9423
9865
 
9424
9866
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-description
9425
9867
  '''
@@ -9428,9 +9870,9 @@ class CfnStackSetProps:
9428
9870
 
9429
9871
  @builtins.property
9430
9872
  def execution_role_name(self) -> typing.Optional[builtins.str]:
9431
- '''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.
9432
9874
 
9433
- 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.
9434
9876
 
9435
9877
  Valid only if the permissions model is ``SELF_MANAGED`` .
9436
9878
 
@@ -9450,7 +9892,7 @@ class CfnStackSetProps:
9450
9892
 
9451
9893
  If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.
9452
9894
 
9453
- 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.
9454
9896
 
9455
9897
  When inactive (default), StackSets performs one operation at a time in request order.
9456
9898
 
@@ -9463,7 +9905,7 @@ class CfnStackSetProps:
9463
9905
  def operation_preferences(
9464
9906
  self,
9465
9907
  ) -> typing.Optional[typing.Union["IResolvable", "CfnStackSet.OperationPreferencesProperty"]]:
9466
- '''The user-specified preferences for how CloudFormation performs a stack set operation.
9908
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.
9467
9909
 
9468
9910
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-operationpreferences
9469
9911
  '''
@@ -9474,7 +9916,7 @@ class CfnStackSetProps:
9474
9916
  def parameters(
9475
9917
  self,
9476
9918
  ) -> typing.Optional[typing.Union["IResolvable", typing.List[typing.Union["IResolvable", "CfnStackSet.ParameterProperty"]]]]:
9477
- '''The input parameters for the stack set template.
9919
+ '''The input parameters for the StackSet template.
9478
9920
 
9479
9921
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-parameters
9480
9922
  '''
@@ -9509,7 +9951,7 @@ class CfnStackSetProps:
9509
9951
  def template_body(self) -> typing.Optional[builtins.str]:
9510
9952
  '''The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes.
9511
9953
 
9512
- 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.
9513
9955
 
9514
9956
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stackset.html#cfn-cloudformation-stackset-templatebody
9515
9957
  '''
@@ -9518,7 +9960,7 @@ class CfnStackSetProps:
9518
9960
 
9519
9961
  @builtins.property
9520
9962
  def template_url(self) -> typing.Optional[builtins.str]:
9521
- '''The URL of a file containing the template body.
9963
+ '''The URL of a file that contains the template body.
9522
9964
 
9523
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://`` .
9524
9966
 
@@ -10066,7 +10508,7 @@ class CfnTypeActivationProps:
10066
10508
  :param publisher_id: The ID of the extension publisher. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
10067
10509
  :param type: The extension type. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
10068
10510
  :param type_name: The name of the extension. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
10069
- :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.
10070
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.
10071
10513
 
10072
10514
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-typeactivation.html
@@ -10222,7 +10664,7 @@ class CfnTypeActivationProps:
10222
10664
 
10223
10665
  @builtins.property
10224
10666
  def type_name_alias(self) -> typing.Optional[builtins.str]:
10225
- '''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.
10226
10668
 
10227
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.
10228
10670
 
@@ -10475,7 +10917,7 @@ class CfnWaitConditionProps:
10475
10917
  '''Properties for defining a ``CfnWaitCondition``.
10476
10918
 
10477
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.
10478
- :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.
10479
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.
10480
10922
 
10481
10923
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-waitcondition.html
@@ -10523,7 +10965,7 @@ class CfnWaitConditionProps:
10523
10965
  def handle(self) -> typing.Optional[builtins.str]:
10524
10966
  '''A reference to the wait condition handle used to signal this wait condition.
10525
10967
 
10526
- 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.
10527
10969
 
10528
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.
10529
10971
 
@@ -10715,12 +11157,14 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10715
11157
  scope: _constructs_77d1e7e8.Construct,
10716
11158
  *,
10717
11159
  provider: builtins.str,
11160
+ additional_cache_key: typing.Optional[builtins.str] = None,
10718
11161
  include_environment: typing.Optional[builtins.bool] = None,
10719
11162
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10720
11163
  ) -> "GetContextKeyResult":
10721
11164
  '''
10722
11165
  :param scope: -
10723
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
10724
11168
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
10725
11169
  :param props: Provider-specific properties.
10726
11170
 
@@ -10730,7 +11174,10 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10730
11174
  type_hints = typing.get_type_hints(_typecheckingstub__43574b9eb91c9a4b6203c6c4dae8ace9123c2746c25560e39a6b8a8db6ca67ff)
10731
11175
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
10732
11176
  options = GetContextKeyOptions(
10733
- 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,
10734
11181
  )
10735
11182
 
10736
11183
  return typing.cast("GetContextKeyResult", jsii.sinvoke(cls, "getKey", [scope, options]))
@@ -10745,6 +11192,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10745
11192
  ignore_error_on_missing_context: typing.Optional[builtins.bool] = None,
10746
11193
  must_exist: typing.Optional[builtins.bool] = None,
10747
11194
  provider: builtins.str,
11195
+ additional_cache_key: typing.Optional[builtins.str] = None,
10748
11196
  include_environment: typing.Optional[builtins.bool] = None,
10749
11197
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
10750
11198
  ) -> "GetContextValueResult":
@@ -10754,6 +11202,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10754
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
10755
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
10756
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
10757
11206
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
10758
11207
  :param props: Provider-specific properties.
10759
11208
  '''
@@ -10765,6 +11214,7 @@ class ContextProvider(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.ContextPro
10765
11214
  ignore_error_on_missing_context=ignore_error_on_missing_context,
10766
11215
  must_exist=must_exist,
10767
11216
  provider=provider,
11217
+ additional_cache_key=additional_cache_key,
10768
11218
  include_environment=include_environment,
10769
11219
  props=props,
10770
11220
  )
@@ -11558,7 +12008,12 @@ class CustomResourceProviderRuntime(enum.Enum):
11558
12008
  :stability: deprecated
11559
12009
  '''
11560
12010
  NODEJS_16_X = "NODEJS_16_X"
11561
- '''Node.js 16.x.'''
12011
+ '''(deprecated) Node.js 16.x.
12012
+
12013
+ :deprecated: Use latest version
12014
+
12015
+ :stability: deprecated
12016
+ '''
11562
12017
  NODEJS_18_X = "NODEJS_18_X"
11563
12018
  '''Node.js 18.x.'''
11564
12019
  NODEJS_20_X = "NODEJS_20_X"
@@ -11648,9 +12103,16 @@ class DefaultStackSynthesizerProps:
11648
12103
 
11649
12104
  Example::
11650
12105
 
11651
- 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",
11652
12114
  synthesizer=DefaultStackSynthesizer(
11653
- file_assets_bucket_name="amzn-s3-demo-bucket"
12115
+ qualifier="custom"
11654
12116
  )
11655
12117
  )
11656
12118
  '''
@@ -12015,6 +12477,7 @@ class DefaultStackSynthesizerProps:
12015
12477
  "cache_from": "cacheFrom",
12016
12478
  "cache_to": "cacheTo",
12017
12479
  "file": "file",
12480
+ "network": "network",
12018
12481
  "platform": "platform",
12019
12482
  "target_stage": "targetStage",
12020
12483
  },
@@ -12028,6 +12491,7 @@ class DockerBuildOptions:
12028
12491
  cache_from: typing.Optional[typing.Sequence[typing.Union["DockerCacheOption", typing.Dict[builtins.str, typing.Any]]]] = None,
12029
12492
  cache_to: typing.Optional[typing.Union["DockerCacheOption", typing.Dict[builtins.str, typing.Any]]] = None,
12030
12493
  file: typing.Optional[builtins.str] = None,
12494
+ network: typing.Optional[builtins.str] = None,
12031
12495
  platform: typing.Optional[builtins.str] = None,
12032
12496
  target_stage: typing.Optional[builtins.str] = None,
12033
12497
  ) -> None:
@@ -12038,6 +12502,7 @@ class DockerBuildOptions:
12038
12502
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from args are passed
12039
12503
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to args are passed
12040
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
12041
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
12042
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
12043
12508
 
@@ -12069,6 +12534,7 @@ class DockerBuildOptions:
12069
12534
  check_type(argname="argument cache_from", value=cache_from, expected_type=type_hints["cache_from"])
12070
12535
  check_type(argname="argument cache_to", value=cache_to, expected_type=type_hints["cache_to"])
12071
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"])
12072
12538
  check_type(argname="argument platform", value=platform, expected_type=type_hints["platform"])
12073
12539
  check_type(argname="argument target_stage", value=target_stage, expected_type=type_hints["target_stage"])
12074
12540
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -12082,6 +12548,8 @@ class DockerBuildOptions:
12082
12548
  self._values["cache_to"] = cache_to
12083
12549
  if file is not None:
12084
12550
  self._values["file"] = file
12551
+ if network is not None:
12552
+ self._values["network"] = network
12085
12553
  if platform is not None:
12086
12554
  self._values["platform"] = platform
12087
12555
  if target_stage is not None:
@@ -12132,6 +12600,15 @@ class DockerBuildOptions:
12132
12600
  result = self._values.get("file")
12133
12601
  return typing.cast(typing.Optional[builtins.str], result)
12134
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
+
12135
12612
  @builtins.property
12136
12613
  def platform(self) -> typing.Optional[builtins.str]:
12137
12614
  '''Set platform if server is multi-platform capable. *Requires Docker Engine API v1.38+*.
@@ -12342,6 +12819,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12342
12819
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
12343
12820
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
12344
12821
  file: typing.Optional[builtins.str] = None,
12822
+ network: typing.Optional[builtins.str] = None,
12345
12823
  platform: typing.Optional[builtins.str] = None,
12346
12824
  target_stage: typing.Optional[builtins.str] = None,
12347
12825
  ) -> "DockerImage":
@@ -12353,6 +12831,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12353
12831
  :param cache_from: Cache from options to pass to the ``docker build`` command. Default: - no cache from args are passed
12354
12832
  :param cache_to: Cache to options to pass to the ``docker build`` command. Default: - no cache to args are passed
12355
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
12356
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
12357
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
12358
12837
  '''
@@ -12365,6 +12844,7 @@ class DockerImage(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.DockerImage"):
12365
12844
  cache_from=cache_from,
12366
12845
  cache_to=cache_to,
12367
12846
  file=file,
12847
+ network=network,
12368
12848
  platform=platform,
12369
12849
  target_stage=target_stage,
12370
12850
  )
@@ -13238,19 +13718,19 @@ class Duration(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Duration"):
13238
13718
 
13239
13719
  Example::
13240
13720
 
13241
- # my_role: iam.Role
13721
+ import aws_cdk.aws_lambda as lambda_
13242
13722
 
13243
- cr.AwsCustomResource(self, "Customized",
13244
- role=my_role, # must be assumable by the `lambda.amazonaws.com` service principal
13245
- timeout=Duration.minutes(10), # defaults to 2 minutes
13246
- memory_size=1025, # defaults to 512 if installLatestAwsSdk is true
13247
- log_group=logs.LogGroup(self, "AwsCustomResourceLogs",
13248
- retention=logs.RetentionDays.ONE_DAY
13249
- ),
13250
- function_name="my-custom-name", # defaults to a CloudFormation generated name
13251
- removal_policy=RemovalPolicy.RETAIN, # defaults to `RemovalPolicy.DESTROY`
13252
- policy=cr.AwsCustomResourcePolicy.from_sdk_calls(
13253
- 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
+ )
13254
13734
  )
13255
13735
  )
13256
13736
  '''
@@ -13561,7 +14041,6 @@ class Environment:
13561
14041
  Example::
13562
14042
 
13563
14043
  import aws_cdk as cdk
13564
- import aws_cdk.aws_cloudwatch as cloudwatch
13565
14044
 
13566
14045
 
13567
14046
  app = cdk.App()
@@ -13569,18 +14048,10 @@ class Environment:
13569
14048
 
13570
14049
  global_table = dynamodb.TableV2(stack, "GlobalTable",
13571
14050
  partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
13572
- replicas=[dynamodb.ReplicaTableProps(region="us-east-1"), dynamodb.ReplicaTableProps(region="us-east-2")
13573
- ]
14051
+ replicas=[dynamodb.ReplicaTableProps(region="us-east-1")]
13574
14052
  )
13575
14053
 
13576
- # metric is only for the table in us-west-2
13577
- metric = global_table.metric_consumed_read_capacity_units()
13578
-
13579
- cloudwatch.Alarm(self, "Alarm",
13580
- metric=metric,
13581
- evaluation_periods=1,
13582
- threshold=1
13583
- )
14054
+ global_table.add_replica(region="us-east-2", deletion_protection=True)
13584
14055
  '''
13585
14056
  if __debug__:
13586
14057
  type_hints = typing.get_type_hints(_typecheckingstub__779551ef0a4b144070fd2c3e88ff076e32ad12d30facdc65a940b7a8791f27c6)
@@ -13667,6 +14138,21 @@ class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Errors"):
13667
14138
  check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13668
14139
  return typing.cast(builtins.bool, jsii.sinvoke(cls, "isAssertionError", [x]))
13669
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
+
13670
14156
  @jsii.member(jsii_name="isCloudAssemblyError")
13671
14157
  @builtins.classmethod
13672
14158
  def is_cloud_assembly_error(cls, x: typing.Any) -> builtins.bool:
@@ -13696,6 +14182,20 @@ class Errors(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Errors"):
13696
14182
  check_type(argname="argument x", value=x, expected_type=type_hints["x"])
13697
14183
  return typing.cast(builtins.bool, jsii.sinvoke(cls, "isConstructError", [x]))
13698
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
+
13699
14199
  @jsii.member(jsii_name="isValidationError")
13700
14200
  @builtins.classmethod
13701
14201
  def is_validation_error(cls, x: typing.Any) -> builtins.bool:
@@ -13827,17 +14327,16 @@ class ExportValueOptions:
13827
14327
  :param description: The description of the outputs. Default: - No description
13828
14328
  :param name: The name of the export to create. Default: - A name is automatically chosen
13829
14329
 
13830
- :exampleMetadata: fixture=_generated
14330
+ :exampleMetadata: infused
13831
14331
 
13832
14332
  Example::
13833
14333
 
13834
- # The code below shows an example of how to instantiate this type.
13835
- # The values are placeholders you should change.
13836
- import aws_cdk as cdk
14334
+ # stack: Stack
13837
14335
 
13838
- export_value_options = cdk.ExportValueOptions(
13839
- description="description",
13840
- name="name"
14336
+
14337
+ stack.export_value(my_bucket.bucket_name,
14338
+ name="TheAwesomeBucket",
14339
+ description="The name of an S3 bucket"
13841
14340
  )
13842
14341
  '''
13843
14342
  if __debug__:
@@ -15279,6 +15778,7 @@ class Fn(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Fn"):
15279
15778
  jsii_struct_bases=[],
15280
15779
  name_mapping={
15281
15780
  "provider": "provider",
15781
+ "additional_cache_key": "additionalCacheKey",
15282
15782
  "include_environment": "includeEnvironment",
15283
15783
  "props": "props",
15284
15784
  },
@@ -15288,11 +15788,13 @@ class GetContextKeyOptions:
15288
15788
  self,
15289
15789
  *,
15290
15790
  provider: builtins.str,
15791
+ additional_cache_key: typing.Optional[builtins.str] = None,
15291
15792
  include_environment: typing.Optional[builtins.bool] = None,
15292
15793
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
15293
15794
  ) -> None:
15294
15795
  '''
15295
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
15296
15798
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
15297
15799
  :param props: Provider-specific properties.
15298
15800
 
@@ -15310,6 +15812,7 @@ class GetContextKeyOptions:
15310
15812
  provider="provider",
15311
15813
 
15312
15814
  # the properties below are optional
15815
+ additional_cache_key="additionalCacheKey",
15313
15816
  include_environment=False,
15314
15817
  props={
15315
15818
  "props_key": props
@@ -15319,11 +15822,14 @@ class GetContextKeyOptions:
15319
15822
  if __debug__:
15320
15823
  type_hints = typing.get_type_hints(_typecheckingstub__4a3bc64bd38ef14ad5ebdf5807563d2355b26f4f0c446c315782c9818b76192a)
15321
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"])
15322
15826
  check_type(argname="argument include_environment", value=include_environment, expected_type=type_hints["include_environment"])
15323
15827
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
15324
15828
  self._values: typing.Dict[builtins.str, typing.Any] = {
15325
15829
  "provider": provider,
15326
15830
  }
15831
+ if additional_cache_key is not None:
15832
+ self._values["additional_cache_key"] = additional_cache_key
15327
15833
  if include_environment is not None:
15328
15834
  self._values["include_environment"] = include_environment
15329
15835
  if props is not None:
@@ -15336,6 +15842,15 @@ class GetContextKeyOptions:
15336
15842
  assert result is not None, "Required property 'provider' is missing"
15337
15843
  return typing.cast(builtins.str, result)
15338
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
+
15339
15854
  @builtins.property
15340
15855
  def include_environment(self) -> typing.Optional[builtins.bool]:
15341
15856
  '''Whether to include the stack's account and region automatically.
@@ -15434,6 +15949,7 @@ class GetContextKeyResult:
15434
15949
  jsii_struct_bases=[GetContextKeyOptions],
15435
15950
  name_mapping={
15436
15951
  "provider": "provider",
15952
+ "additional_cache_key": "additionalCacheKey",
15437
15953
  "include_environment": "includeEnvironment",
15438
15954
  "props": "props",
15439
15955
  "dummy_value": "dummyValue",
@@ -15446,6 +15962,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15446
15962
  self,
15447
15963
  *,
15448
15964
  provider: builtins.str,
15965
+ additional_cache_key: typing.Optional[builtins.str] = None,
15449
15966
  include_environment: typing.Optional[builtins.bool] = None,
15450
15967
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
15451
15968
  dummy_value: typing.Any,
@@ -15454,6 +15971,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15454
15971
  ) -> None:
15455
15972
  '''
15456
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
15457
15975
  :param include_environment: Whether to include the stack's account and region automatically. Default: true
15458
15976
  :param props: Provider-specific properties.
15459
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``.
@@ -15476,6 +15994,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15476
15994
  provider="provider",
15477
15995
 
15478
15996
  # the properties below are optional
15997
+ additional_cache_key="additionalCacheKey",
15479
15998
  ignore_error_on_missing_context=False,
15480
15999
  include_environment=False,
15481
16000
  must_exist=False,
@@ -15487,6 +16006,7 @@ class GetContextValueOptions(GetContextKeyOptions):
15487
16006
  if __debug__:
15488
16007
  type_hints = typing.get_type_hints(_typecheckingstub__16ea3024419c210903405ca05f7de1bb3fad517c101a7a84926fb5e09ac784ec)
15489
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"])
15490
16010
  check_type(argname="argument include_environment", value=include_environment, expected_type=type_hints["include_environment"])
15491
16011
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
15492
16012
  check_type(argname="argument dummy_value", value=dummy_value, expected_type=type_hints["dummy_value"])
@@ -15496,6 +16016,8 @@ class GetContextValueOptions(GetContextKeyOptions):
15496
16016
  "provider": provider,
15497
16017
  "dummy_value": dummy_value,
15498
16018
  }
16019
+ if additional_cache_key is not None:
16020
+ self._values["additional_cache_key"] = additional_cache_key
15499
16021
  if include_environment is not None:
15500
16022
  self._values["include_environment"] = include_environment
15501
16023
  if props is not None:
@@ -15512,6 +16034,15 @@ class GetContextValueOptions(GetContextKeyOptions):
15512
16034
  assert result is not None, "Required property 'provider' is missing"
15513
16035
  return typing.cast(builtins.str, result)
15514
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
+
15515
16046
  @builtins.property
15516
16047
  def include_environment(self) -> typing.Optional[builtins.bool]:
15517
16048
  '''Whether to include the stack's account and region automatically.
@@ -16037,6 +16568,50 @@ class _ICfnResourceOptionsProxy:
16037
16568
  typing.cast(typing.Any, ICfnResourceOptions).__jsii_proxy_class__ = lambda : _ICfnResourceOptionsProxy
16038
16569
 
16039
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
+
16040
16615
  @jsii.interface(jsii_type="aws-cdk-lib.IFragmentConcatenator")
16041
16616
  class IFragmentConcatenator(typing_extensions.Protocol):
16042
16617
  '''Function used to concatenate symbols in the target document language.
@@ -16774,22 +17349,12 @@ typing.cast(typing.Any, IResolveContext).__jsii_proxy_class__ = lambda : _IResol
16774
17349
 
16775
17350
 
16776
17351
  @jsii.interface(jsii_type="aws-cdk-lib.IResource")
16777
- class IResource(_constructs_77d1e7e8.IConstruct, typing_extensions.Protocol):
16778
- '''Interface for the Resource construct.'''
16779
-
16780
- @builtins.property
16781
- @jsii.member(jsii_name="env")
16782
- def env(self) -> "ResourceEnvironment":
16783
- '''The environment this resource belongs to.
16784
-
16785
- For resources that are created and managed by the CDK
16786
- (generally, those created by creating new class instances like Role, Bucket, etc.),
16787
- this is always the same as the environment of the stack they belong to;
16788
- however, for imported resources
16789
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
16790
- that might be different than the stack they were imported into.
16791
- '''
16792
- ...
17352
+ class IResource(
17353
+ _constructs_77d1e7e8.IConstruct,
17354
+ _IEnvironmentAware_f39049ee,
17355
+ typing_extensions.Protocol,
17356
+ ):
17357
+ '''Interface for L2 Resource constructs.'''
16793
17358
 
16794
17359
  @builtins.property
16795
17360
  @jsii.member(jsii_name="stack")
@@ -16816,25 +17381,12 @@ class IResource(_constructs_77d1e7e8.IConstruct, typing_extensions.Protocol):
16816
17381
 
16817
17382
  class _IResourceProxy(
16818
17383
  jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
17384
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
16819
17385
  ):
16820
- '''Interface for the Resource construct.'''
17386
+ '''Interface for L2 Resource constructs.'''
16821
17387
 
16822
17388
  __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.IResource"
16823
17389
 
16824
- @builtins.property
16825
- @jsii.member(jsii_name="env")
16826
- def env(self) -> "ResourceEnvironment":
16827
- '''The environment this resource belongs to.
16828
-
16829
- For resources that are created and managed by the CDK
16830
- (generally, those created by creating new class instances like Role, Bucket, etc.),
16831
- this is always the same as the environment of the stack they belong to;
16832
- however, for imported resources
16833
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
16834
- that might be different than the stack they were imported into.
16835
- '''
16836
- return typing.cast("ResourceEnvironment", jsii.get(self, "env"))
16837
-
16838
17390
  @builtins.property
16839
17391
  @jsii.member(jsii_name="stack")
16840
17392
  def stack(self) -> "Stack":
@@ -17833,6 +18385,22 @@ class IgnoreStrategy(
17833
18385
  '''
17834
18386
  ...
17835
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
+
17836
18404
  @jsii.member(jsii_name="ignores")
17837
18405
  @abc.abstractmethod
17838
18406
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
@@ -19896,35 +20464,53 @@ class RemovalPolicy(enum.Enum):
19896
20464
  cfn_bucket = bucket.node.find_child("Resource")
19897
20465
  cfn_bucket.apply_removal_policy(RemovalPolicy.DESTROY)
19898
20466
 
19899
- :exampleMetadata: infused
20467
+ :exampleMetadata: fixture=default infused
19900
20468
 
19901
20469
  Example::
19902
20470
 
19903
- # 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")
19904
20478
 
19905
- cr.AwsCustomResource(self, "Customized",
19906
- role=my_role, # must be assumable by the `lambda.amazonaws.com` service principal
19907
- timeout=Duration.minutes(10), # defaults to 2 minutes
19908
- memory_size=1025, # defaults to 512 if installLatestAwsSdk is true
19909
- log_group=logs.LogGroup(self, "AwsCustomResourceLogs",
19910
- 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
+ )
19911
20490
  ),
19912
- function_name="my-custom-name", # defaults to a CloudFormation generated name
19913
- removal_policy=RemovalPolicy.RETAIN, # defaults to `RemovalPolicy.DESTROY`
19914
- policy=cr.AwsCustomResourcePolicy.from_sdk_calls(
19915
- 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
19916
20495
  )
19917
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
+ )
19918
20505
  '''
19919
20506
 
19920
20507
  DESTROY = "DESTROY"
19921
- '''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.
19922
20511
 
19923
- It means that when the resource is
19924
- removed from the app, it will be physically destroyed.
20512
+ Most resources default to this removal policy.
19925
20513
  '''
19926
- RETAIN = "RETAIN"
19927
- '''This uses the 'Retain' DeletionPolicy, which will cause the resource to be retained in the account, but orphaned from the stack.'''
19928
20514
  SNAPSHOT = "SNAPSHOT"
19929
20515
  '''This retention policy deletes the resource, but saves a snapshot of its data before deleting, so that it can be re-created later.
19930
20516
 
@@ -20046,18 +20632,36 @@ class RemovalPolicyProps:
20046
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
20047
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
20048
20634
 
20049
- :exampleMetadata: fixture=_generated
20635
+ :exampleMetadata: infused
20050
20636
 
20051
20637
  Example::
20052
20638
 
20053
- # The code below shows an example of how to instantiate this type.
20054
- # The values are placeholders you should change.
20055
- import aws_cdk as cdk
20639
+ # scope: Construct
20640
+ # parent: Construct
20641
+ # bucket: s3.CfnBucket
20056
20642
 
20057
- removal_policy_props = cdk.RemovalPolicyProps(
20058
- apply_to_resource_types=["applyToResourceTypes"],
20059
- exclude_resource_types=["excludeResourceTypes"],
20060
- 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"]
20061
20665
  )
20062
20666
  '''
20063
20667
  if __debug__:
@@ -20416,7 +21020,7 @@ class Resource(
20416
21020
  metaclass=jsii.JSIIAbstractClass,
20417
21021
  jsii_type="aws-cdk-lib.Resource",
20418
21022
  ):
20419
- '''A construct which represents an AWS resource.
21023
+ '''An L2 construct which represents an AWS resource.
20420
21024
 
20421
21025
  :exampleMetadata: infused
20422
21026
 
@@ -20579,17 +21183,18 @@ class Resource(
20579
21183
 
20580
21184
  @builtins.property
20581
21185
  @jsii.member(jsii_name="env")
20582
- def env(self) -> "ResourceEnvironment":
21186
+ def env(self) -> _ResourceEnvironment_603baf00:
20583
21187
  '''The environment this resource belongs to.
20584
21188
 
20585
- For resources that are created and managed by the CDK
20586
- (generally, those created by creating new class instances like Role, Bucket, etc.),
20587
- this is always the same as the environment of the stack they belong to;
20588
- however, for imported resources
20589
- (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
20590
- 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.
20591
21196
  '''
20592
- return typing.cast("ResourceEnvironment", jsii.get(self, "env"))
21197
+ return typing.cast(_ResourceEnvironment_603baf00, jsii.get(self, "env"))
20593
21198
 
20594
21199
  @builtins.property
20595
21200
  @jsii.member(jsii_name="physicalName")
@@ -20628,10 +21233,10 @@ class ResourceEnvironment:
20628
21233
  def __init__(self, *, account: builtins.str, region: builtins.str) -> None:
20629
21234
  '''Represents the environment a given resource lives in.
20630
21235
 
20631
- Used as the return value for the ``IResource.env`` property.
21236
+ Used as the return value for the ``IEnvironmentAware.env`` property.
20632
21237
 
20633
- :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.
20634
- :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.
20635
21240
 
20636
21241
  :exampleMetadata: fixture=_generated
20637
21242
 
@@ -20641,7 +21246,7 @@ class ResourceEnvironment:
20641
21246
  # The values are placeholders you should change.
20642
21247
  import aws_cdk as cdk
20643
21248
 
20644
- resource_environment = cdk.ResourceEnvironment(
21249
+ resource_environment = cdk.interfaces.ResourceEnvironment(
20645
21250
  account="account",
20646
21251
  region="region"
20647
21252
  )
@@ -20657,12 +21262,12 @@ class ResourceEnvironment:
20657
21262
 
20658
21263
  @builtins.property
20659
21264
  def account(self) -> builtins.str:
20660
- '''The AWS account ID that this resource belongs to.
21265
+ '''The AWS Account ID that this resource belongs to.
20661
21266
 
20662
- Since this can be a Token
20663
- (for example, when the account is CloudFormation's AWS::AccountId intrinsic),
20664
- make sure to use Token.compareStrings()
20665
- 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.
20666
21271
  '''
20667
21272
  result = self._values.get("account")
20668
21273
  assert result is not None, "Required property 'account' is missing"
@@ -20670,12 +21275,11 @@ class ResourceEnvironment:
20670
21275
 
20671
21276
  @builtins.property
20672
21277
  def region(self) -> builtins.str:
20673
- '''The AWS region that this resource belongs to.
21278
+ '''The AWS Region that this resource belongs to.
20674
21279
 
20675
- Since this can be a Token
20676
- (for example, when the region is CloudFormation's AWS::Region intrinsic),
20677
- make sure to use Token.compareStrings()
20678
- 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.
20679
21283
  '''
20680
21284
  result = self._values.get("region")
20681
21285
  assert result is not None, "Required property 'region' is missing"
@@ -21063,16 +21667,20 @@ class SecretValue(
21063
21667
 
21064
21668
  Example::
21065
21669
 
21066
- # my_hosted_zone: route53.IPublicHostedZone
21067
-
21068
-
21069
- ses.EmailIdentity(self, "Identity",
21070
- identity=ses.Identity.public_hosted_zone(my_hosted_zone),
21071
- dkim_identity=ses.DkimIdentity.byo_dkim(
21072
- private_key=SecretValue.secrets_manager("dkim-private-key"),
21073
- public_key="...base64-encoded-public-key...",
21074
- selector="selector"
21075
- )
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]
21076
21684
  )
21077
21685
  '''
21078
21686
 
@@ -21113,6 +21721,34 @@ class SecretValue(
21113
21721
  check_type(argname="argument ref", value=ref, expected_type=type_hints["ref"])
21114
21722
  return typing.cast("SecretValue", jsii.sinvoke(cls, "cfnDynamicReference", [ref]))
21115
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
+
21116
21752
  @jsii.member(jsii_name="cfnParameter")
21117
21753
  @builtins.classmethod
21118
21754
  def cfn_parameter(cls, param: CfnParameter) -> "SecretValue":
@@ -21393,24 +22029,24 @@ class Size(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Size"):
21393
22029
 
21394
22030
  Example::
21395
22031
 
21396
- # bucket: s3.Bucket
21397
- # Provide a Lambda function that will transform records before delivery, with custom
21398
- # buffering and retry configuration
21399
- lambda_function = lambda_.Function(self, "Processor",
21400
- runtime=lambda_.Runtime.NODEJS_LATEST,
21401
- handler="index.handler",
21402
- code=lambda_.Code.from_asset(path.join(__dirname, "process-records"))
21403
- )
21404
- lambda_processor = firehose.LambdaFunctionProcessor(lambda_function,
21405
- buffer_interval=Duration.minutes(5),
21406
- buffer_size=Size.mebibytes(5),
21407
- retries=5
21408
- )
21409
- s3_destination = firehose.S3Bucket(bucket,
21410
- processor=lambda_processor
21411
- )
21412
- firehose.DeliveryStream(self, "Delivery Stream",
21413
- 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
+ )
21414
22050
  )
21415
22051
  '''
21416
22052
 
@@ -21747,13 +22383,13 @@ class Stack(
21747
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
21748
22384
  :param description: A description of the stack. Default: - No description.
21749
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.
21750
- :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.
21751
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
21752
22388
  :param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
21753
22389
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
21754
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.
21755
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.
21756
- :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: {}
21757
22393
  :param termination_protection: Whether to enable termination protection for this stack. Default: false
21758
22394
  '''
21759
22395
  if __debug__:
@@ -21842,6 +22478,21 @@ class Stack(
21842
22478
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
21843
22479
  return typing.cast(None, jsii.invoke(self, "addMetadata", [key, value]))
21844
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
+
21845
22496
  @jsii.member(jsii_name="addTransform")
21846
22497
  def add_transform(self, transform: builtins.str) -> None:
21847
22498
  '''Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
@@ -22113,6 +22764,19 @@ class Stack(
22113
22764
  check_type(argname="argument default_value", value=default_value, expected_type=type_hints["default_value"])
22114
22765
  return typing.cast(builtins.str, jsii.invoke(self, "regionalFact", [fact_name, default_value]))
22115
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
+
22116
22780
  @jsii.member(jsii_name="renameLogicalId")
22117
22781
  def rename_logical_id(self, old_id: builtins.str, new_id: builtins.str) -> None:
22118
22782
  '''Rename a generated logical identities.
@@ -22458,13 +23122,13 @@ class StackProps:
22458
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
22459
23123
  :param description: A description of the stack. Default: - No description.
22460
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.
22461
- :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.
22462
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
22463
23127
  :param property_injectors: A list of IPropertyInjector attached to this Stack. Default: - no PropertyInjectors
22464
23128
  :param stack_name: Name to deploy the stack with. Default: - Derived from construct path.
22465
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.
22466
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.
22467
- :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: {}
22468
23132
  :param termination_protection: Whether to enable termination protection for this stack. Default: false
22469
23133
 
22470
23134
  :exampleMetadata: infused
@@ -22647,7 +23311,7 @@ class StackProps:
22647
23311
  def notification_arns(self) -> typing.Optional[typing.List[builtins.str]]:
22648
23312
  '''SNS Topic ARNs that will receive stack events.
22649
23313
 
22650
- :default: - no notfication arns.
23314
+ :default: - no notification arns.
22651
23315
  '''
22652
23316
  result = self._values.get("notification_arns")
22653
23317
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
@@ -22713,7 +23377,15 @@ class StackProps:
22713
23377
 
22714
23378
  @builtins.property
22715
23379
  def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
22716
- '''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.
22717
23389
 
22718
23390
  :default: {}
22719
23391
  '''
@@ -23284,19 +23956,15 @@ class Stage(
23284
23956
 
23285
23957
  # pipeline: pipelines.CodePipeline
23286
23958
 
23287
- preprod = MyApplicationStage(self, "PreProd")
23288
- prod = MyApplicationStage(self, "Prod")
23289
-
23290
- pipeline.add_stage(preprod,
23291
- post=[
23292
- pipelines.ShellStep("Validate Endpoint",
23293
- commands=["curl -Ssf https://my.webservice.com/"]
23294
- )
23295
- ]
23296
- )
23297
- pipeline.add_stage(prod,
23298
- pre=[pipelines.ManualApprovalStep("PromoteToProd")]
23299
- )
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
+ ))
23300
23968
  '''
23301
23969
 
23302
23970
  def __init__(
@@ -24636,7 +25304,26 @@ class Tags(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.Tags"):
24636
25304
  include_resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
24637
25305
  priority: typing.Optional[jsii.Number] = None,
24638
25306
  ) -> None:
24639
- '''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.
24640
25327
 
24641
25328
  :param key: -
24642
25329
  :param value: -
@@ -24749,25 +25436,25 @@ class TimeZone(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.TimeZone"):
24749
25436
 
24750
25437
  Example::
24751
25438
 
24752
- # target: targets.LambdaInvoke
25439
+ from aws_cdk import TimeZone
25440
+ # resource: SomeScalableResource
24753
25441
 
24754
25442
 
24755
- rate_based_schedule = Schedule(self, "Schedule",
24756
- schedule=ScheduleExpression.rate(Duration.minutes(10)),
24757
- target=target,
24758
- description="This is a test rate-based schedule"
25443
+ capacity = resource.auto_scale_capacity(
25444
+ min_capacity=1,
25445
+ max_capacity=50
24759
25446
  )
24760
25447
 
24761
- cron_based_schedule = Schedule(self, "Schedule",
24762
- schedule=ScheduleExpression.cron(
24763
- minute="0",
24764
- hour="23",
24765
- day="20",
24766
- month="11",
24767
- time_zone=TimeZone.AMERICA_NEW_YORK
24768
- ),
24769
- target=target,
24770
- 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
24771
25458
  )
24772
25459
  '''
24773
25460
 
@@ -29135,7 +29822,7 @@ class CfnCodeDeployBlueGreenHook(
29135
29822
  jsii.set(self, "trafficRoutingConfig", value) # pyright: ignore[reportArgumentType]
29136
29823
 
29137
29824
 
29138
- @jsii.implements(IInspectable)
29825
+ @jsii.implements(IInspectable, _ICustomResourceRef_337851e1)
29139
29826
  class CfnCustomResource(
29140
29827
  CfnResource,
29141
29828
  metaclass=jsii.JSIIMeta,
@@ -29176,7 +29863,8 @@ class CfnCustomResource(
29176
29863
  service_token: builtins.str,
29177
29864
  service_timeout: typing.Optional[jsii.Number] = None,
29178
29865
  ) -> None:
29179
- '''
29866
+ '''Create a new ``AWS::CloudFormation::CustomResource``.
29867
+
29180
29868
  :param scope: Scope in which this resource is defined.
29181
29869
  :param id: Construct identifier for this resource (unique in its scope).
29182
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.
@@ -29235,6 +29923,12 @@ class CfnCustomResource(
29235
29923
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
29236
29924
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
29237
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
+
29238
29932
  @builtins.property
29239
29933
  @jsii.member(jsii_name="serviceToken")
29240
29934
  def service_token(self) -> builtins.str:
@@ -29292,7 +29986,7 @@ class CfnDynamicReference(
29292
29986
  jsii.create(self.__class__, self, [service, key])
29293
29987
 
29294
29988
 
29295
- @jsii.implements(IInspectable)
29989
+ @jsii.implements(IInspectable, _IGuardHookRef_e0640792)
29296
29990
  class CfnGuardHook(
29297
29991
  CfnResource,
29298
29992
  metaclass=jsii.JSIIMeta,
@@ -29381,7 +30075,8 @@ class CfnGuardHook(
29381
30075
  stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29382
30076
  target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnGuardHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
29383
30077
  ) -> None:
29384
- '''
30078
+ '''Create a new ``AWS::CloudFormation::GuardHook``.
30079
+
29385
30080
  :param scope: Scope in which this resource is defined.
29386
30081
  :param id: Construct identifier for this resource (unique in its scope).
29387
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`` .
@@ -29393,7 +30088,7 @@ class CfnGuardHook(
29393
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.
29394
30089
  :param options: Specifies the S3 location of your input parameters.
29395
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``
29396
- :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``
29397
30092
  '''
29398
30093
  if __debug__:
29399
30094
  type_hints = typing.get_type_hints(_typecheckingstub__af8d2663a8bac5046ca50537b031b46f870c6edd4948ed8528ca4e3ff9367b17)
@@ -29458,6 +30153,12 @@ class CfnGuardHook(
29458
30153
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
29459
30154
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
29460
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
+
29461
30162
  @builtins.property
29462
30163
  @jsii.member(jsii_name="alias")
29463
30164
  def alias(self) -> builtins.str:
@@ -29779,7 +30480,7 @@ class CfnGuardHook(
29779
30480
  ) -> None:
29780
30481
  '''Specifies the S3 location where your Guard rules or input parameters are located.
29781
30482
 
29782
- :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`` .
29783
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.
29784
30485
 
29785
30486
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-guardhook-s3location.html
@@ -29810,7 +30511,7 @@ class CfnGuardHook(
29810
30511
 
29811
30512
  @builtins.property
29812
30513
  def uri(self) -> builtins.str:
29813
- '''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>`` ).
29814
30515
 
29815
30516
  For Guard rules, the object stored in S3 must have one of the following file extensions: ``.guard`` , ``.zip`` , or ``.tar.gz`` .
29816
30517
 
@@ -30224,7 +30925,7 @@ class CfnGuardHook(
30224
30925
  )
30225
30926
 
30226
30927
 
30227
- @jsii.implements(IInspectable)
30928
+ @jsii.implements(IInspectable, _IHookDefaultVersionRef_a4784949)
30228
30929
  class CfnHookDefaultVersion(
30229
30930
  CfnResource,
30230
30931
  metaclass=jsii.JSIIMeta,
@@ -30264,7 +30965,8 @@ class CfnHookDefaultVersion(
30264
30965
  type_version_arn: typing.Optional[builtins.str] = None,
30265
30966
  version_id: typing.Optional[builtins.str] = None,
30266
30967
  ) -> None:
30267
- '''
30968
+ '''Create a new ``AWS::CloudFormation::HookDefaultVersion``.
30969
+
30268
30970
  :param scope: Scope in which this resource is defined.
30269
30971
  :param id: Construct identifier for this resource (unique in its scope).
30270
30972
  :param type_name: The name of the Hook. You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
@@ -30316,7 +31018,7 @@ class CfnHookDefaultVersion(
30316
31018
  @builtins.property
30317
31019
  @jsii.member(jsii_name="attrArn")
30318
31020
  def attr_arn(self) -> builtins.str:
30319
- '''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.
30320
31022
 
30321
31023
  :cloudformationAttribute: Arn
30322
31024
  '''
@@ -30327,6 +31029,12 @@ class CfnHookDefaultVersion(
30327
31029
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30328
31030
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30329
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
+
30330
31038
  @builtins.property
30331
31039
  @jsii.member(jsii_name="typeName")
30332
31040
  def type_name(self) -> typing.Optional[builtins.str]:
@@ -30367,7 +31075,7 @@ class CfnHookDefaultVersion(
30367
31075
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
30368
31076
 
30369
31077
 
30370
- @jsii.implements(IInspectable)
31078
+ @jsii.implements(IInspectable, _IHookTypeConfigRef_7bc118dc)
30371
31079
  class CfnHookTypeConfig(
30372
31080
  CfnResource,
30373
31081
  metaclass=jsii.JSIIMeta,
@@ -30407,7 +31115,8 @@ class CfnHookTypeConfig(
30407
31115
  type_arn: typing.Optional[builtins.str] = None,
30408
31116
  type_name: typing.Optional[builtins.str] = None,
30409
31117
  ) -> None:
30410
- '''
31118
+ '''Create a new ``AWS::CloudFormation::HookTypeConfig``.
31119
+
30411
31120
  :param scope: Scope in which this resource is defined.
30412
31121
  :param id: Construct identifier for this resource (unique in its scope).
30413
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`` .
@@ -30461,7 +31170,7 @@ class CfnHookTypeConfig(
30461
31170
  @builtins.property
30462
31171
  @jsii.member(jsii_name="attrConfigurationArn")
30463
31172
  def attr_configuration_arn(self) -> builtins.str:
30464
- '''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.
30465
31174
 
30466
31175
  :cloudformationAttribute: ConfigurationArn
30467
31176
  '''
@@ -30472,6 +31181,12 @@ class CfnHookTypeConfig(
30472
31181
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30473
31182
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30474
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
+
30475
31190
  @builtins.property
30476
31191
  @jsii.member(jsii_name="configuration")
30477
31192
  def configuration(self) -> builtins.str:
@@ -30525,7 +31240,7 @@ class CfnHookTypeConfig(
30525
31240
  jsii.set(self, "typeName", value) # pyright: ignore[reportArgumentType]
30526
31241
 
30527
31242
 
30528
- @jsii.implements(IInspectable)
31243
+ @jsii.implements(IInspectable, _IHookVersionRef_0d71a867)
30529
31244
  class CfnHookVersion(
30530
31245
  CfnResource,
30531
31246
  metaclass=jsii.JSIIMeta,
@@ -30570,11 +31285,12 @@ class CfnHookVersion(
30570
31285
  execution_role_arn: typing.Optional[builtins.str] = None,
30571
31286
  logging_config: typing.Optional[typing.Union[IResolvable, typing.Union["CfnHookVersion.LoggingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30572
31287
  ) -> None:
30573
- '''
31288
+ '''Create a new ``AWS::CloudFormation::HookVersion``.
31289
+
30574
31290
  :param scope: Scope in which this resource is defined.
30575
31291
  :param id: Construct identifier for this resource (unique in its scope).
30576
- :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.
30577
- :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``
30578
31294
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Hook permission.
30579
31295
  :param logging_config: Contains logging configuration information for an extension.
30580
31296
  '''
@@ -30674,10 +31390,16 @@ class CfnHookVersion(
30674
31390
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
30675
31391
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
30676
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
+
30677
31399
  @builtins.property
30678
31400
  @jsii.member(jsii_name="schemaHandlerPackage")
30679
31401
  def schema_handler_package(self) -> builtins.str:
30680
- '''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.'''
30681
31403
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
30682
31404
 
30683
31405
  @schema_handler_package.setter
@@ -30690,7 +31412,7 @@ class CfnHookVersion(
30690
31412
  @builtins.property
30691
31413
  @jsii.member(jsii_name="typeName")
30692
31414
  def type_name(self) -> builtins.str:
30693
- '''The unique name for your hook.'''
31415
+ '''The unique name for your Hook.'''
30694
31416
  return typing.cast(builtins.str, jsii.get(self, "typeName"))
30695
31417
 
30696
31418
  @type_name.setter
@@ -30896,7 +31618,7 @@ class CfnJson(
30896
31618
  return typing.cast(Reference, jsii.get(self, "value"))
30897
31619
 
30898
31620
 
30899
- @jsii.implements(IInspectable)
31621
+ @jsii.implements(IInspectable, _ILambdaHookRef_5ceec28e)
30900
31622
  class CfnLambdaHook(
30901
31623
  CfnResource,
30902
31624
  metaclass=jsii.JSIIMeta,
@@ -30969,7 +31691,8 @@ class CfnLambdaHook(
30969
31691
  stack_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.StackFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30970
31692
  target_filters: typing.Optional[typing.Union[IResolvable, typing.Union["CfnLambdaHook.TargetFiltersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
30971
31693
  ) -> None:
30972
- '''
31694
+ '''Create a new ``AWS::CloudFormation::LambdaHook``.
31695
+
30973
31696
  :param scope: Scope in which this resource is defined.
30974
31697
  :param id: Construct identifier for this resource (unique in its scope).
30975
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`` .
@@ -30979,7 +31702,7 @@ class CfnLambdaHook(
30979
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.
30980
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``
30981
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``
30982
- :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``
30983
31706
  '''
30984
31707
  if __debug__:
30985
31708
  type_hints = typing.get_type_hints(_typecheckingstub__407b4a631e3a832f02376728222302ded8f1ba90d2538b0469e5b99641f17447)
@@ -31042,6 +31765,12 @@ class CfnLambdaHook(
31042
31765
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31043
31766
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31044
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
+
31045
31774
  @builtins.property
31046
31775
  @jsii.member(jsii_name="alias")
31047
31776
  def alias(self) -> builtins.str:
@@ -31634,7 +32363,7 @@ class CfnLambdaHook(
31634
32363
  )
31635
32364
 
31636
32365
 
31637
- @jsii.implements(IInspectable)
32366
+ @jsii.implements(IInspectable, _IMacroRef_e9ae4afa)
31638
32367
  class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnMacro"):
31639
32368
  '''The ``AWS::CloudFormation::Macro`` resource is a CloudFormation resource type that creates a CloudFormation macro to perform custom processing on CloudFormation templates.
31640
32369
 
@@ -31672,7 +32401,8 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31672
32401
  log_group_name: typing.Optional[builtins.str] = None,
31673
32402
  log_role_arn: typing.Optional[builtins.str] = None,
31674
32403
  ) -> None:
31675
- '''
32404
+ '''Create a new ``AWS::CloudFormation::Macro``.
32405
+
31676
32406
  :param scope: Scope in which this resource is defined.
31677
32407
  :param id: Construct identifier for this resource (unique in its scope).
31678
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.
@@ -31728,7 +32458,8 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31728
32458
  @builtins.property
31729
32459
  @jsii.member(jsii_name="attrId")
31730
32460
  def attr_id(self) -> builtins.str:
31731
- '''
32461
+ '''Returns a unique identifier for the resource.
32462
+
31732
32463
  :cloudformationAttribute: Id
31733
32464
  '''
31734
32465
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -31738,6 +32469,12 @@ class CfnMacro(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnM
31738
32469
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31739
32470
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31740
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
+
31741
32478
  @builtins.property
31742
32479
  @jsii.member(jsii_name="functionName")
31743
32480
  def function_name(self) -> builtins.str:
@@ -31896,7 +32633,7 @@ class CfnMapping(
31896
32633
  return typing.cast(None, jsii.invoke(self, "setValue", [key1, key2, value]))
31897
32634
 
31898
32635
 
31899
- @jsii.implements(IInspectable)
32636
+ @jsii.implements(IInspectable, _IModuleDefaultVersionRef_8f5f90c3)
31900
32637
  class CfnModuleDefaultVersion(
31901
32638
  CfnResource,
31902
32639
  metaclass=jsii.JSIIMeta,
@@ -31936,7 +32673,8 @@ class CfnModuleDefaultVersion(
31936
32673
  module_name: typing.Optional[builtins.str] = None,
31937
32674
  version_id: typing.Optional[builtins.str] = None,
31938
32675
  ) -> None:
31939
- '''
32676
+ '''Create a new ``AWS::CloudFormation::ModuleDefaultVersion``.
32677
+
31940
32678
  :param scope: Scope in which this resource is defined.
31941
32679
  :param id: Construct identifier for this resource (unique in its scope).
31942
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`` .
@@ -31988,6 +32726,12 @@ class CfnModuleDefaultVersion(
31988
32726
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
31989
32727
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
31990
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
+
31991
32735
  @builtins.property
31992
32736
  @jsii.member(jsii_name="arn")
31993
32737
  def arn(self) -> typing.Optional[builtins.str]:
@@ -32028,7 +32772,7 @@ class CfnModuleDefaultVersion(
32028
32772
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
32029
32773
 
32030
32774
 
32031
- @jsii.implements(IInspectable)
32775
+ @jsii.implements(IInspectable, _IModuleVersionRef_76485182)
32032
32776
  class CfnModuleVersion(
32033
32777
  CfnResource,
32034
32778
  metaclass=jsii.JSIIMeta,
@@ -32066,11 +32810,12 @@ class CfnModuleVersion(
32066
32810
  module_name: builtins.str,
32067
32811
  module_package: builtins.str,
32068
32812
  ) -> None:
32069
- '''
32813
+ '''Create a new ``AWS::CloudFormation::ModuleVersion``.
32814
+
32070
32815
  :param scope: Scope in which this resource is defined.
32071
32816
  :param id: Construct identifier for this resource (unique in its scope).
32072
32817
  :param module_name: The name of the module being registered.
32073
- :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.
32074
32819
  '''
32075
32820
  if __debug__:
32076
32821
  type_hints = typing.get_type_hints(_typecheckingstub__3d780aabbd07e1197c5165344069ba0f46d2e4740d74a296d922fbcbf26044c2)
@@ -32194,6 +32939,12 @@ class CfnModuleVersion(
32194
32939
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32195
32940
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32196
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
+
32197
32948
  @builtins.property
32198
32949
  @jsii.member(jsii_name="moduleName")
32199
32950
  def module_name(self) -> builtins.str:
@@ -32210,7 +32961,7 @@ class CfnModuleVersion(
32210
32961
  @builtins.property
32211
32962
  @jsii.member(jsii_name="modulePackage")
32212
32963
  def module_package(self) -> builtins.str:
32213
- '''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.'''
32214
32965
  return typing.cast(builtins.str, jsii.get(self, "modulePackage"))
32215
32966
 
32216
32967
  @module_package.setter
@@ -32221,7 +32972,7 @@ class CfnModuleVersion(
32221
32972
  jsii.set(self, "modulePackage", value) # pyright: ignore[reportArgumentType]
32222
32973
 
32223
32974
 
32224
- @jsii.implements(IInspectable)
32975
+ @jsii.implements(IInspectable, _IPublicTypeVersionRef_554ddaba)
32225
32976
  class CfnPublicTypeVersion(
32226
32977
  CfnResource,
32227
32978
  metaclass=jsii.JSIIMeta,
@@ -32272,7 +33023,8 @@ class CfnPublicTypeVersion(
32272
33023
  type: typing.Optional[builtins.str] = None,
32273
33024
  type_name: typing.Optional[builtins.str] = None,
32274
33025
  ) -> None:
32275
- '''
33026
+ '''Create a new ``AWS::CloudFormation::PublicTypeVersion``.
33027
+
32276
33028
  :param scope: Scope in which this resource is defined.
32277
33029
  :param id: Construct identifier for this resource (unique in its scope).
32278
33030
  :param arn: The Amazon Resource Number (ARN) of the extension. Conditional: You must specify ``Arn`` , or ``TypeName`` and ``Type`` .
@@ -32359,6 +33111,12 @@ class CfnPublicTypeVersion(
32359
33111
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32360
33112
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32361
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
+
32362
33120
  @builtins.property
32363
33121
  @jsii.member(jsii_name="arn")
32364
33122
  def arn(self) -> typing.Optional[builtins.str]:
@@ -32425,7 +33183,7 @@ class CfnPublicTypeVersion(
32425
33183
  jsii.set(self, "typeName", value) # pyright: ignore[reportArgumentType]
32426
33184
 
32427
33185
 
32428
- @jsii.implements(IInspectable)
33186
+ @jsii.implements(IInspectable, _IPublisherRef_43e14b13)
32429
33187
  class CfnPublisher(
32430
33188
  CfnResource,
32431
33189
  metaclass=jsii.JSIIMeta,
@@ -32463,7 +33221,8 @@ class CfnPublisher(
32463
33221
  accept_terms_and_conditions: typing.Union[builtins.bool, IResolvable],
32464
33222
  connection_arn: typing.Optional[builtins.str] = None,
32465
33223
  ) -> None:
32466
- '''
33224
+ '''Create a new ``AWS::CloudFormation::Publisher``.
33225
+
32467
33226
  :param scope: Scope in which this resource is defined.
32468
33227
  :param id: Construct identifier for this resource (unique in its scope).
32469
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`` .
@@ -32553,6 +33312,12 @@ class CfnPublisher(
32553
33312
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32554
33313
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32555
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
+
32556
33321
  @builtins.property
32557
33322
  @jsii.member(jsii_name="acceptTermsAndConditions")
32558
33323
  def accept_terms_and_conditions(self) -> typing.Union[builtins.bool, IResolvable]:
@@ -32583,7 +33348,7 @@ class CfnPublisher(
32583
33348
  jsii.set(self, "connectionArn", value) # pyright: ignore[reportArgumentType]
32584
33349
 
32585
33350
 
32586
- @jsii.implements(IInspectable)
33351
+ @jsii.implements(IInspectable, _IResourceDefaultVersionRef_6bcf9f85)
32587
33352
  class CfnResourceDefaultVersion(
32588
33353
  CfnResource,
32589
33354
  metaclass=jsii.JSIIMeta,
@@ -32621,7 +33386,8 @@ class CfnResourceDefaultVersion(
32621
33386
  type_version_arn: typing.Optional[builtins.str] = None,
32622
33387
  version_id: typing.Optional[builtins.str] = None,
32623
33388
  ) -> None:
32624
- '''
33389
+ '''Create a new ``AWS::CloudFormation::ResourceDefaultVersion``.
33390
+
32625
33391
  :param scope: Scope in which this resource is defined.
32626
33392
  :param id: Construct identifier for this resource (unique in its scope).
32627
33393
  :param type_name: The name of the resource. Conditional: You must specify either ``TypeVersionArn`` , or ``TypeName`` and ``VersionId`` .
@@ -32684,6 +33450,12 @@ class CfnResourceDefaultVersion(
32684
33450
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32685
33451
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32686
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
+
32687
33459
  @builtins.property
32688
33460
  @jsii.member(jsii_name="typeName")
32689
33461
  def type_name(self) -> typing.Optional[builtins.str]:
@@ -32724,7 +33496,7 @@ class CfnResourceDefaultVersion(
32724
33496
  jsii.set(self, "versionId", value) # pyright: ignore[reportArgumentType]
32725
33497
 
32726
33498
 
32727
- @jsii.implements(IInspectable)
33499
+ @jsii.implements(IInspectable, _IResourceVersionRef_8fc1bbae)
32728
33500
  class CfnResourceVersion(
32729
33501
  CfnResource,
32730
33502
  metaclass=jsii.JSIIMeta,
@@ -32775,10 +33547,11 @@ class CfnResourceVersion(
32775
33547
  execution_role_arn: typing.Optional[builtins.str] = None,
32776
33548
  logging_config: typing.Optional[typing.Union[IResolvable, typing.Union["CfnResourceVersion.LoggingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32777
33549
  ) -> None:
32778
- '''
33550
+ '''Create a new ``AWS::CloudFormation::ResourceVersion``.
33551
+
32779
33552
  :param scope: Scope in which this resource is defined.
32780
33553
  :param id: Construct identifier for this resource (unique in its scope).
32781
- :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.
32782
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``
32783
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.
32784
33557
  :param logging_config: Logging configuration information for a resource.
@@ -32903,10 +33676,16 @@ class CfnResourceVersion(
32903
33676
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
32904
33677
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
32905
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
+
32906
33685
  @builtins.property
32907
33686
  @jsii.member(jsii_name="schemaHandlerPackage")
32908
33687
  def schema_handler_package(self) -> builtins.str:
32909
- '''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.'''
32910
33689
  return typing.cast(builtins.str, jsii.get(self, "schemaHandlerPackage"))
32911
33690
 
32912
33691
  @schema_handler_package.setter
@@ -33031,13 +33810,13 @@ class CfnResourceVersion(
33031
33810
  )
33032
33811
 
33033
33812
 
33034
- @jsii.implements(IInspectable, ITaggable)
33813
+ @jsii.implements(IInspectable, _IStackRef_f0f1d363, ITaggable)
33035
33814
  class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnStack"):
33036
33815
  '''The ``AWS::CloudFormation::Stack`` resource nests a stack as a resource in a top-level template.
33037
33816
 
33038
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* .
33039
33818
 
33040
- 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*`` .
33041
33820
 
33042
33821
  We strongly recommend that updates to nested stacks are run from the parent stack.
33043
33822
 
@@ -33115,13 +33894,14 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33115
33894
  template_url: typing.Optional[builtins.str] = None,
33116
33895
  timeout_in_minutes: typing.Optional[jsii.Number] = None,
33117
33896
  ) -> None:
33118
- '''
33897
+ '''Create a new ``AWS::CloudFormation::Stack``.
33898
+
33119
33899
  :param scope: Scope in which this resource is defined.
33120
33900
  :param id: Construct identifier for this resource (unique in its scope).
33121
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).
33122
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.
33123
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.
33124
- :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.
33125
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.
33126
33906
  '''
33127
33907
  if __debug__:
@@ -33171,7 +33951,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33171
33951
  @builtins.property
33172
33952
  @jsii.member(jsii_name="attrChangeSetId")
33173
33953
  def attr_change_set_id(self) -> builtins.str:
33174
- '''Returns the unique ID of the change set.
33954
+ '''Returns the unique identifier of the change set.
33175
33955
 
33176
33956
  :cloudformationAttribute: ChangeSetId
33177
33957
  '''
@@ -33180,7 +33960,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33180
33960
  @builtins.property
33181
33961
  @jsii.member(jsii_name="attrCreationTime")
33182
33962
  def attr_creation_time(self) -> builtins.str:
33183
- '''Returns The time at which the stack was created.
33963
+ '''Returns the time the stack was created.
33184
33964
 
33185
33965
  :cloudformationAttribute: CreationTime
33186
33966
  '''
@@ -33249,6 +34029,12 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33249
34029
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
33250
34030
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
33251
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
+
33252
34038
  @builtins.property
33253
34039
  @jsii.member(jsii_name="tags")
33254
34040
  def tags(self) -> TagManager:
@@ -33305,7 +34091,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33305
34091
  @builtins.property
33306
34092
  @jsii.member(jsii_name="templateUrl")
33307
34093
  def template_url(self) -> typing.Optional[builtins.str]:
33308
- '''The URL of a file containing the template body.'''
34094
+ '''The URL of a file that contains the template body.'''
33309
34095
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "templateUrl"))
33310
34096
 
33311
34097
  @template_url.setter
@@ -33434,15 +34220,15 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
33434
34220
  )
33435
34221
 
33436
34222
 
33437
- @jsii.implements(IInspectable, ITaggable)
34223
+ @jsii.implements(IInspectable, _IStackSetRef_3a202137, ITaggable)
33438
34224
  class CfnStackSet(
33439
34225
  CfnResource,
33440
34226
  metaclass=jsii.JSIIMeta,
33441
34227
  jsii_type="aws-cdk-lib.CfnStackSet",
33442
34228
  ):
33443
- '''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.
33444
34230
 
33445
- 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.
33446
34232
  .. epigraph::
33447
34233
 
33448
34234
  Run deployments to nested StackSets from the parent stack, not directly through the StackSet API.
@@ -33532,24 +34318,25 @@ class CfnStackSet(
33532
34318
  template_body: typing.Optional[builtins.str] = None,
33533
34319
  template_url: typing.Optional[builtins.str] = None,
33534
34320
  ) -> None:
33535
- '''
34321
+ '''Create a new ``AWS::CloudFormation::StackSet``.
34322
+
33536
34323
  :param scope: Scope in which this resource is defined.
33537
34324
  :param id: Construct identifier for this resource (unique in its scope).
33538
- :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* .
33539
- :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.
33540
- :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`` .
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`` .
33541
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.)
33542
- :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`` .
33543
- :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* .
33544
- :param description: A description of the stack set.
33545
- :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+=,.@-]+``
33546
- :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.
33547
- :param operation_preferences: The user-specified preferences for how CloudFormation performs a stack set operation.
33548
- :param parameters: The input parameters for the stack set template.
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.
33549
34336
  :param stack_instances_group: A group of stack instances with parameters in some specific accounts and Regions.
33550
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.
33551
- :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.
33552
- :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`` .
33553
34340
  '''
33554
34341
  if __debug__:
33555
34342
  type_hints = typing.get_type_hints(_typecheckingstub__18f5cbcbd69d140eff69172745aeef070057c3c18635b8197f16a411bf031298)
@@ -33608,7 +34395,7 @@ class CfnStackSet(
33608
34395
  @builtins.property
33609
34396
  @jsii.member(jsii_name="attrStackSetId")
33610
34397
  def attr_stack_set_id(self) -> builtins.str:
33611
- '''The ID of the stack that you're creating.
34398
+ '''Returns the unique identifier of the resource.
33612
34399
 
33613
34400
  :cloudformationAttribute: StackSetId
33614
34401
  '''
@@ -33619,6 +34406,12 @@ class CfnStackSet(
33619
34406
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
33620
34407
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
33621
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
+
33622
34415
  @builtins.property
33623
34416
  @jsii.member(jsii_name="tags")
33624
34417
  def tags(self) -> TagManager:
@@ -33628,7 +34421,7 @@ class CfnStackSet(
33628
34421
  @builtins.property
33629
34422
  @jsii.member(jsii_name="permissionModel")
33630
34423
  def permission_model(self) -> builtins.str:
33631
- '''Describes how the IAM roles required for stack set operations are created.'''
34424
+ '''Describes how the IAM roles required for StackSet operations are created.'''
33632
34425
  return typing.cast(builtins.str, jsii.get(self, "permissionModel"))
33633
34426
 
33634
34427
  @permission_model.setter
@@ -33641,7 +34434,7 @@ class CfnStackSet(
33641
34434
  @builtins.property
33642
34435
  @jsii.member(jsii_name="stackSetName")
33643
34436
  def stack_set_name(self) -> builtins.str:
33644
- '''The name to associate with the stack set.'''
34437
+ '''The name to associate with the StackSet.'''
33645
34438
  return typing.cast(builtins.str, jsii.get(self, "stackSetName"))
33646
34439
 
33647
34440
  @stack_set_name.setter
@@ -33654,7 +34447,7 @@ class CfnStackSet(
33654
34447
  @builtins.property
33655
34448
  @jsii.member(jsii_name="administrationRoleArn")
33656
34449
  def administration_role_arn(self) -> typing.Optional[builtins.str]:
33657
- '''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.'''
33658
34451
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "administrationRoleArn"))
33659
34452
 
33660
34453
  @administration_role_arn.setter
@@ -33698,7 +34491,7 @@ class CfnStackSet(
33698
34491
  @builtins.property
33699
34492
  @jsii.member(jsii_name="capabilities")
33700
34493
  def capabilities(self) -> typing.Optional[typing.List[builtins.str]]:
33701
- '''The capabilities that are allowed in the stack set.'''
34494
+ '''The capabilities that are allowed in the StackSet.'''
33702
34495
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "capabilities"))
33703
34496
 
33704
34497
  @capabilities.setter
@@ -33711,7 +34504,7 @@ class CfnStackSet(
33711
34504
  @builtins.property
33712
34505
  @jsii.member(jsii_name="description")
33713
34506
  def description(self) -> typing.Optional[builtins.str]:
33714
- '''A description of the stack set.'''
34507
+ '''A description of the StackSet.'''
33715
34508
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
33716
34509
 
33717
34510
  @description.setter
@@ -33724,7 +34517,7 @@ class CfnStackSet(
33724
34517
  @builtins.property
33725
34518
  @jsii.member(jsii_name="executionRoleName")
33726
34519
  def execution_role_name(self) -> typing.Optional[builtins.str]:
33727
- '''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.'''
33728
34521
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "executionRoleName"))
33729
34522
 
33730
34523
  @execution_role_name.setter
@@ -33752,7 +34545,7 @@ class CfnStackSet(
33752
34545
  def operation_preferences(
33753
34546
  self,
33754
34547
  ) -> typing.Optional[typing.Union[IResolvable, "CfnStackSet.OperationPreferencesProperty"]]:
33755
- '''The user-specified preferences for how CloudFormation performs a stack set operation.'''
34548
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.'''
33756
34549
  return typing.cast(typing.Optional[typing.Union[IResolvable, "CfnStackSet.OperationPreferencesProperty"]], jsii.get(self, "operationPreferences"))
33757
34550
 
33758
34551
  @operation_preferences.setter
@@ -33770,7 +34563,7 @@ class CfnStackSet(
33770
34563
  def parameters(
33771
34564
  self,
33772
34565
  ) -> typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]]:
33773
- '''The input parameters for the stack set template.'''
34566
+ '''The input parameters for the StackSet template.'''
33774
34567
  return typing.cast(typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]], jsii.get(self, "parameters"))
33775
34568
 
33776
34569
  @parameters.setter
@@ -33830,7 +34623,7 @@ class CfnStackSet(
33830
34623
  @builtins.property
33831
34624
  @jsii.member(jsii_name="templateUrl")
33832
34625
  def template_url(self) -> typing.Optional[builtins.str]:
33833
- '''The URL of a file containing the template body.'''
34626
+ '''The URL of a file that contains the template body.'''
33834
34627
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "templateUrl"))
33835
34628
 
33836
34629
  @template_url.setter
@@ -33855,7 +34648,9 @@ class CfnStackSet(
33855
34648
  enabled: typing.Optional[typing.Union[builtins.bool, IResolvable]] = None,
33856
34649
  retain_stacks_on_account_removal: typing.Optional[typing.Union[builtins.bool, IResolvable]] = None,
33857
34650
  ) -> None:
33858
- '''[ ``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* .
33859
34654
 
33860
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.
33861
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`` .
@@ -33938,11 +34733,20 @@ class CfnStackSet(
33938
34733
  accounts_url: typing.Optional[builtins.str] = None,
33939
34734
  organizational_unit_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
33940
34735
  ) -> None:
33941
- '''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:
33942
34739
 
33943
- :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.
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.
34746
+
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.
33944
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}$``
33945
- :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.
33946
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})$``
33947
34751
 
33948
34752
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html
@@ -33979,13 +34783,13 @@ class CfnStackSet(
33979
34783
 
33980
34784
  @builtins.property
33981
34785
  def account_filter_type(self) -> typing.Optional[builtins.str]:
33982
- '''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.
33983
34787
 
33984
- The following is a list of possible values for the ``AccountFilterType`` operation.
34788
+ The following values determine how CloudFormation selects target accounts:
33985
34789
 
33986
- - ``INTERSECTION`` : StackSet deploys to the accounts specified in the ``Accounts`` parameter.
33987
- - ``DIFFERENCE`` : StackSet deploys to the OU, excluding the accounts specified in the ``Accounts`` parameter.
33988
- - ``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.
33989
34793
 
33990
34794
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-accountfiltertype
33991
34795
  '''
@@ -34011,6 +34815,8 @@ class CfnStackSet(
34011
34815
 
34012
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).
34013
34817
 
34818
+ This property serves the same purpose as ``Accounts`` but allows you to specify a large number of accounts.
34819
+
34014
34820
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-deploymenttargets.html#cfn-cloudformation-stackset-deploymenttargets-accountsurl
34015
34821
  '''
34016
34822
  result = self._values.get("accounts_url")
@@ -34051,7 +34857,7 @@ class CfnStackSet(
34051
34857
  ) -> None:
34052
34858
  '''Describes whether StackSets performs non-conflicting operations concurrently and queues conflicting operations.
34053
34859
 
34054
- :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.
34055
34861
 
34056
34862
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-managedexecution.html
34057
34863
  :exampleMetadata: fixture=_generated
@@ -34075,14 +34881,14 @@ class CfnStackSet(
34075
34881
 
34076
34882
  @builtins.property
34077
34883
  def active(self) -> typing.Optional[typing.Union[builtins.bool, IResolvable]]:
34078
- '''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.
34079
34885
 
34080
- After conflicting operations finish, StackSets starts queued operations in request order.
34886
+ After conflicting operations finish, CloudFormation starts queued operations in request order.
34081
34887
  .. epigraph::
34082
34888
 
34083
- 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.
34084
34890
 
34085
- 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.
34086
34892
 
34087
34893
  When ``false`` (default), StackSets performs one operation at a time in request order.
34088
34894
 
@@ -34127,13 +34933,13 @@ class CfnStackSet(
34127
34933
  region_concurrency_type: typing.Optional[builtins.str] = None,
34128
34934
  region_order: typing.Optional[typing.Sequence[builtins.str]] = None,
34129
34935
  ) -> None:
34130
- '''The user-specified preferences for how CloudFormation performs a stack set operation.
34936
+ '''The user-specified preferences for how CloudFormation performs a StackSet operation.
34131
34937
 
34132
- 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* .
34133
34939
 
34134
- :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.
34135
- :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).
34136
- :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.
34137
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.
34138
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.
34139
34945
  :param region_concurrency_type: The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.
@@ -34191,7 +34997,7 @@ class CfnStackSet(
34191
34997
 
34192
34998
  If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.
34193
34999
 
34194
- - ``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.
34195
35001
 
34196
35002
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html#cfn-cloudformation-stackset-operationpreferences-concurrencymode
34197
35003
  '''
@@ -34200,7 +35006,7 @@ class CfnStackSet(
34200
35006
 
34201
35007
  @builtins.property
34202
35008
  def failure_tolerance_count(self) -> typing.Optional[jsii.Number]:
34203
- '''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.
34204
35010
 
34205
35011
  If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.
34206
35012
 
@@ -34213,7 +35019,7 @@ class CfnStackSet(
34213
35019
 
34214
35020
  @builtins.property
34215
35021
  def failure_tolerance_percentage(self) -> typing.Optional[jsii.Number]:
34216
- '''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.
34217
35023
 
34218
35024
  If the operation is stopped in a Region, CloudFormation doesn't attempt the operation in any subsequent Regions.
34219
35025
 
@@ -34380,9 +35186,9 @@ class CfnStackSet(
34380
35186
  ) -> None:
34381
35187
  '''Stack instances in some specific accounts and Regions.
34382
35188
 
34383
- :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.
34384
35190
  :param regions: The names of one or more Regions where you want to create stack instances using the specified AWS accounts .
34385
- :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.
34386
35192
 
34387
35193
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html
34388
35194
  :exampleMetadata: fixture=_generated
@@ -34425,7 +35231,7 @@ class CfnStackSet(
34425
35231
  def deployment_targets(
34426
35232
  self,
34427
35233
  ) -> typing.Union[IResolvable, "CfnStackSet.DeploymentTargetsProperty"]:
34428
- '''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.
34429
35235
 
34430
35236
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-deploymenttargets
34431
35237
  '''
@@ -34447,7 +35253,7 @@ class CfnStackSet(
34447
35253
  def parameter_overrides(
34448
35254
  self,
34449
35255
  ) -> typing.Optional[typing.Union[IResolvable, typing.List[typing.Union[IResolvable, "CfnStackSet.ParameterProperty"]]]]:
34450
- '''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.
34451
35257
 
34452
35258
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-stackinstances.html#cfn-cloudformation-stackset-stackinstances-parameteroverrides
34453
35259
  '''
@@ -34466,7 +35272,7 @@ class CfnStackSet(
34466
35272
  )
34467
35273
 
34468
35274
 
34469
- @jsii.implements(IInspectable)
35275
+ @jsii.implements(IInspectable, _ITypeActivationRef_95db49a7)
34470
35276
  class CfnTypeActivation(
34471
35277
  CfnResource,
34472
35278
  metaclass=jsii.JSIIMeta,
@@ -34519,7 +35325,8 @@ class CfnTypeActivation(
34519
35325
  type_name_alias: typing.Optional[builtins.str] = None,
34520
35326
  version_bump: typing.Optional[builtins.str] = None,
34521
35327
  ) -> None:
34522
- '''
35328
+ '''Create a new ``AWS::CloudFormation::TypeActivation``.
35329
+
34523
35330
  :param scope: Scope in which this resource is defined.
34524
35331
  :param id: Construct identifier for this resource (unique in its scope).
34525
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`` .
@@ -34530,7 +35337,7 @@ class CfnTypeActivation(
34530
35337
  :param publisher_id: The ID of the extension publisher. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34531
35338
  :param type: The extension type. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34532
35339
  :param type_name: The name of the extension. Conditional: You must specify ``PublicTypeArn`` , or ``TypeName`` , ``Type`` , and ``PublisherId`` .
34533
- :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.
34534
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.
34535
35342
  '''
34536
35343
  if __debug__:
@@ -34585,7 +35392,7 @@ class CfnTypeActivation(
34585
35392
  @builtins.property
34586
35393
  @jsii.member(jsii_name="attrArn")
34587
35394
  def attr_arn(self) -> builtins.str:
34588
- '''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.
34589
35396
 
34590
35397
  :cloudformationAttribute: Arn
34591
35398
  '''
@@ -34596,6 +35403,12 @@ class CfnTypeActivation(
34596
35403
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
34597
35404
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
34598
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
+
34599
35412
  @builtins.property
34600
35413
  @jsii.member(jsii_name="autoUpdate")
34601
35414
  def auto_update(self) -> typing.Optional[typing.Union[builtins.bool, IResolvable]]:
@@ -34711,7 +35524,7 @@ class CfnTypeActivation(
34711
35524
  @builtins.property
34712
35525
  @jsii.member(jsii_name="typeNameAlias")
34713
35526
  def type_name_alias(self) -> typing.Optional[builtins.str]:
34714
- '''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.'''
34715
35528
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "typeNameAlias"))
34716
35529
 
34717
35530
  @type_name_alias.setter
@@ -34805,7 +35618,7 @@ class CfnTypeActivation(
34805
35618
  )
34806
35619
 
34807
35620
 
34808
- @jsii.implements(IInspectable)
35621
+ @jsii.implements(IInspectable, _IWaitConditionRef_5bc95657)
34809
35622
  class CfnWaitCondition(
34810
35623
  CfnResource,
34811
35624
  metaclass=jsii.JSIIMeta,
@@ -34813,7 +35626,7 @@ class CfnWaitCondition(
34813
35626
  ):
34814
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.
34815
35628
 
34816
- 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.
34817
35630
  .. epigraph::
34818
35631
 
34819
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.
@@ -34844,11 +35657,12 @@ class CfnWaitCondition(
34844
35657
  handle: typing.Optional[builtins.str] = None,
34845
35658
  timeout: typing.Optional[builtins.str] = None,
34846
35659
  ) -> None:
34847
- '''
35660
+ '''Create a new ``AWS::CloudFormation::WaitCondition``.
35661
+
34848
35662
  :param scope: Scope in which this resource is defined.
34849
35663
  :param id: Construct identifier for this resource (unique in its scope).
34850
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.
34851
- :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.
34852
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.
34853
35667
  '''
34854
35668
  if __debug__:
@@ -34900,7 +35714,8 @@ class CfnWaitCondition(
34900
35714
  @builtins.property
34901
35715
  @jsii.member(jsii_name="attrId")
34902
35716
  def attr_id(self) -> builtins.str:
34903
- '''
35717
+ '''Returns a unique identifier for the resource.
35718
+
34904
35719
  :cloudformationAttribute: Id
34905
35720
  '''
34906
35721
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -34910,6 +35725,12 @@ class CfnWaitCondition(
34910
35725
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
34911
35726
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
34912
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
+
34913
35734
  @builtins.property
34914
35735
  @jsii.member(jsii_name="count")
34915
35736
  def count(self) -> typing.Optional[jsii.Number]:
@@ -34950,7 +35771,7 @@ class CfnWaitCondition(
34950
35771
  jsii.set(self, "timeout", value) # pyright: ignore[reportArgumentType]
34951
35772
 
34952
35773
 
34953
- @jsii.implements(IInspectable)
35774
+ @jsii.implements(IInspectable, _IWaitConditionHandleRef_6fbe7b4b)
34954
35775
  class CfnWaitConditionHandle(
34955
35776
  CfnResource,
34956
35777
  metaclass=jsii.JSIIMeta,
@@ -34980,7 +35801,8 @@ class CfnWaitConditionHandle(
34980
35801
  '''
34981
35802
 
34982
35803
  def __init__(self, scope: _constructs_77d1e7e8.Construct, id: builtins.str) -> None:
34983
- '''
35804
+ '''Create a new ``AWS::CloudFormation::WaitConditionHandle``.
35805
+
34984
35806
  :param scope: Scope in which this resource is defined.
34985
35807
  :param id: Construct identifier for this resource (unique in its scope).
34986
35808
  '''
@@ -35025,7 +35847,7 @@ class CfnWaitConditionHandle(
35025
35847
  @builtins.property
35026
35848
  @jsii.member(jsii_name="attrId")
35027
35849
  def attr_id(self) -> builtins.str:
35028
- '''A unique identifier for the resource.
35850
+ '''Returns a unique identifier for the resource.
35029
35851
 
35030
35852
  :cloudformationAttribute: Id
35031
35853
  '''
@@ -35036,6 +35858,12 @@ class CfnWaitConditionHandle(
35036
35858
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
35037
35859
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
35038
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
+
35039
35867
 
35040
35868
  class CustomResource(
35041
35869
  Resource,
@@ -35681,6 +36509,22 @@ class DockerIgnoreStrategy(
35681
36509
  check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
35682
36510
  return typing.cast(None, jsii.invoke(self, "add", [pattern]))
35683
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
+
35684
36528
  @jsii.member(jsii_name="ignores")
35685
36529
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
35686
36530
  '''Determines whether a given file path should be ignored or not.
@@ -35741,6 +36585,22 @@ class GitIgnoreStrategy(
35741
36585
  check_type(argname="argument pattern", value=pattern, expected_type=type_hints["pattern"])
35742
36586
  return typing.cast(None, jsii.invoke(self, "add", [pattern]))
35743
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
+
35744
36604
  @jsii.member(jsii_name="ignores")
35745
36605
  def ignores(self, absolute_file_path: builtins.str) -> builtins.bool:
35746
36606
  '''Determines whether a given file path should be ignored or not.
@@ -36290,6 +37150,12 @@ class NestedStack(Stack, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.NestedS
36290
37150
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
36291
37151
  return typing.cast(None, jsii.invoke(self, "setParameter", [name, value]))
36292
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
+
36293
37159
  @builtins.property
36294
37160
  @jsii.member(jsii_name="stackId")
36295
37161
  def stack_id(self) -> builtins.str:
@@ -36823,18 +37689,22 @@ class DefaultStackSynthesizer(
36823
37689
 
36824
37690
  Example::
36825
37691
 
36826
- # app: App
36827
-
36828
-
36829
- prod_stage = Stage(app, "ProdStage",
36830
- permissions_boundary=PermissionsBoundary.from_name("cdk-${Qualifier}-PermissionsBoundary-${AWS::AccountId}-${AWS::Region}")
36831
- )
36832
-
36833
- Stack(prod_stage, "ProdStack",
36834
- synthesizer=DefaultStackSynthesizer(
36835
- qualifier="custom"
36836
- )
36837
- )
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
+ )
36838
37708
  '''
36839
37709
 
36840
37710
  def __init__(
@@ -37213,7 +38083,8 @@ class BootstraplessSynthesizer(
37213
38083
 
37214
38084
  bootstrapless_synthesizer = cdk.BootstraplessSynthesizer(
37215
38085
  cloud_formation_execution_role_arn="cloudFormationExecutionRoleArn",
37216
- deploy_role_arn="deployRoleArn"
38086
+ deploy_role_arn="deployRoleArn",
38087
+ qualifier="qualifier"
37217
38088
  )
37218
38089
  '''
37219
38090
 
@@ -37222,14 +38093,17 @@ class BootstraplessSynthesizer(
37222
38093
  *,
37223
38094
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
37224
38095
  deploy_role_arn: typing.Optional[builtins.str] = None,
38096
+ qualifier: typing.Optional[builtins.str] = None,
37225
38097
  ) -> None:
37226
38098
  '''
37227
38099
  :param cloud_formation_execution_role_arn: The CFN execution Role ARN to use. Default: - No CloudFormation role (use CLI credentials)
37228
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'
37229
38102
  '''
37230
38103
  props = BootstraplessSynthesizerProps(
37231
38104
  cloud_formation_execution_role_arn=cloud_formation_execution_role_arn,
37232
38105
  deploy_role_arn=deploy_role_arn,
38106
+ qualifier=qualifier,
37233
38107
  )
37234
38108
 
37235
38109
  jsii.create(self.__class__, self, [props])
@@ -37515,6 +38389,7 @@ __all__ = [
37515
38389
  "ICfnConditionExpression",
37516
38390
  "ICfnResourceOptions",
37517
38391
  "ICfnRuleConditionExpression",
38392
+ "IEnvironmentAware",
37518
38393
  "IFragmentConcatenator",
37519
38394
  "IInspectable",
37520
38395
  "IListProducer",
@@ -37613,6 +38488,7 @@ __all__ = [
37613
38488
  "assertions",
37614
38489
  "aws_accessanalyzer",
37615
38490
  "aws_acmpca",
38491
+ "aws_aiops",
37616
38492
  "aws_amazonmq",
37617
38493
  "aws_amplify",
37618
38494
  "aws_amplifyuibuilder",
@@ -37632,6 +38508,7 @@ __all__ = [
37632
38508
  "aws_appsync",
37633
38509
  "aws_apptest",
37634
38510
  "aws_aps",
38511
+ "aws_arcregionswitch",
37635
38512
  "aws_arczonalshift",
37636
38513
  "aws_athena",
37637
38514
  "aws_auditmanager",
@@ -37645,6 +38522,7 @@ __all__ = [
37645
38522
  "aws_batch",
37646
38523
  "aws_bcmdataexports",
37647
38524
  "aws_bedrock",
38525
+ "aws_bedrockagentcore",
37648
38526
  "aws_billingconductor",
37649
38527
  "aws_budgets",
37650
38528
  "aws_cassandra",
@@ -37720,6 +38598,7 @@ __all__ = [
37720
38598
  "aws_events_targets",
37721
38599
  "aws_eventschemas",
37722
38600
  "aws_evidently",
38601
+ "aws_evs",
37723
38602
  "aws_finspace",
37724
38603
  "aws_fis",
37725
38604
  "aws_fms",
@@ -37792,6 +38671,7 @@ __all__ = [
37792
38671
  "aws_mediastore",
37793
38672
  "aws_mediatailor",
37794
38673
  "aws_memorydb",
38674
+ "aws_mpa",
37795
38675
  "aws_msk",
37796
38676
  "aws_mwaa",
37797
38677
  "aws_neptune",
@@ -37802,6 +38682,8 @@ __all__ = [
37802
38682
  "aws_notifications",
37803
38683
  "aws_notificationscontacts",
37804
38684
  "aws_oam",
38685
+ "aws_observabilityadmin",
38686
+ "aws_odb",
37805
38687
  "aws_omics",
37806
38688
  "aws_opensearchserverless",
37807
38689
  "aws_opensearchservice",
@@ -37841,6 +38723,7 @@ __all__ = [
37841
38723
  "aws_route53recoverycontrol",
37842
38724
  "aws_route53recoveryreadiness",
37843
38725
  "aws_route53resolver",
38726
+ "aws_rtbfabric",
37844
38727
  "aws_rum",
37845
38728
  "aws_s3",
37846
38729
  "aws_s3_assets",
@@ -37850,6 +38733,7 @@ __all__ = [
37850
38733
  "aws_s3objectlambda",
37851
38734
  "aws_s3outposts",
37852
38735
  "aws_s3tables",
38736
+ "aws_s3vectors",
37853
38737
  "aws_sagemaker",
37854
38738
  "aws_sam",
37855
38739
  "aws_scheduler",
@@ -37866,6 +38750,7 @@ __all__ = [
37866
38750
  "aws_shield",
37867
38751
  "aws_signer",
37868
38752
  "aws_simspaceweaver",
38753
+ "aws_smsvoice",
37869
38754
  "aws_sns",
37870
38755
  "aws_sns_subscriptions",
37871
38756
  "aws_sqs",
@@ -37890,6 +38775,7 @@ __all__ = [
37890
38775
  "aws_wafv2",
37891
38776
  "aws_wisdom",
37892
38777
  "aws_workspaces",
38778
+ "aws_workspacesinstances",
37893
38779
  "aws_workspacesthinclient",
37894
38780
  "aws_workspacesweb",
37895
38781
  "aws_xray",
@@ -37897,6 +38783,7 @@ __all__ = [
37897
38783
  "cloudformation_include",
37898
38784
  "custom_resources",
37899
38785
  "cx_api",
38786
+ "interfaces",
37900
38787
  "lambda_layer_awscli",
37901
38788
  "lambda_layer_node_proxy_agent",
37902
38789
  "pipelines",
@@ -37911,6 +38798,7 @@ from . import alexa_ask
37911
38798
  from . import assertions
37912
38799
  from . import aws_accessanalyzer
37913
38800
  from . import aws_acmpca
38801
+ from . import aws_aiops
37914
38802
  from . import aws_amazonmq
37915
38803
  from . import aws_amplify
37916
38804
  from . import aws_amplifyuibuilder
@@ -37930,6 +38818,7 @@ from . import aws_appstream
37930
38818
  from . import aws_appsync
37931
38819
  from . import aws_apptest
37932
38820
  from . import aws_aps
38821
+ from . import aws_arcregionswitch
37933
38822
  from . import aws_arczonalshift
37934
38823
  from . import aws_athena
37935
38824
  from . import aws_auditmanager
@@ -37943,6 +38832,7 @@ from . import aws_backupgateway
37943
38832
  from . import aws_batch
37944
38833
  from . import aws_bcmdataexports
37945
38834
  from . import aws_bedrock
38835
+ from . import aws_bedrockagentcore
37946
38836
  from . import aws_billingconductor
37947
38837
  from . import aws_budgets
37948
38838
  from . import aws_cassandra
@@ -38018,6 +38908,7 @@ from . import aws_events
38018
38908
  from . import aws_events_targets
38019
38909
  from . import aws_eventschemas
38020
38910
  from . import aws_evidently
38911
+ from . import aws_evs
38021
38912
  from . import aws_finspace
38022
38913
  from . import aws_fis
38023
38914
  from . import aws_fms
@@ -38090,6 +38981,7 @@ from . import aws_mediapackagev2
38090
38981
  from . import aws_mediastore
38091
38982
  from . import aws_mediatailor
38092
38983
  from . import aws_memorydb
38984
+ from . import aws_mpa
38093
38985
  from . import aws_msk
38094
38986
  from . import aws_mwaa
38095
38987
  from . import aws_neptune
@@ -38100,6 +38992,8 @@ from . import aws_nimblestudio
38100
38992
  from . import aws_notifications
38101
38993
  from . import aws_notificationscontacts
38102
38994
  from . import aws_oam
38995
+ from . import aws_observabilityadmin
38996
+ from . import aws_odb
38103
38997
  from . import aws_omics
38104
38998
  from . import aws_opensearchserverless
38105
38999
  from . import aws_opensearchservice
@@ -38139,6 +39033,7 @@ from . import aws_route53profiles
38139
39033
  from . import aws_route53recoverycontrol
38140
39034
  from . import aws_route53recoveryreadiness
38141
39035
  from . import aws_route53resolver
39036
+ from . import aws_rtbfabric
38142
39037
  from . import aws_rum
38143
39038
  from . import aws_s3
38144
39039
  from . import aws_s3_assets
@@ -38148,6 +39043,7 @@ from . import aws_s3express
38148
39043
  from . import aws_s3objectlambda
38149
39044
  from . import aws_s3outposts
38150
39045
  from . import aws_s3tables
39046
+ from . import aws_s3vectors
38151
39047
  from . import aws_sagemaker
38152
39048
  from . import aws_sam
38153
39049
  from . import aws_scheduler
@@ -38164,6 +39060,7 @@ from . import aws_ses_actions
38164
39060
  from . import aws_shield
38165
39061
  from . import aws_signer
38166
39062
  from . import aws_simspaceweaver
39063
+ from . import aws_smsvoice
38167
39064
  from . import aws_sns
38168
39065
  from . import aws_sns_subscriptions
38169
39066
  from . import aws_sqs
@@ -38188,6 +39085,7 @@ from . import aws_wafregional
38188
39085
  from . import aws_wafv2
38189
39086
  from . import aws_wisdom
38190
39087
  from . import aws_workspaces
39088
+ from . import aws_workspacesinstances
38191
39089
  from . import aws_workspacesthinclient
38192
39090
  from . import aws_workspacesweb
38193
39091
  from . import aws_xray
@@ -38195,6 +39093,7 @@ from . import cloud_assembly_schema
38195
39093
  from . import cloudformation_include
38196
39094
  from . import custom_resources
38197
39095
  from . import cx_api
39096
+ from . import interfaces
38198
39097
  from . import lambda_layer_awscli
38199
39098
  from . import lambda_layer_node_proxy_agent
38200
39099
  from . import pipelines
@@ -38221,6 +39120,13 @@ def _typecheckingstub__cfddeb4c359528028785fb7ca8a01e86bcda81d53c82cdaef6ad18dd0
38221
39120
  """Type checking stubs"""
38222
39121
  pass
38223
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
+
38224
39130
  def _typecheckingstub__58bb467dabbe29a0334a62f44fa1a8a9b59742b9dfac031624ed782055bf0ada(
38225
39131
  id: builtins.str,
38226
39132
  message: typing.Optional[builtins.str] = None,
@@ -38247,6 +39153,13 @@ def _typecheckingstub__42febf8c4cbec6748c47fab1f601511d3bc57ef5bc415cb489e10605f
38247
39153
  """Type checking stubs"""
38248
39154
  pass
38249
39155
 
39156
+ def _typecheckingstub__843fb7798b96b5a06278ca94ba80d2ae0fb300672c44f21b2ee4d759a04bdba9(
39157
+ id: builtins.str,
39158
+ message: builtins.str,
39159
+ ) -> None:
39160
+ """Type checking stubs"""
39161
+ pass
39162
+
38250
39163
  def _typecheckingstub__e2fdcebb577d63295330a53b495fc6906cfbd98497144c53b1cb802e3e082f72(
38251
39164
  message: builtins.str,
38252
39165
  ) -> None:
@@ -38449,6 +39362,7 @@ def _typecheckingstub__3f56ec309bd76e41562731f3b986025649d4592e71caa79fed875d702
38449
39362
  *,
38450
39363
  cloud_formation_execution_role_arn: typing.Optional[builtins.str] = None,
38451
39364
  deploy_role_arn: typing.Optional[builtins.str] = None,
39365
+ qualifier: typing.Optional[builtins.str] = None,
38452
39366
  ) -> None:
38453
39367
  """Type checking stubs"""
38454
39368
  pass
@@ -39240,6 +40154,7 @@ def _typecheckingstub__43574b9eb91c9a4b6203c6c4dae8ace9123c2746c25560e39a6b8a8db
39240
40154
  scope: _constructs_77d1e7e8.Construct,
39241
40155
  *,
39242
40156
  provider: builtins.str,
40157
+ additional_cache_key: typing.Optional[builtins.str] = None,
39243
40158
  include_environment: typing.Optional[builtins.bool] = None,
39244
40159
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39245
40160
  ) -> None:
@@ -39253,6 +40168,7 @@ def _typecheckingstub__cbcd83febe5237c988f26712b8a838ca5d2e34ea47490d008757c21a6
39253
40168
  ignore_error_on_missing_context: typing.Optional[builtins.bool] = None,
39254
40169
  must_exist: typing.Optional[builtins.bool] = None,
39255
40170
  provider: builtins.str,
40171
+ additional_cache_key: typing.Optional[builtins.str] = None,
39256
40172
  include_environment: typing.Optional[builtins.bool] = None,
39257
40173
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39258
40174
  ) -> None:
@@ -39362,6 +40278,7 @@ def _typecheckingstub__e285633ad5a50949fcc0277b0b38d3679a006cdac41feaef60665b393
39362
40278
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
39363
40279
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
39364
40280
  file: typing.Optional[builtins.str] = None,
40281
+ network: typing.Optional[builtins.str] = None,
39365
40282
  platform: typing.Optional[builtins.str] = None,
39366
40283
  target_stage: typing.Optional[builtins.str] = None,
39367
40284
  ) -> None:
@@ -39397,6 +40314,7 @@ def _typecheckingstub__ee160dc0667b6e8f45df2c2f176a77d9d6a3ece4b83cdf7804625adf8
39397
40314
  cache_from: typing.Optional[typing.Sequence[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]]] = None,
39398
40315
  cache_to: typing.Optional[typing.Union[DockerCacheOption, typing.Dict[builtins.str, typing.Any]]] = None,
39399
40316
  file: typing.Optional[builtins.str] = None,
40317
+ network: typing.Optional[builtins.str] = None,
39400
40318
  platform: typing.Optional[builtins.str] = None,
39401
40319
  target_stage: typing.Optional[builtins.str] = None,
39402
40320
  ) -> None:
@@ -39541,6 +40459,12 @@ def _typecheckingstub__4b06766267738419297aaf93a2368e0c38c274adc14053ce29fd653d6
39541
40459
  """Type checking stubs"""
39542
40460
  pass
39543
40461
 
40462
+ def _typecheckingstub__1c1f003fc36fb573df38915f709b99bb9c1a74aac84c52ba7fe12c54cf2cae8d(
40463
+ x: typing.Any,
40464
+ ) -> None:
40465
+ """Type checking stubs"""
40466
+ pass
40467
+
39544
40468
  def _typecheckingstub__1cadecf7c75d3f55ff2fcddf8a0d000d9f8e54b48218f1336d97358901d38c0b(
39545
40469
  x: typing.Any,
39546
40470
  ) -> None:
@@ -39553,6 +40477,12 @@ def _typecheckingstub__0c62bc5a6fe032556ae3c32e105ddaad3f4ca89286fd26884af6347d3
39553
40477
  """Type checking stubs"""
39554
40478
  pass
39555
40479
 
40480
+ def _typecheckingstub__f2bf053437a17fa72244a5b0342af56acbb0f4ad4bc7fc877ac3974df0b811d3(
40481
+ x: typing.Any,
40482
+ ) -> None:
40483
+ """Type checking stubs"""
40484
+ pass
40485
+
39556
40486
  def _typecheckingstub__c9afe20487c547932befb7a2f6567c38793e8d7df55f47046e1cfb408408d733(
39557
40487
  x: typing.Any,
39558
40488
  ) -> None:
@@ -39887,6 +40817,7 @@ def _typecheckingstub__1aa84b6f7c7da29afeaf8cce6ea2a4aee978df497c5cb6d4432224b24
39887
40817
  def _typecheckingstub__4a3bc64bd38ef14ad5ebdf5807563d2355b26f4f0c446c315782c9818b76192a(
39888
40818
  *,
39889
40819
  provider: builtins.str,
40820
+ additional_cache_key: typing.Optional[builtins.str] = None,
39890
40821
  include_environment: typing.Optional[builtins.bool] = None,
39891
40822
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39892
40823
  ) -> None:
@@ -39904,6 +40835,7 @@ def _typecheckingstub__8870c87947d551a1842549591423e81e319fe3185c0ae81f67b67b1bf
39904
40835
  def _typecheckingstub__16ea3024419c210903405ca05f7de1bb3fad517c101a7a84926fb5e09ac784ec(
39905
40836
  *,
39906
40837
  provider: builtins.str,
40838
+ additional_cache_key: typing.Optional[builtins.str] = None,
39907
40839
  include_environment: typing.Optional[builtins.bool] = None,
39908
40840
  props: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
39909
40841
  dummy_value: typing.Any,
@@ -40191,6 +41123,12 @@ def _typecheckingstub__eece2ad7e2f3cbe035a92302343ee656a4e8438489e1b15a43554b124
40191
41123
  """Type checking stubs"""
40192
41124
  pass
40193
41125
 
41126
+ def _typecheckingstub__3a80a66d2944a2c289e3c51a3686487dddf7c755eb54d7726f3fd91652eddcde(
41127
+ absolute_directory_path: builtins.str,
41128
+ ) -> None:
41129
+ """Type checking stubs"""
41130
+ pass
41131
+
40194
41132
  def _typecheckingstub__30e8e458c385d1db329cfc0c45f966d2d15c1b0166b3e7cfe8a57c7809196bf5(
40195
41133
  pattern: builtins.str,
40196
41134
  ) -> None:
@@ -40655,6 +41593,16 @@ def _typecheckingstub__42536acc3fbfb7962f85e1c13349d32667f2fd64146363d2d766a253d
40655
41593
  """Type checking stubs"""
40656
41594
  pass
40657
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
+
40658
41606
  def _typecheckingstub__8241420a9f59d70313b0ea1bef892ebf8261a60f603687b732491bb889791322(
40659
41607
  param: CfnParameter,
40660
41608
  ) -> None:
@@ -40806,6 +41754,13 @@ def _typecheckingstub__2747e69e9678b96621f1476e1bee4426100a530229cea9dce16210392
40806
41754
  """Type checking stubs"""
40807
41755
  pass
40808
41756
 
41757
+ def _typecheckingstub__c79ea9b0cd54830acfa2c93ac0786782e515591ac5cda10c42b42f8ff76457a0(
41758
+ tag_name: builtins.str,
41759
+ tag_value: builtins.str,
41760
+ ) -> None:
41761
+ """Type checking stubs"""
41762
+ pass
41763
+
40809
41764
  def _typecheckingstub__4b8bfc7ce675d439b6218b58ddc312a45cfe87ee7179a489f0cc18c67560faac(
40810
41765
  transform: builtins.str,
40811
41766
  ) -> None:
@@ -40849,6 +41804,12 @@ def _typecheckingstub__1f4a18c1188f55ad7c4058f8aace9f6ebb7b7e9b596dd51616883b350
40849
41804
  """Type checking stubs"""
40850
41805
  pass
40851
41806
 
41807
+ def _typecheckingstub__25f39c18a619c464f8e693cb5c5847cdf10f847438cac04672be8ba78d2b49d0(
41808
+ tag_name: builtins.str,
41809
+ ) -> None:
41810
+ """Type checking stubs"""
41811
+ pass
41812
+
40852
41813
  def _typecheckingstub__363ae1d6a0b84b63acd48fd337e70f58cc140887b9d61b4f55f925b3a7e2cded(
40853
41814
  old_id: builtins.str,
40854
41815
  new_id: builtins.str,
@@ -42786,6 +43747,12 @@ def _typecheckingstub__dce0fd20685d4b7457e08a1567eb5aa8c53335612222538272b7d69db
42786
43747
  """Type checking stubs"""
42787
43748
  pass
42788
43749
 
43750
+ def _typecheckingstub__4eeec3aad8660d3f77c7f5fd848b52abf32a847311801373080bbfe35642315a(
43751
+ absolute_directory_path: builtins.str,
43752
+ ) -> None:
43753
+ """Type checking stubs"""
43754
+ pass
43755
+
42789
43756
  def _typecheckingstub__a94afdff9185f6eef56446b1ee12df7551a9ea60e1fd57e80213dc039cb3980c(
42790
43757
  absolute_file_path: builtins.str,
42791
43758
  ) -> None:
@@ -42805,6 +43772,12 @@ def _typecheckingstub__41215ad4567a0e20a39ebe81e961b4c04ce243413f01303ac836fdb48
42805
43772
  """Type checking stubs"""
42806
43773
  pass
42807
43774
 
43775
+ def _typecheckingstub__e0e824f5e018cd48b279cd34fa185b0a533eed88eee2e88ebb3868389b89b517(
43776
+ absolute_directory_path: builtins.str,
43777
+ ) -> None:
43778
+ """Type checking stubs"""
43779
+ pass
43780
+
42808
43781
  def _typecheckingstub__e836fbc1866005d0d4acf04190bb860cb94af53b18c0a2f12af8835f961ccedd(
42809
43782
  absolute_file_path: builtins.str,
42810
43783
  ) -> None:
@@ -42955,3 +43928,6 @@ def _typecheckingstub__47e469f0015340593bcbbe8474c853bc170a6dfd3bcb31e6795042408
42955
43928
  ) -> None:
42956
43929
  """Type checking stubs"""
42957
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__'])