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

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

Potentially problematic release.


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

Files changed (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +136 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +165 -60
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +611 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -86,6 +86,7 @@ plan.add_selection("Selection",
86
86
  To add rules to a plan, use `addRule()`:
87
87
 
88
88
  ```python
89
+ from aws_cdk import TimeZone
89
90
  # plan: backup.BackupPlan
90
91
 
91
92
  plan.add_rule(backup.BackupPlanRule(
@@ -95,6 +96,7 @@ plan.add_rule(backup.BackupPlanRule(
95
96
  day="15",
96
97
  hour="3",
97
98
  minute="30"),
99
+ schedule_expression_timezone=TimeZone.ETC_UTC,
98
100
  move_to_cold_storage_after=Duration.days(30)
99
101
  ))
100
102
  ```
@@ -304,10 +306,10 @@ from .. import (
304
306
  RemovalPolicy as _RemovalPolicy_9f93c814,
305
307
  Resource as _Resource_45bc6135,
306
308
  TagManager as _TagManager_0a598cb3,
309
+ TimeZone as _TimeZone_cdd72ac9,
307
310
  TreeInspector as _TreeInspector_488e0dd5,
308
311
  )
309
312
  from ..aws_dynamodb import ITable as _ITable_504fd401
310
- from ..aws_ec2 import IInstance as _IInstance_ab239e7c
311
313
  from ..aws_efs import IFileSystem as _IFileSystem_b2d3a7cb
312
314
  from ..aws_events import Schedule as _Schedule_c151d01f
313
315
  from ..aws_iam import (
@@ -318,13 +320,32 @@ from ..aws_iam import (
318
320
  PolicyDocument as _PolicyDocument_3ac34393,
319
321
  PolicyStatement as _PolicyStatement_0fe33853,
320
322
  )
321
- from ..aws_kms import IKey as _IKey_5f11635f
322
323
  from ..aws_rds import (
323
324
  IDatabaseCluster as _IDatabaseCluster_6554c32b,
324
325
  IDatabaseInstance as _IDatabaseInstance_e4cb03a8,
325
326
  IServerlessCluster as _IServerlessCluster_adbbb720,
326
327
  )
327
328
  from ..aws_sns import ITopic as _ITopic_9eca4852
329
+ from ..interfaces.aws_backup import (
330
+ BackupPlanReference as _BackupPlanReference_43879719,
331
+ BackupSelectionReference as _BackupSelectionReference_541c6985,
332
+ BackupVaultReference as _BackupVaultReference_228dbd3a,
333
+ FrameworkReference as _FrameworkReference_5ce10c24,
334
+ IBackupPlanRef as _IBackupPlanRef_754776b5,
335
+ IBackupSelectionRef as _IBackupSelectionRef_e9fbb7b2,
336
+ IBackupVaultRef as _IBackupVaultRef_c038ce00,
337
+ IFrameworkRef as _IFrameworkRef_dcbb25ea,
338
+ ILogicallyAirGappedBackupVaultRef as _ILogicallyAirGappedBackupVaultRef_94a8f212,
339
+ IReportPlanRef as _IReportPlanRef_2eb6ea89,
340
+ IRestoreTestingPlanRef as _IRestoreTestingPlanRef_3850185f,
341
+ IRestoreTestingSelectionRef as _IRestoreTestingSelectionRef_f3800013,
342
+ LogicallyAirGappedBackupVaultReference as _LogicallyAirGappedBackupVaultReference_53a7ab81,
343
+ ReportPlanReference as _ReportPlanReference_0a875581,
344
+ RestoreTestingPlanReference as _RestoreTestingPlanReference_99f8c406,
345
+ RestoreTestingSelectionReference as _RestoreTestingSelectionReference_05d8055b,
346
+ )
347
+ from ..interfaces.aws_ec2 import IInstanceRef as _IInstanceRef_b97803cb
348
+ from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
328
349
 
329
350
 
330
351
  @jsii.data_type(
@@ -557,6 +578,7 @@ class BackupPlanRule(
557
578
  recovery_point_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
558
579
  rule_name: typing.Optional[builtins.str] = None,
559
580
  schedule_expression: typing.Optional[_Schedule_c151d01f] = None,
581
+ schedule_expression_timezone: typing.Optional[_TimeZone_cdd72ac9] = None,
560
582
  start_window: typing.Optional[_Duration_4839e8c3] = None,
561
583
  ) -> None:
562
584
  '''
@@ -569,6 +591,7 @@ class BackupPlanRule(
569
591
  :param recovery_point_tags: To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. Default: - no recovery point tags.
570
592
  :param rule_name: A display name for the backup rule. Default: - a CDK generated name
571
593
  :param schedule_expression: A CRON expression specifying when AWS Backup initiates a backup job. Default: - no schedule
594
+ :param schedule_expression_timezone: The timezone in which the schedule expression is set. Default: - UTC
572
595
  :param start_window: The duration after a backup is scheduled before a job is canceled if it doesn't start successfully. Default: - 8 hours
573
596
  '''
574
597
  props = BackupPlanRuleProps(
@@ -581,6 +604,7 @@ class BackupPlanRule(
581
604
  recovery_point_tags=recovery_point_tags,
582
605
  rule_name=rule_name,
583
606
  schedule_expression=schedule_expression,
607
+ schedule_expression_timezone=schedule_expression_timezone,
584
608
  start_window=start_window,
585
609
  )
586
610
 
@@ -681,6 +705,7 @@ class BackupPlanRule(
681
705
  "recovery_point_tags": "recoveryPointTags",
682
706
  "rule_name": "ruleName",
683
707
  "schedule_expression": "scheduleExpression",
708
+ "schedule_expression_timezone": "scheduleExpressionTimezone",
684
709
  "start_window": "startWindow",
685
710
  },
686
711
  )
@@ -697,6 +722,7 @@ class BackupPlanRuleProps:
697
722
  recovery_point_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
698
723
  rule_name: typing.Optional[builtins.str] = None,
699
724
  schedule_expression: typing.Optional[_Schedule_c151d01f] = None,
725
+ schedule_expression_timezone: typing.Optional[_TimeZone_cdd72ac9] = None,
700
726
  start_window: typing.Optional[_Duration_4839e8c3] = None,
701
727
  ) -> None:
702
728
  '''Properties for a BackupPlanRule.
@@ -710,6 +736,7 @@ class BackupPlanRuleProps:
710
736
  :param recovery_point_tags: To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. Default: - no recovery point tags.
711
737
  :param rule_name: A display name for the backup rule. Default: - a CDK generated name
712
738
  :param schedule_expression: A CRON expression specifying when AWS Backup initiates a backup job. Default: - no schedule
739
+ :param schedule_expression_timezone: The timezone in which the schedule expression is set. Default: - UTC
713
740
  :param start_window: The duration after a backup is scheduled before a job is canceled if it doesn't start successfully. Default: - 8 hours
714
741
 
715
742
  :exampleMetadata: infused
@@ -738,6 +765,7 @@ class BackupPlanRuleProps:
738
765
  check_type(argname="argument recovery_point_tags", value=recovery_point_tags, expected_type=type_hints["recovery_point_tags"])
739
766
  check_type(argname="argument rule_name", value=rule_name, expected_type=type_hints["rule_name"])
740
767
  check_type(argname="argument schedule_expression", value=schedule_expression, expected_type=type_hints["schedule_expression"])
768
+ check_type(argname="argument schedule_expression_timezone", value=schedule_expression_timezone, expected_type=type_hints["schedule_expression_timezone"])
741
769
  check_type(argname="argument start_window", value=start_window, expected_type=type_hints["start_window"])
742
770
  self._values: typing.Dict[builtins.str, typing.Any] = {}
743
771
  if backup_vault is not None:
@@ -758,6 +786,8 @@ class BackupPlanRuleProps:
758
786
  self._values["rule_name"] = rule_name
759
787
  if schedule_expression is not None:
760
788
  self._values["schedule_expression"] = schedule_expression
789
+ if schedule_expression_timezone is not None:
790
+ self._values["schedule_expression_timezone"] = schedule_expression_timezone
761
791
  if start_window is not None:
762
792
  self._values["start_window"] = start_window
763
793
 
@@ -856,6 +886,15 @@ class BackupPlanRuleProps:
856
886
  result = self._values.get("schedule_expression")
857
887
  return typing.cast(typing.Optional[_Schedule_c151d01f], result)
858
888
 
889
+ @builtins.property
890
+ def schedule_expression_timezone(self) -> typing.Optional[_TimeZone_cdd72ac9]:
891
+ '''The timezone in which the schedule expression is set.
892
+
893
+ :default: - UTC
894
+ '''
895
+ result = self._values.get("schedule_expression_timezone")
896
+ return typing.cast(typing.Optional[_TimeZone_cdd72ac9], result)
897
+
859
898
  @builtins.property
860
899
  def start_window(self) -> typing.Optional[_Duration_4839e8c3]:
861
900
  '''The duration after a backup is scheduled before a job is canceled if it doesn't start successfully.
@@ -980,7 +1019,7 @@ class BackupResource(
980
1019
 
981
1020
  @jsii.member(jsii_name="fromEc2Instance")
982
1021
  @builtins.classmethod
983
- def from_ec2_instance(cls, instance: _IInstance_ab239e7c) -> "BackupResource":
1022
+ def from_ec2_instance(cls, instance: _IInstanceRef_b97803cb) -> "BackupResource":
984
1023
  '''An EC2 instance.
985
1024
 
986
1025
  :param instance: -
@@ -1160,6 +1199,12 @@ class BackupSelection(
1160
1199
 
1161
1200
  jsii.create(self.__class__, self, [scope, id, props])
1162
1201
 
1202
+ @jsii.python.classproperty
1203
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
1204
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
1205
+ '''Uniquely identifies this class.'''
1206
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
1207
+
1163
1208
  @builtins.property
1164
1209
  @jsii.member(jsii_name="backupPlanId")
1165
1210
  def backup_plan_id(self) -> builtins.str:
@@ -1557,7 +1602,7 @@ class BackupVaultProps:
1557
1602
  access_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
1558
1603
  backup_vault_name: typing.Optional[builtins.str] = None,
1559
1604
  block_recovery_point_deletion: typing.Optional[builtins.bool] = None,
1560
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
1605
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
1561
1606
  lock_configuration: typing.Optional[typing.Union["LockConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
1562
1607
  notification_events: typing.Optional[typing.Sequence[BackupVaultEvents]] = None,
1563
1608
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
@@ -1648,13 +1693,13 @@ class BackupVaultProps:
1648
1693
  return typing.cast(typing.Optional[builtins.bool], result)
1649
1694
 
1650
1695
  @builtins.property
1651
- def encryption_key(self) -> typing.Optional[_IKey_5f11635f]:
1696
+ def encryption_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
1652
1697
  '''The server-side encryption key to use to protect your backups.
1653
1698
 
1654
1699
  :default: - an Amazon managed KMS key
1655
1700
  '''
1656
1701
  result = self._values.get("encryption_key")
1657
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
1702
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
1658
1703
 
1659
1704
  @builtins.property
1660
1705
  def lock_configuration(self) -> typing.Optional["LockConfiguration"]:
@@ -1713,7 +1758,7 @@ class BackupVaultProps:
1713
1758
  )
1714
1759
 
1715
1760
 
1716
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1761
+ @jsii.implements(_IInspectable_c2943556, _IBackupPlanRef_754776b5, _ITaggableV2_4e6798f8)
1717
1762
  class CfnBackupPlan(
1718
1763
  _CfnResource_9df397a6,
1719
1764
  metaclass=jsii.JSIIMeta,
@@ -1795,7 +1840,8 @@ class CfnBackupPlan(
1795
1840
  backup_plan: typing.Union[_IResolvable_da3f097b, typing.Union["CfnBackupPlan.BackupPlanResourceTypeProperty", typing.Dict[builtins.str, typing.Any]]],
1796
1841
  backup_plan_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1797
1842
  ) -> None:
1798
- '''
1843
+ '''Create a new ``AWS::Backup::BackupPlan``.
1844
+
1799
1845
  :param scope: Scope in which this resource is defined.
1800
1846
  :param id: Construct identifier for this resource (unique in its scope).
1801
1847
  :param backup_plan: Uniquely identifies the backup plan to be associated with the selection of resources.
@@ -1811,6 +1857,48 @@ class CfnBackupPlan(
1811
1857
 
1812
1858
  jsii.create(self.__class__, self, [scope, id, props])
1813
1859
 
1860
+ @jsii.member(jsii_name="fromBackupPlanArn")
1861
+ @builtins.classmethod
1862
+ def from_backup_plan_arn(
1863
+ cls,
1864
+ scope: _constructs_77d1e7e8.Construct,
1865
+ id: builtins.str,
1866
+ arn: builtins.str,
1867
+ ) -> _IBackupPlanRef_754776b5:
1868
+ '''Creates a new IBackupPlanRef from an ARN.
1869
+
1870
+ :param scope: -
1871
+ :param id: -
1872
+ :param arn: -
1873
+ '''
1874
+ if __debug__:
1875
+ type_hints = typing.get_type_hints(_typecheckingstub__19a621581dc951af9f595672bab4c44806829db988a9a543e73c82aa211347cc)
1876
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1877
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1878
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
1879
+ return typing.cast(_IBackupPlanRef_754776b5, jsii.sinvoke(cls, "fromBackupPlanArn", [scope, id, arn]))
1880
+
1881
+ @jsii.member(jsii_name="fromBackupPlanId")
1882
+ @builtins.classmethod
1883
+ def from_backup_plan_id(
1884
+ cls,
1885
+ scope: _constructs_77d1e7e8.Construct,
1886
+ id: builtins.str,
1887
+ backup_plan_id: builtins.str,
1888
+ ) -> _IBackupPlanRef_754776b5:
1889
+ '''Creates a new IBackupPlanRef from a backupPlanId.
1890
+
1891
+ :param scope: -
1892
+ :param id: -
1893
+ :param backup_plan_id: -
1894
+ '''
1895
+ if __debug__:
1896
+ type_hints = typing.get_type_hints(_typecheckingstub__c10f5f2e9e380d8e917a10f74122d09d2b555c99380ffa6da4e01197e1e097dd)
1897
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1898
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1899
+ check_type(argname="argument backup_plan_id", value=backup_plan_id, expected_type=type_hints["backup_plan_id"])
1900
+ return typing.cast(_IBackupPlanRef_754776b5, jsii.sinvoke(cls, "fromBackupPlanId", [scope, id, backup_plan_id]))
1901
+
1814
1902
  @jsii.member(jsii_name="inspect")
1815
1903
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1816
1904
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1872,6 +1960,12 @@ class CfnBackupPlan(
1872
1960
  '''
1873
1961
  return typing.cast(builtins.str, jsii.get(self, "attrVersionId"))
1874
1962
 
1963
+ @builtins.property
1964
+ @jsii.member(jsii_name="backupPlanRef")
1965
+ def backup_plan_ref(self) -> _BackupPlanReference_43879719:
1966
+ '''A reference to a BackupPlan resource.'''
1967
+ return typing.cast(_BackupPlanReference_43879719, jsii.get(self, "backupPlanRef"))
1968
+
1875
1969
  @builtins.property
1876
1970
  @jsii.member(jsii_name="cdkTagManager")
1877
1971
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -2183,7 +2277,7 @@ class CfnBackupPlan(
2183
2277
  :param completion_window_minutes: A value in minutes after a backup job is successfully started before it must be completed or it is canceled by AWS Backup .
2184
2278
  :param copy_actions: An array of CopyAction objects, which contains the details of the copy operation.
2185
2279
  :param enable_continuous_backup: Enables continuous backup and point-in-time restores (PITR).
2186
- :param index_actions:
2280
+ :param index_actions: There can up to one IndexAction in each BackupRule, as each backup can have 0 or 1 backup index associated with it. Within the array is ResourceTypes. Only 1 resource type will be accepted for each BackupRule. Valid values: - ``EBS`` for Amazon Elastic Block Store - ``S3`` for Amazon Simple Storage Service (Amazon S3)
2187
2281
  :param lifecycle: The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.
2188
2282
  :param recovery_point_tags: The tags to assign to the resources.
2189
2283
  :param schedule_expression: A CRON expression specifying when AWS Backup initiates a backup job.
@@ -2325,7 +2419,13 @@ class CfnBackupPlan(
2325
2419
  def index_actions(
2326
2420
  self,
2327
2421
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBackupPlan.IndexActionsResourceTypeProperty"]]]]:
2328
- '''
2422
+ '''There can up to one IndexAction in each BackupRule, as each backup can have 0 or 1 backup index associated with it.
2423
+
2424
+ Within the array is ResourceTypes. Only 1 resource type will be accepted for each BackupRule. Valid values:
2425
+
2426
+ - ``EBS`` for Amazon Elastic Block Store
2427
+ - ``S3`` for Amazon Simple Storage Service (Amazon S3)
2428
+
2329
2429
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-indexactions
2330
2430
  '''
2331
2431
  result = self._values.get("index_actions")
@@ -2496,8 +2596,9 @@ class CfnBackupPlan(
2496
2596
  *,
2497
2597
  resource_types: typing.Optional[typing.Sequence[builtins.str]] = None,
2498
2598
  ) -> None:
2499
- '''
2500
- :param resource_types:
2599
+ '''Specifies index actions.
2600
+
2601
+ :param resource_types: 0 or 1 index action will be accepted for each BackupRule. Valid values: - ``EBS`` for Amazon Elastic Block Store - ``S3`` for Amazon Simple Storage Service (Amazon S3)
2501
2602
 
2502
2603
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-indexactionsresourcetype.html
2503
2604
  :exampleMetadata: fixture=_generated
@@ -2521,7 +2622,13 @@ class CfnBackupPlan(
2521
2622
 
2522
2623
  @builtins.property
2523
2624
  def resource_types(self) -> typing.Optional[typing.List[builtins.str]]:
2524
- '''
2625
+ '''0 or 1 index action will be accepted for each BackupRule.
2626
+
2627
+ Valid values:
2628
+
2629
+ - ``EBS`` for Amazon Elastic Block Store
2630
+ - ``S3`` for Amazon Simple Storage Service (Amazon S3)
2631
+
2525
2632
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-indexactionsresourcetype.html#cfn-backup-backupplan-indexactionsresourcetype-resourcetypes
2526
2633
  '''
2527
2634
  result = self._values.get("resource_types")
@@ -2557,8 +2664,8 @@ class CfnBackupPlan(
2557
2664
  ) -> None:
2558
2665
  '''Specifies an object containing an array of ``Transition`` objects that determine how long in days before a recovery point transitions to cold storage or is deleted.
2559
2666
 
2560
- :param delete_after_days: Specifies the number of days after creation that a recovery point is deleted. Must be greater than ``MoveToColdStorageAfterDays`` .
2561
- :param move_to_cold_storage_after_days: Specifies the number of days after creation that a recovery point is moved to cold storage.
2667
+ :param delete_after_days: The number of days after creation that a recovery point is deleted. This value must be at least 90 days after the number of days specified in ``MoveToColdStorageAfterDays`` .
2668
+ :param move_to_cold_storage_after_days: The number of days after creation that a recovery point is moved to cold storage.
2562
2669
  :param opt_in_to_archive_for_supported_resources: If the value is true, your backup plan transitions supported resources to archive (cold) storage tier in accordance with your lifecycle settings.
2563
2670
 
2564
2671
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html
@@ -2591,9 +2698,9 @@ class CfnBackupPlan(
2591
2698
 
2592
2699
  @builtins.property
2593
2700
  def delete_after_days(self) -> typing.Optional[jsii.Number]:
2594
- '''Specifies the number of days after creation that a recovery point is deleted.
2701
+ '''The number of days after creation that a recovery point is deleted.
2595
2702
 
2596
- Must be greater than ``MoveToColdStorageAfterDays`` .
2703
+ This value must be at least 90 days after the number of days specified in ``MoveToColdStorageAfterDays`` .
2597
2704
 
2598
2705
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-deleteafterdays
2599
2706
  '''
@@ -2602,7 +2709,7 @@ class CfnBackupPlan(
2602
2709
 
2603
2710
  @builtins.property
2604
2711
  def move_to_cold_storage_after_days(self) -> typing.Optional[jsii.Number]:
2605
- '''Specifies the number of days after creation that a recovery point is moved to cold storage.
2712
+ '''The number of days after creation that a recovery point is moved to cold storage.
2606
2713
 
2607
2714
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-movetocoldstorageafterdays
2608
2715
  '''
@@ -2754,7 +2861,7 @@ class CfnBackupPlanProps:
2754
2861
  )
2755
2862
 
2756
2863
 
2757
- @jsii.implements(_IInspectable_c2943556)
2864
+ @jsii.implements(_IInspectable_c2943556, _IBackupSelectionRef_e9fbb7b2)
2758
2865
  class CfnBackupSelection(
2759
2866
  _CfnResource_9df397a6,
2760
2867
  metaclass=jsii.JSIIMeta,
@@ -2803,7 +2910,8 @@ class CfnBackupSelection(
2803
2910
  backup_plan_id: builtins.str,
2804
2911
  backup_selection: typing.Union[_IResolvable_da3f097b, typing.Union["CfnBackupSelection.BackupSelectionResourceTypeProperty", typing.Dict[builtins.str, typing.Any]]],
2805
2912
  ) -> None:
2806
- '''
2913
+ '''Create a new ``AWS::Backup::BackupSelection``.
2914
+
2807
2915
  :param scope: Scope in which this resource is defined.
2808
2916
  :param id: Construct identifier for this resource (unique in its scope).
2809
2917
  :param backup_plan_id: Uniquely identifies a backup plan.
@@ -2876,6 +2984,12 @@ class CfnBackupSelection(
2876
2984
  '''
2877
2985
  return typing.cast(builtins.str, jsii.get(self, "attrSelectionId"))
2878
2986
 
2987
+ @builtins.property
2988
+ @jsii.member(jsii_name="backupSelectionRef")
2989
+ def backup_selection_ref(self) -> _BackupSelectionReference_541c6985:
2990
+ '''A reference to a BackupSelection resource.'''
2991
+ return typing.cast(_BackupSelectionReference_541c6985, jsii.get(self, "backupSelectionRef"))
2992
+
2879
2993
  @builtins.property
2880
2994
  @jsii.member(jsii_name="cfnProperties")
2881
2995
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -3483,7 +3597,7 @@ class CfnBackupSelectionProps:
3483
3597
  )
3484
3598
 
3485
3599
 
3486
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
3600
+ @jsii.implements(_IInspectable_c2943556, _IBackupVaultRef_c038ce00, _ITaggableV2_4e6798f8)
3487
3601
  class CfnBackupVault(
3488
3602
  _CfnResource_9df397a6,
3489
3603
  metaclass=jsii.JSIIMeta,
@@ -3544,7 +3658,8 @@ class CfnBackupVault(
3544
3658
  lock_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBackupVault.LockConfigurationTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3545
3659
  notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBackupVault.NotificationObjectTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3546
3660
  ) -> None:
3547
- '''
3661
+ '''Create a new ``AWS::Backup::BackupVault``.
3662
+
3548
3663
  :param scope: Scope in which this resource is defined.
3549
3664
  :param id: Construct identifier for this resource (unique in its scope).
3550
3665
  :param backup_vault_name: The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created.
@@ -3569,6 +3684,48 @@ class CfnBackupVault(
3569
3684
 
3570
3685
  jsii.create(self.__class__, self, [scope, id, props])
3571
3686
 
3687
+ @jsii.member(jsii_name="fromBackupVaultArn")
3688
+ @builtins.classmethod
3689
+ def from_backup_vault_arn(
3690
+ cls,
3691
+ scope: _constructs_77d1e7e8.Construct,
3692
+ id: builtins.str,
3693
+ arn: builtins.str,
3694
+ ) -> _IBackupVaultRef_c038ce00:
3695
+ '''Creates a new IBackupVaultRef from an ARN.
3696
+
3697
+ :param scope: -
3698
+ :param id: -
3699
+ :param arn: -
3700
+ '''
3701
+ if __debug__:
3702
+ type_hints = typing.get_type_hints(_typecheckingstub__2986d116c33dbb1dc995c507e7df9b0cf2f344f357d0a1404d0c2ece4c1fc5b2)
3703
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3704
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3705
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
3706
+ return typing.cast(_IBackupVaultRef_c038ce00, jsii.sinvoke(cls, "fromBackupVaultArn", [scope, id, arn]))
3707
+
3708
+ @jsii.member(jsii_name="fromBackupVaultName")
3709
+ @builtins.classmethod
3710
+ def from_backup_vault_name(
3711
+ cls,
3712
+ scope: _constructs_77d1e7e8.Construct,
3713
+ id: builtins.str,
3714
+ backup_vault_name: builtins.str,
3715
+ ) -> _IBackupVaultRef_c038ce00:
3716
+ '''Creates a new IBackupVaultRef from a backupVaultName.
3717
+
3718
+ :param scope: -
3719
+ :param id: -
3720
+ :param backup_vault_name: -
3721
+ '''
3722
+ if __debug__:
3723
+ type_hints = typing.get_type_hints(_typecheckingstub__cc137647a726cfa7058e572fdb03e73df8b9f52e786f61edcd64eb6c3fc59645)
3724
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
3725
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
3726
+ check_type(argname="argument backup_vault_name", value=backup_vault_name, expected_type=type_hints["backup_vault_name"])
3727
+ return typing.cast(_IBackupVaultRef_c038ce00, jsii.sinvoke(cls, "fromBackupVaultName", [scope, id, backup_vault_name]))
3728
+
3572
3729
  @jsii.member(jsii_name="inspect")
3573
3730
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
3574
3731
  '''Examines the CloudFormation resource and discloses attributes.
@@ -3621,6 +3778,12 @@ class CfnBackupVault(
3621
3778
  '''
3622
3779
  return typing.cast(builtins.str, jsii.get(self, "attrBackupVaultName"))
3623
3780
 
3781
+ @builtins.property
3782
+ @jsii.member(jsii_name="backupVaultRef")
3783
+ def backup_vault_ref(self) -> _BackupVaultReference_228dbd3a:
3784
+ '''A reference to a BackupVault resource.'''
3785
+ return typing.cast(_BackupVaultReference_228dbd3a, jsii.get(self, "backupVaultRef"))
3786
+
3624
3787
  @builtins.property
3625
3788
  @jsii.member(jsii_name="cdkTagManager")
3626
3789
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -4082,7 +4245,7 @@ class CfnBackupVaultProps:
4082
4245
  )
4083
4246
 
4084
4247
 
4085
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4248
+ @jsii.implements(_IInspectable_c2943556, _IFrameworkRef_dcbb25ea, _ITaggableV2_4e6798f8)
4086
4249
  class CfnFramework(
4087
4250
  _CfnResource_9df397a6,
4088
4251
  metaclass=jsii.JSIIMeta,
@@ -4138,7 +4301,8 @@ class CfnFramework(
4138
4301
  framework_name: typing.Optional[builtins.str] = None,
4139
4302
  framework_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4140
4303
  ) -> None:
4141
- '''
4304
+ '''Create a new ``AWS::Backup::Framework``.
4305
+
4142
4306
  :param scope: Scope in which this resource is defined.
4143
4307
  :param id: Construct identifier for this resource (unique in its scope).
4144
4308
  :param framework_controls: Contains detailed information about all of the controls of a framework. Each framework must contain at least one control.
@@ -4240,6 +4404,12 @@ class CfnFramework(
4240
4404
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4241
4405
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4242
4406
 
4407
+ @builtins.property
4408
+ @jsii.member(jsii_name="frameworkRef")
4409
+ def framework_ref(self) -> _FrameworkReference_5ce10c24:
4410
+ '''A reference to a Framework resource.'''
4411
+ return typing.cast(_FrameworkReference_5ce10c24, jsii.get(self, "frameworkRef"))
4412
+
4243
4413
  @builtins.property
4244
4414
  @jsii.member(jsii_name="frameworkControls")
4245
4415
  def framework_controls(
@@ -4716,7 +4886,7 @@ class CfnFrameworkProps:
4716
4886
  )
4717
4887
 
4718
4888
 
4719
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4889
+ @jsii.implements(_IInspectable_c2943556, _ILogicallyAirGappedBackupVaultRef_94a8f212, _ITaggableV2_4e6798f8)
4720
4890
  class CfnLogicallyAirGappedBackupVault(
4721
4891
  _CfnResource_9df397a6,
4722
4892
  metaclass=jsii.JSIIMeta,
@@ -4751,6 +4921,7 @@ class CfnLogicallyAirGappedBackupVault(
4751
4921
  backup_vault_tags={
4752
4922
  "backup_vault_tags_key": "backupVaultTags"
4753
4923
  },
4924
+ mpa_approval_team_arn="mpaApprovalTeamArn",
4754
4925
  notifications=backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty(
4755
4926
  backup_vault_events=["backupVaultEvents"],
4756
4927
  sns_topic_arn="snsTopicArn"
@@ -4768,9 +4939,11 @@ class CfnLogicallyAirGappedBackupVault(
4768
4939
  min_retention_days: jsii.Number,
4769
4940
  access_policy: typing.Any = None,
4770
4941
  backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4942
+ mpa_approval_team_arn: typing.Optional[builtins.str] = None,
4771
4943
  notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4772
4944
  ) -> None:
4773
- '''
4945
+ '''Create a new ``AWS::Backup::LogicallyAirGappedBackupVault``.
4946
+
4774
4947
  :param scope: Scope in which this resource is defined.
4775
4948
  :param id: Construct identifier for this resource (unique in its scope).
4776
4949
  :param backup_vault_name: The name of a logical container where backups are stored. Logically air-gapped backup vaults are identified by names that are unique to the account used to create them and the Region where they are created.
@@ -4778,6 +4951,7 @@ class CfnLogicallyAirGappedBackupVault(
4778
4951
  :param min_retention_days: This setting specifies the minimum retention period that the vault retains its recovery points. The minimum value accepted is 7 days.
4779
4952
  :param access_policy: The backup vault access policy document in JSON format.
4780
4953
  :param backup_vault_tags: The tags to assign to the vault.
4954
+ :param mpa_approval_team_arn:
4781
4955
  :param notifications: Returns event notifications for the specified backup vault.
4782
4956
  '''
4783
4957
  if __debug__:
@@ -4790,11 +4964,33 @@ class CfnLogicallyAirGappedBackupVault(
4790
4964
  min_retention_days=min_retention_days,
4791
4965
  access_policy=access_policy,
4792
4966
  backup_vault_tags=backup_vault_tags,
4967
+ mpa_approval_team_arn=mpa_approval_team_arn,
4793
4968
  notifications=notifications,
4794
4969
  )
4795
4970
 
4796
4971
  jsii.create(self.__class__, self, [scope, id, props])
4797
4972
 
4973
+ @jsii.member(jsii_name="fromBackupVaultName")
4974
+ @builtins.classmethod
4975
+ def from_backup_vault_name(
4976
+ cls,
4977
+ scope: _constructs_77d1e7e8.Construct,
4978
+ id: builtins.str,
4979
+ backup_vault_name: builtins.str,
4980
+ ) -> _ILogicallyAirGappedBackupVaultRef_94a8f212:
4981
+ '''Creates a new ILogicallyAirGappedBackupVaultRef from a backupVaultName.
4982
+
4983
+ :param scope: -
4984
+ :param id: -
4985
+ :param backup_vault_name: -
4986
+ '''
4987
+ if __debug__:
4988
+ type_hints = typing.get_type_hints(_typecheckingstub__e2d7a451581b8c789f1a800340871c2a6bccebe8622af1e2f5b447a3a98d1dbb)
4989
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4990
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4991
+ check_type(argname="argument backup_vault_name", value=backup_vault_name, expected_type=type_hints["backup_vault_name"])
4992
+ return typing.cast(_ILogicallyAirGappedBackupVaultRef_94a8f212, jsii.sinvoke(cls, "fromBackupVaultName", [scope, id, backup_vault_name]))
4993
+
4798
4994
  @jsii.member(jsii_name="inspect")
4799
4995
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4800
4996
  '''Examines the CloudFormation resource and discloses attributes.
@@ -4828,7 +5024,8 @@ class CfnLogicallyAirGappedBackupVault(
4828
5024
  @builtins.property
4829
5025
  @jsii.member(jsii_name="attrBackupVaultArn")
4830
5026
  def attr_backup_vault_arn(self) -> builtins.str:
4831
- '''
5027
+ '''The ARN of the backup vault.
5028
+
4832
5029
  :cloudformationAttribute: BackupVaultArn
4833
5030
  '''
4834
5031
  return typing.cast(builtins.str, jsii.get(self, "attrBackupVaultArn"))
@@ -4836,7 +5033,8 @@ class CfnLogicallyAirGappedBackupVault(
4836
5033
  @builtins.property
4837
5034
  @jsii.member(jsii_name="attrEncryptionKeyArn")
4838
5035
  def attr_encryption_key_arn(self) -> builtins.str:
4839
- '''
5036
+ '''The ARN of the server-side encryption key.
5037
+
4840
5038
  :cloudformationAttribute: EncryptionKeyArn
4841
5039
  '''
4842
5040
  return typing.cast(builtins.str, jsii.get(self, "attrEncryptionKeyArn"))
@@ -4844,7 +5042,10 @@ class CfnLogicallyAirGappedBackupVault(
4844
5042
  @builtins.property
4845
5043
  @jsii.member(jsii_name="attrVaultState")
4846
5044
  def attr_vault_state(self) -> builtins.str:
4847
- '''
5045
+ '''The vault state.
5046
+
5047
+ The possible values are ``CREATING`` , ``AVAILABLE`` , and ``FAILED`` .
5048
+
4848
5049
  :cloudformationAttribute: VaultState
4849
5050
  '''
4850
5051
  return typing.cast(builtins.str, jsii.get(self, "attrVaultState"))
@@ -4852,7 +5053,10 @@ class CfnLogicallyAirGappedBackupVault(
4852
5053
  @builtins.property
4853
5054
  @jsii.member(jsii_name="attrVaultType")
4854
5055
  def attr_vault_type(self) -> builtins.str:
4855
- '''
5056
+ '''The vault type.
5057
+
5058
+ The possible values are ``BACKUP_VAULT`` and ``LOGICALLY_AIR_GAPPED_BACKUP_VAULT`` .
5059
+
4856
5060
  :cloudformationAttribute: VaultType
4857
5061
  '''
4858
5062
  return typing.cast(builtins.str, jsii.get(self, "attrVaultType"))
@@ -4868,6 +5072,14 @@ class CfnLogicallyAirGappedBackupVault(
4868
5072
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4869
5073
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4870
5074
 
5075
+ @builtins.property
5076
+ @jsii.member(jsii_name="logicallyAirGappedBackupVaultRef")
5077
+ def logically_air_gapped_backup_vault_ref(
5078
+ self,
5079
+ ) -> _LogicallyAirGappedBackupVaultReference_53a7ab81:
5080
+ '''A reference to a LogicallyAirGappedBackupVault resource.'''
5081
+ return typing.cast(_LogicallyAirGappedBackupVaultReference_53a7ab81, jsii.get(self, "logicallyAirGappedBackupVaultRef"))
5082
+
4871
5083
  @builtins.property
4872
5084
  @jsii.member(jsii_name="backupVaultName")
4873
5085
  def backup_vault_name(self) -> builtins.str:
@@ -4938,6 +5150,18 @@ class CfnLogicallyAirGappedBackupVault(
4938
5150
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4939
5151
  jsii.set(self, "backupVaultTags", value) # pyright: ignore[reportArgumentType]
4940
5152
 
5153
+ @builtins.property
5154
+ @jsii.member(jsii_name="mpaApprovalTeamArn")
5155
+ def mpa_approval_team_arn(self) -> typing.Optional[builtins.str]:
5156
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "mpaApprovalTeamArn"))
5157
+
5158
+ @mpa_approval_team_arn.setter
5159
+ def mpa_approval_team_arn(self, value: typing.Optional[builtins.str]) -> None:
5160
+ if __debug__:
5161
+ type_hints = typing.get_type_hints(_typecheckingstub__d69a75a0b7ce93d33d99d99ea46c6bed385bc4618297cfeb5204520844045d0e)
5162
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5163
+ jsii.set(self, "mpaApprovalTeamArn", value) # pyright: ignore[reportArgumentType]
5164
+
4941
5165
  @builtins.property
4942
5166
  @jsii.member(jsii_name="notifications")
4943
5167
  def notifications(
@@ -5041,6 +5265,7 @@ class CfnLogicallyAirGappedBackupVault(
5041
5265
  "min_retention_days": "minRetentionDays",
5042
5266
  "access_policy": "accessPolicy",
5043
5267
  "backup_vault_tags": "backupVaultTags",
5268
+ "mpa_approval_team_arn": "mpaApprovalTeamArn",
5044
5269
  "notifications": "notifications",
5045
5270
  },
5046
5271
  )
@@ -5053,6 +5278,7 @@ class CfnLogicallyAirGappedBackupVaultProps:
5053
5278
  min_retention_days: jsii.Number,
5054
5279
  access_policy: typing.Any = None,
5055
5280
  backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5281
+ mpa_approval_team_arn: typing.Optional[builtins.str] = None,
5056
5282
  notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5057
5283
  ) -> None:
5058
5284
  '''Properties for defining a ``CfnLogicallyAirGappedBackupVault``.
@@ -5062,6 +5288,7 @@ class CfnLogicallyAirGappedBackupVaultProps:
5062
5288
  :param min_retention_days: This setting specifies the minimum retention period that the vault retains its recovery points. The minimum value accepted is 7 days.
5063
5289
  :param access_policy: The backup vault access policy document in JSON format.
5064
5290
  :param backup_vault_tags: The tags to assign to the vault.
5291
+ :param mpa_approval_team_arn:
5065
5292
  :param notifications: Returns event notifications for the specified backup vault.
5066
5293
 
5067
5294
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html
@@ -5085,6 +5312,7 @@ class CfnLogicallyAirGappedBackupVaultProps:
5085
5312
  backup_vault_tags={
5086
5313
  "backup_vault_tags_key": "backupVaultTags"
5087
5314
  },
5315
+ mpa_approval_team_arn="mpaApprovalTeamArn",
5088
5316
  notifications=backup.CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty(
5089
5317
  backup_vault_events=["backupVaultEvents"],
5090
5318
  sns_topic_arn="snsTopicArn"
@@ -5098,6 +5326,7 @@ class CfnLogicallyAirGappedBackupVaultProps:
5098
5326
  check_type(argname="argument min_retention_days", value=min_retention_days, expected_type=type_hints["min_retention_days"])
5099
5327
  check_type(argname="argument access_policy", value=access_policy, expected_type=type_hints["access_policy"])
5100
5328
  check_type(argname="argument backup_vault_tags", value=backup_vault_tags, expected_type=type_hints["backup_vault_tags"])
5329
+ check_type(argname="argument mpa_approval_team_arn", value=mpa_approval_team_arn, expected_type=type_hints["mpa_approval_team_arn"])
5101
5330
  check_type(argname="argument notifications", value=notifications, expected_type=type_hints["notifications"])
5102
5331
  self._values: typing.Dict[builtins.str, typing.Any] = {
5103
5332
  "backup_vault_name": backup_vault_name,
@@ -5108,6 +5337,8 @@ class CfnLogicallyAirGappedBackupVaultProps:
5108
5337
  self._values["access_policy"] = access_policy
5109
5338
  if backup_vault_tags is not None:
5110
5339
  self._values["backup_vault_tags"] = backup_vault_tags
5340
+ if mpa_approval_team_arn is not None:
5341
+ self._values["mpa_approval_team_arn"] = mpa_approval_team_arn
5111
5342
  if notifications is not None:
5112
5343
  self._values["notifications"] = notifications
5113
5344
 
@@ -5165,6 +5396,14 @@ class CfnLogicallyAirGappedBackupVaultProps:
5165
5396
  result = self._values.get("backup_vault_tags")
5166
5397
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
5167
5398
 
5399
+ @builtins.property
5400
+ def mpa_approval_team_arn(self) -> typing.Optional[builtins.str]:
5401
+ '''
5402
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-logicallyairgappedbackupvault.html#cfn-backup-logicallyairgappedbackupvault-mpaapprovalteamarn
5403
+ '''
5404
+ result = self._values.get("mpa_approval_team_arn")
5405
+ return typing.cast(typing.Optional[builtins.str], result)
5406
+
5168
5407
  @builtins.property
5169
5408
  def notifications(
5170
5409
  self,
@@ -5188,7 +5427,7 @@ class CfnLogicallyAirGappedBackupVaultProps:
5188
5427
  )
5189
5428
 
5190
5429
 
5191
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
5430
+ @jsii.implements(_IInspectable_c2943556, _IReportPlanRef_2eb6ea89, _ITaggableV2_4e6798f8)
5192
5431
  class CfnReportPlan(
5193
5432
  _CfnResource_9df397a6,
5194
5433
  metaclass=jsii.JSIIMeta,
@@ -5240,7 +5479,8 @@ class CfnReportPlan(
5240
5479
  report_plan_name: typing.Optional[builtins.str] = None,
5241
5480
  report_plan_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5242
5481
  ) -> None:
5243
- '''
5482
+ '''Create a new ``AWS::Backup::ReportPlan``.
5483
+
5244
5484
  :param scope: Scope in which this resource is defined.
5245
5485
  :param id: Construct identifier for this resource (unique in its scope).
5246
5486
  :param report_delivery_channel: Contains information about where and how to deliver your reports, specifically your Amazon S3 bucket name, S3 key prefix, and the formats of your reports.
@@ -5313,6 +5553,12 @@ class CfnReportPlan(
5313
5553
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5314
5554
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5315
5555
 
5556
+ @builtins.property
5557
+ @jsii.member(jsii_name="reportPlanRef")
5558
+ def report_plan_ref(self) -> _ReportPlanReference_0a875581:
5559
+ '''A reference to a ReportPlan resource.'''
5560
+ return typing.cast(_ReportPlanReference_0a875581, jsii.get(self, "reportPlanRef"))
5561
+
5316
5562
  @builtins.property
5317
5563
  @jsii.member(jsii_name="reportDeliveryChannel")
5318
5564
  def report_delivery_channel(self) -> typing.Any:
@@ -5748,7 +5994,7 @@ class CfnReportPlanProps:
5748
5994
  )
5749
5995
 
5750
5996
 
5751
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
5997
+ @jsii.implements(_IInspectable_c2943556, _IRestoreTestingPlanRef_3850185f, _ITaggableV2_4e6798f8)
5752
5998
  class CfnRestoreTestingPlan(
5753
5999
  _CfnResource_9df397a6,
5754
6000
  metaclass=jsii.JSIIMeta,
@@ -5803,7 +6049,8 @@ class CfnRestoreTestingPlan(
5803
6049
  start_window_hours: typing.Optional[jsii.Number] = None,
5804
6050
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5805
6051
  ) -> None:
5806
- '''
6052
+ '''Create a new ``AWS::Backup::RestoreTestingPlan``.
6053
+
5807
6054
  :param scope: Scope in which this resource is defined.
5808
6055
  :param id: Construct identifier for this resource (unique in its scope).
5809
6056
  :param recovery_point_selection: The specified criteria to assign a set of resources, such as recovery point types or backup vaults.
@@ -5878,6 +6125,12 @@ class CfnRestoreTestingPlan(
5878
6125
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5879
6126
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5880
6127
 
6128
+ @builtins.property
6129
+ @jsii.member(jsii_name="restoreTestingPlanRef")
6130
+ def restore_testing_plan_ref(self) -> _RestoreTestingPlanReference_99f8c406:
6131
+ '''A reference to a RestoreTestingPlan resource.'''
6132
+ return typing.cast(_RestoreTestingPlanReference_99f8c406, jsii.get(self, "restoreTestingPlanRef"))
6133
+
5881
6134
  @builtins.property
5882
6135
  @jsii.member(jsii_name="recoveryPointSelection")
5883
6136
  def recovery_point_selection(
@@ -6269,7 +6522,7 @@ class CfnRestoreTestingPlanProps:
6269
6522
  )
6270
6523
 
6271
6524
 
6272
- @jsii.implements(_IInspectable_c2943556)
6525
+ @jsii.implements(_IInspectable_c2943556, _IRestoreTestingSelectionRef_f3800013)
6273
6526
  class CfnRestoreTestingSelection(
6274
6527
  _CfnResource_9df397a6,
6275
6528
  metaclass=jsii.JSIIMeta,
@@ -6339,13 +6592,14 @@ class CfnRestoreTestingSelection(
6339
6592
  restore_metadata_overrides: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
6340
6593
  validation_window_hours: typing.Optional[jsii.Number] = None,
6341
6594
  ) -> None:
6342
- '''
6595
+ '''Create a new ``AWS::Backup::RestoreTestingSelection``.
6596
+
6343
6597
  :param scope: Scope in which this resource is defined.
6344
6598
  :param id: Construct identifier for this resource (unique in its scope).
6345
6599
  :param iam_role_arn: The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target resource; for example: ``arn:aws:iam::123456789012:role/S3Access`` .
6346
6600
  :param protected_resource_type: The type of AWS resource included in a resource testing selection; for example, an Amazon EBS volume or an Amazon RDS database.
6347
6601
  :param restore_testing_plan_name: Unique string that is the name of the restore testing plan. The name cannot be changed after creation. The name must consist of only alphanumeric characters and underscores. Maximum length is 50.
6348
- :param restore_testing_selection_name: The unique name of the restore testing selection that belongs to the related restore testing plan.
6602
+ :param restore_testing_selection_name: The unique name of the restore testing selection that belongs to the related restore testing plan. The name consists of only alphanumeric characters and underscores. Maximum length is 50.
6349
6603
  :param protected_resource_arns: You can include specific ARNs, such as ``ProtectedResourceArns: ["arn:aws:...", "arn:aws:..."]`` or you can include a wildcard: ``ProtectedResourceArns: ["*"]`` , but not both.
6350
6604
  :param protected_resource_conditions: In a resource testing selection, this parameter filters by specific conditions such as ``StringEquals`` or ``StringNotEquals`` .
6351
6605
  :param restore_metadata_overrides: You can override certain restore metadata keys by including the parameter ``RestoreMetadataOverrides`` in the body of ``RestoreTestingSelection`` . Key values are not case sensitive. See the complete list of `restore testing inferred metadata <https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing-inferred-metadata.html>`_ .
@@ -6403,6 +6657,14 @@ class CfnRestoreTestingSelection(
6403
6657
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6404
6658
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6405
6659
 
6660
+ @builtins.property
6661
+ @jsii.member(jsii_name="restoreTestingSelectionRef")
6662
+ def restore_testing_selection_ref(
6663
+ self,
6664
+ ) -> _RestoreTestingSelectionReference_05d8055b:
6665
+ '''A reference to a RestoreTestingSelection resource.'''
6666
+ return typing.cast(_RestoreTestingSelectionReference_05d8055b, jsii.get(self, "restoreTestingSelectionRef"))
6667
+
6406
6668
  @builtins.property
6407
6669
  @jsii.member(jsii_name="iamRoleArn")
6408
6670
  def iam_role_arn(self) -> builtins.str:
@@ -6708,7 +6970,7 @@ class CfnRestoreTestingSelectionProps:
6708
6970
  :param iam_role_arn: The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target resource; for example: ``arn:aws:iam::123456789012:role/S3Access`` .
6709
6971
  :param protected_resource_type: The type of AWS resource included in a resource testing selection; for example, an Amazon EBS volume or an Amazon RDS database.
6710
6972
  :param restore_testing_plan_name: Unique string that is the name of the restore testing plan. The name cannot be changed after creation. The name must consist of only alphanumeric characters and underscores. Maximum length is 50.
6711
- :param restore_testing_selection_name: The unique name of the restore testing selection that belongs to the related restore testing plan.
6973
+ :param restore_testing_selection_name: The unique name of the restore testing selection that belongs to the related restore testing plan. The name consists of only alphanumeric characters and underscores. Maximum length is 50.
6712
6974
  :param protected_resource_arns: You can include specific ARNs, such as ``ProtectedResourceArns: ["arn:aws:...", "arn:aws:..."]`` or you can include a wildcard: ``ProtectedResourceArns: ["*"]`` , but not both.
6713
6975
  :param protected_resource_conditions: In a resource testing selection, this parameter filters by specific conditions such as ``StringEquals`` or ``StringNotEquals`` .
6714
6976
  :param restore_metadata_overrides: You can override certain restore metadata keys by including the parameter ``RestoreMetadataOverrides`` in the body of ``RestoreTestingSelection`` . Key values are not case sensitive. See the complete list of `restore testing inferred metadata <https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing-inferred-metadata.html>`_ .
@@ -6812,6 +7074,8 @@ class CfnRestoreTestingSelectionProps:
6812
7074
  def restore_testing_selection_name(self) -> builtins.str:
6813
7075
  '''The unique name of the restore testing selection that belongs to the related restore testing plan.
6814
7076
 
7077
+ The name consists of only alphanumeric characters and underscores. Maximum length is 50.
7078
+
6815
7079
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-restoretestingselection.html#cfn-backup-restoretestingselection-restoretestingselectionname
6816
7080
  '''
6817
7081
  result = self._values.get("restore_testing_selection_name")
@@ -7396,6 +7660,12 @@ class BackupPlan(
7396
7660
 
7397
7661
  return typing.cast(BackupSelection, jsii.invoke(self, "addSelection", [id, options]))
7398
7662
 
7663
+ @jsii.python.classproperty
7664
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
7665
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
7666
+ '''Uniquely identifies this class.'''
7667
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
7668
+
7399
7669
  @builtins.property
7400
7670
  @jsii.member(jsii_name="backupPlanArn")
7401
7671
  def backup_plan_arn(self) -> builtins.str:
@@ -7454,7 +7724,7 @@ class BackupVault(
7454
7724
  access_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
7455
7725
  backup_vault_name: typing.Optional[builtins.str] = None,
7456
7726
  block_recovery_point_deletion: typing.Optional[builtins.bool] = None,
7457
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
7727
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
7458
7728
  lock_configuration: typing.Optional[typing.Union[LockConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
7459
7729
  notification_events: typing.Optional[typing.Sequence[BackupVaultEvents]] = None,
7460
7730
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
@@ -7564,6 +7834,12 @@ class BackupVault(
7564
7834
  check_type(argname="argument actions", value=actions, expected_type=typing.Tuple[type_hints["actions"], ...]) # pyright: ignore [reportGeneralTypeIssues]
7565
7835
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grant", [grantee, *actions]))
7566
7836
 
7837
+ @jsii.python.classproperty
7838
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
7839
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
7840
+ '''Uniquely identifies this class.'''
7841
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
7842
+
7567
7843
  @builtins.property
7568
7844
  @jsii.member(jsii_name="backupVaultArn")
7569
7845
  def backup_vault_arn(self) -> builtins.str:
@@ -7675,6 +7951,7 @@ def _typecheckingstub__521e43eca71db1c8347b5dbf1e88135cbc1fd43f07248784b33b55d83
7675
7951
  recovery_point_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
7676
7952
  rule_name: typing.Optional[builtins.str] = None,
7677
7953
  schedule_expression: typing.Optional[_Schedule_c151d01f] = None,
7954
+ schedule_expression_timezone: typing.Optional[_TimeZone_cdd72ac9] = None,
7678
7955
  start_window: typing.Optional[_Duration_4839e8c3] = None,
7679
7956
  ) -> None:
7680
7957
  """Type checking stubs"""
@@ -7707,7 +7984,7 @@ def _typecheckingstub__75ec54ba33468f397b4b954ffff5bb4a26a29e306b38c37a8a831233c
7707
7984
  pass
7708
7985
 
7709
7986
  def _typecheckingstub__bfac18ef33642ed976be7473c0fe4b5174e370a770ceabc690e397bcecfce6a3(
7710
- instance: _IInstance_ab239e7c,
7987
+ instance: _IInstanceRef_b97803cb,
7711
7988
  ) -> None:
7712
7989
  """Type checking stubs"""
7713
7990
  pass
@@ -7786,7 +8063,7 @@ def _typecheckingstub__6a7555f4b25ca4760e3a057b8e3a9b5e07feed1f99319d6e434cc8fed
7786
8063
  access_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
7787
8064
  backup_vault_name: typing.Optional[builtins.str] = None,
7788
8065
  block_recovery_point_deletion: typing.Optional[builtins.bool] = None,
7789
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
8066
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
7790
8067
  lock_configuration: typing.Optional[typing.Union[LockConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
7791
8068
  notification_events: typing.Optional[typing.Sequence[BackupVaultEvents]] = None,
7792
8069
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
@@ -7805,6 +8082,22 @@ def _typecheckingstub__8250888ac08b345ef300cc4ce53cc267858e31401cdc7b6a427c98f5b
7805
8082
  """Type checking stubs"""
7806
8083
  pass
7807
8084
 
8085
+ def _typecheckingstub__19a621581dc951af9f595672bab4c44806829db988a9a543e73c82aa211347cc(
8086
+ scope: _constructs_77d1e7e8.Construct,
8087
+ id: builtins.str,
8088
+ arn: builtins.str,
8089
+ ) -> None:
8090
+ """Type checking stubs"""
8091
+ pass
8092
+
8093
+ def _typecheckingstub__c10f5f2e9e380d8e917a10f74122d09d2b555c99380ffa6da4e01197e1e097dd(
8094
+ scope: _constructs_77d1e7e8.Construct,
8095
+ id: builtins.str,
8096
+ backup_plan_id: builtins.str,
8097
+ ) -> None:
8098
+ """Type checking stubs"""
8099
+ pass
8100
+
7808
8101
  def _typecheckingstub__ff313ad9e84c3475e4286a17d3e066d3b8ff12dcdde29c7a2727bf7529fa7fbb(
7809
8102
  inspector: _TreeInspector_488e0dd5,
7810
8103
  ) -> None:
@@ -7990,6 +8283,22 @@ def _typecheckingstub__91f579bea882f82608d503a3e561568131d8e8e6d825c152c63d59622
7990
8283
  """Type checking stubs"""
7991
8284
  pass
7992
8285
 
8286
+ def _typecheckingstub__2986d116c33dbb1dc995c507e7df9b0cf2f344f357d0a1404d0c2ece4c1fc5b2(
8287
+ scope: _constructs_77d1e7e8.Construct,
8288
+ id: builtins.str,
8289
+ arn: builtins.str,
8290
+ ) -> None:
8291
+ """Type checking stubs"""
8292
+ pass
8293
+
8294
+ def _typecheckingstub__cc137647a726cfa7058e572fdb03e73df8b9f52e786f61edcd64eb6c3fc59645(
8295
+ scope: _constructs_77d1e7e8.Construct,
8296
+ id: builtins.str,
8297
+ backup_vault_name: builtins.str,
8298
+ ) -> None:
8299
+ """Type checking stubs"""
8300
+ pass
8301
+
7993
8302
  def _typecheckingstub__c5303f64257feccbaac430e6766ee8dd85d8293dcda5a0b514f9128fa193e156(
7994
8303
  inspector: _TreeInspector_488e0dd5,
7995
8304
  ) -> None:
@@ -8160,11 +8469,20 @@ def _typecheckingstub__f46c2d817c43abec9e204fc8a7211b43dd15b93e11a637e67a9711664
8160
8469
  min_retention_days: jsii.Number,
8161
8470
  access_policy: typing.Any = None,
8162
8471
  backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8472
+ mpa_approval_team_arn: typing.Optional[builtins.str] = None,
8163
8473
  notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8164
8474
  ) -> None:
8165
8475
  """Type checking stubs"""
8166
8476
  pass
8167
8477
 
8478
+ def _typecheckingstub__e2d7a451581b8c789f1a800340871c2a6bccebe8622af1e2f5b447a3a98d1dbb(
8479
+ scope: _constructs_77d1e7e8.Construct,
8480
+ id: builtins.str,
8481
+ backup_vault_name: builtins.str,
8482
+ ) -> None:
8483
+ """Type checking stubs"""
8484
+ pass
8485
+
8168
8486
  def _typecheckingstub__415ff13e64a57b94538bf66464736e9dc201021da09242c46763584700ef7f37(
8169
8487
  inspector: _TreeInspector_488e0dd5,
8170
8488
  ) -> None:
@@ -8207,6 +8525,12 @@ def _typecheckingstub__27388048f12fa4b0d6686a7b40795dea7b4219e2f388afdfc5733f704
8207
8525
  """Type checking stubs"""
8208
8526
  pass
8209
8527
 
8528
+ def _typecheckingstub__d69a75a0b7ce93d33d99d99ea46c6bed385bc4618297cfeb5204520844045d0e(
8529
+ value: typing.Optional[builtins.str],
8530
+ ) -> None:
8531
+ """Type checking stubs"""
8532
+ pass
8533
+
8210
8534
  def _typecheckingstub__f1dc991e6a5cd9bb0776543a7419ba117220c8fec8f29ec2587f9a6747b5dcab(
8211
8535
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty]],
8212
8536
  ) -> None:
@@ -8228,6 +8552,7 @@ def _typecheckingstub__5a3b99abcf3e8ad32b3307410738488461421bb759c6f2f630a99abc5
8228
8552
  min_retention_days: jsii.Number,
8229
8553
  access_policy: typing.Any = None,
8230
8554
  backup_vault_tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
8555
+ mpa_approval_team_arn: typing.Optional[builtins.str] = None,
8231
8556
  notifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogicallyAirGappedBackupVault.NotificationObjectTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8232
8557
  ) -> None:
8233
8558
  """Type checking stubs"""
@@ -8612,7 +8937,7 @@ def _typecheckingstub__5938cd051d17a4aa98a61f204449a9c4416544ba91e3c4e4821b784b4
8612
8937
  access_policy: typing.Optional[_PolicyDocument_3ac34393] = None,
8613
8938
  backup_vault_name: typing.Optional[builtins.str] = None,
8614
8939
  block_recovery_point_deletion: typing.Optional[builtins.bool] = None,
8615
- encryption_key: typing.Optional[_IKey_5f11635f] = None,
8940
+ encryption_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
8616
8941
  lock_configuration: typing.Optional[typing.Union[LockConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
8617
8942
  notification_events: typing.Optional[typing.Sequence[BackupVaultEvents]] = None,
8618
8943
  notification_topic: typing.Optional[_ITopic_9eca4852] = None,
@@ -8649,3 +8974,6 @@ def _typecheckingstub__d6f51b6b852524375032f5dd45b5c00d5d86423092d20d599599a38ce
8649
8974
  ) -> None:
8650
8975
  """Type checking stubs"""
8651
8976
  pass
8977
+
8978
+ for cls in [IBackupPlan, IBackupVault]:
8979
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])