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
@@ -29,6 +29,29 @@ By default, the master password will be generated and stored in AWS Secrets Mana
29
29
 
30
30
  Your cluster will be empty by default.
31
31
 
32
+ ## Serverless Clusters
33
+
34
+ DocumentDB supports serverless clusters that automatically scale capacity based on your application's needs.
35
+ To create a serverless cluster, specify the `serverlessV2ScalingConfiguration` instead of `instanceType`:
36
+
37
+ ```python
38
+ # vpc: ec2.Vpc
39
+
40
+ cluster = docdb.DatabaseCluster(self, "Database",
41
+ master_user=docdb.Login(
42
+ username="myuser"
43
+ ),
44
+ vpc=vpc,
45
+ serverless_v2_scaling_configuration=docdb.ServerlessV2ScalingConfiguration(
46
+ min_capacity=0.5,
47
+ max_capacity=2
48
+ ),
49
+ engine_version="5.0.0"
50
+ )
51
+ ```
52
+
53
+ **Note**: DocumentDB serverless requires engine version 5.0.0 or higher and is not compatible with all features. See the [AWS documentation](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-serverless-limitations.html) for limitations.
54
+
32
55
  ## Connecting
33
56
 
34
57
  To control who can access the cluster, use the `.connections` attribute. DocumentDB databases have a default port, so
@@ -303,6 +326,8 @@ cluster = docdb.DatabaseCluster(self, "Database",
303
326
  ```
304
327
 
305
328
  **Note**: `StorageType.IOPT1` is supported starting with engine version 5.0.0.
329
+
330
+ **Note**: For serverless clusters, storage type is managed automatically and cannot be specified.
306
331
  '''
307
332
  from pkgutil import extend_path
308
333
  __path__ = extend_path(__path__, __name__)
@@ -370,6 +395,18 @@ from ..aws_secretsmanager import (
370
395
  SecretAttachmentTargetProps as _SecretAttachmentTargetProps_9ec7949d,
371
396
  SecretRotation as _SecretRotation_38c354d9,
372
397
  )
398
+ from ..interfaces.aws_docdb import (
399
+ DBClusterParameterGroupReference as _DBClusterParameterGroupReference_c3ab43f9,
400
+ DBClusterReference as _DBClusterReference_9e146947,
401
+ DBInstanceReference as _DBInstanceReference_81dfbd4e,
402
+ DBSubnetGroupReference as _DBSubnetGroupReference_4e749f31,
403
+ EventSubscriptionReference as _EventSubscriptionReference_2048e5f0,
404
+ IDBClusterParameterGroupRef as _IDBClusterParameterGroupRef_ef5b94f0,
405
+ IDBClusterRef as _IDBClusterRef_53d579d4,
406
+ IDBInstanceRef as _IDBInstanceRef_41253090,
407
+ IDBSubnetGroupRef as _IDBSubnetGroupRef_606c3916,
408
+ IEventSubscriptionRef as _IEventSubscriptionRef_5849a8d4,
409
+ )
373
410
 
374
411
 
375
412
  @jsii.data_type(
@@ -536,7 +573,7 @@ class CaCertificate(
536
573
  return typing.cast(_CaCertificate_e77d2630, jsii.sget(cls, "RDS_CA_RSA4096_G1"))
537
574
 
538
575
 
539
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
576
+ @jsii.implements(_IInspectable_c2943556, _IDBClusterRef_53d579d4, _ITaggable_36806126)
540
577
  class CfnDBCluster(
541
578
  _CfnResource_9df397a6,
542
579
  metaclass=jsii.JSIIMeta,
@@ -566,11 +603,13 @@ class CfnDBCluster(
566
603
  deletion_protection=False,
567
604
  enable_cloudwatch_logs_exports=["enableCloudwatchLogsExports"],
568
605
  engine_version="engineVersion",
606
+ global_cluster_identifier="globalClusterIdentifier",
569
607
  kms_key_id="kmsKeyId",
570
608
  manage_master_user_password=False,
571
609
  master_username="masterUsername",
572
610
  master_user_password="masterUserPassword",
573
611
  master_user_secret_kms_key_id="masterUserSecretKmsKeyId",
612
+ network_type="networkType",
574
613
  port=123,
575
614
  preferred_backup_window="preferredBackupWindow",
576
615
  preferred_maintenance_window="preferredMaintenanceWindow",
@@ -608,11 +647,13 @@ class CfnDBCluster(
608
647
  deletion_protection: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
609
648
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
610
649
  engine_version: typing.Optional[builtins.str] = None,
650
+ global_cluster_identifier: typing.Optional[builtins.str] = None,
611
651
  kms_key_id: typing.Optional[builtins.str] = None,
612
652
  manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
613
653
  master_username: typing.Optional[builtins.str] = None,
614
654
  master_user_password: typing.Optional[builtins.str] = None,
615
655
  master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
656
+ network_type: typing.Optional[builtins.str] = None,
616
657
  port: typing.Optional[jsii.Number] = None,
617
658
  preferred_backup_window: typing.Optional[builtins.str] = None,
618
659
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
@@ -628,7 +669,8 @@ class CfnDBCluster(
628
669
  use_latest_restorable_time: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
629
670
  vpc_security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
630
671
  ) -> None:
631
- '''
672
+ '''Create a new ``AWS::DocDB::DBCluster``.
673
+
632
674
  :param scope: Scope in which this resource is defined.
633
675
  :param id: Construct identifier for this resource (unique in its scope).
634
676
  :param availability_zones: A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.
@@ -639,23 +681,25 @@ class CfnDBCluster(
639
681
  :param db_subnet_group_name: A subnet group to associate with this cluster. Constraints: Must match the name of an existing ``DBSubnetGroup`` . Must not be default. Example: ``mySubnetgroup``
640
682
  :param deletion_protection: Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and ``DeletionProtection`` is disabled.
641
683
  :param enable_cloudwatch_logs_exports: The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see `Auditing Amazon DocumentDB Events <https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html>`_ and `Profiling Amazon DocumentDB Operations <https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html>`_ .
642
- :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. Changing the ``EngineVersion`` will start an in-place engine version upgrade. Note that in-place engine version upgrade will cause downtime in the cluster. See `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ before starting an in-place engine version upgrade.
684
+ :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. If you intend to trigger an in-place upgrade, please refer to `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.
685
+ :param global_cluster_identifier: The cluster identifier of the new global cluster.
643
686
  :param kms_key_id: The AWS KMS key identifier for an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If an encryption key is not specified in ``KmsKeyId`` : - If the ``StorageEncrypted`` parameter is ``true`` , Amazon DocumentDB uses your default encryption key. AWS KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .
644
687
  :param manage_master_user_password: Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. Constraint: You can't manage the master user password with Amazon Web Services Secrets Manager if ``MasterUserPassword`` is specified.
645
688
  :param master_username: The name of the master user for the cluster. Constraints: - Must be from 1 to 63 letters or numbers. - The first character must be a letter. - Cannot be a reserved word for the chosen database engine.
646
689
  :param master_user_password: The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). Constraints: Must contain from 8 to 100 characters.
647
690
  :param master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If you don't specify ``MasterUserSecretKmsKeyId`` , then the ``aws/secretsmanager`` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the ``aws/secretsmanager`` KMS key to encrypt the secret, and you must use a customer managed KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
691
+ :param network_type: The network type of the cluster. The network type is determined by the ``DBSubnetGroup`` specified for the cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( ``DUAL`` ). For more information, see `DocumentDB clusters in a VPC <https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html>`_ in the Amazon DocumentDB Developer Guide. Valid Values: ``IPV4`` | ``DUAL``
648
692
  :param port: Specifies the port that the database engine is listening on.
649
693
  :param preferred_backup_window: The daily time range during which automated backups are created if automated backups are enabled using the ``BackupRetentionPeriod`` parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region . Constraints: - Must be in the format ``hh24:mi-hh24:mi`` . - Must be in Universal Coordinated Time (UTC). - Must not conflict with the preferred maintenance window. - Must be at least 30 minutes.
650
694
  :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ``ddd:hh24:mi-ddd:hh24:mi`` The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
651
695
  :param restore_to_time: The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: - Must be before the latest restorable time for the instance. - Must be specified if the ``UseLatestRestorableTime`` parameter is not provided. - Cannot be specified if the ``UseLatestRestorableTime`` parameter is ``true`` . - Cannot be specified if the ``RestoreType`` parameter is ``copy-on-write`` . Example: ``2015-03-07T23:45:00Z``
652
696
  :param restore_type: The type of restore to be performed. You can specify one of the following values:. - ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster. - ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster. Constraints: You can't specify ``copy-on-write`` if the engine version of the source DB cluster is earlier than 1.11. If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.
653
697
  :param rotate_master_user_password: Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password. Constraint: You must apply the change immediately when rotating the master user password.
654
- :param serverless_v2_scaling_configuration:
698
+ :param serverless_v2_scaling_configuration: Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.
655
699
  :param snapshot_identifier: The identifier for the snapshot or cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. Constraints: - Must match the identifier of an existing snapshot.
656
700
  :param source_db_cluster_identifier: The identifier of the source cluster from which to restore. Constraints: - Must match the identifier of an existing ``DBCluster`` .
657
701
  :param storage_encrypted: Specifies whether the cluster is encrypted. If you specify ``SourceDBClusterIdentifier`` or ``SnapshotIdentifier`` and don’t specify ``StorageEncrypted`` , the encryption property is inherited from the source cluster or snapshot (unless ``KMSKeyId`` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and ``StorageEncrypted`` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the ``KMSKeyId`` property as well). If the source is unencrypted and ``StorageEncrypted`` is specified to be true, then the ``KMSKeyId`` property must be specified. If the source is encrypted, don’t specify ``StorageEncrypted`` to be false as opting out of encryption is not allowed.
658
- :param storage_type: The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* . Valid values for storage type - ``standard | iopt1`` Default value is ``standard`` .. epigraph:: When you create a DocumentDB DB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
702
+ :param storage_type: The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* . Valid values for storage type - ``standard | iopt1`` Default value is ``standard`` .. epigraph:: When you create an Amazon DocumentDB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
659
703
  :param tags: The tags to be assigned to the cluster.
660
704
  :param use_latest_restorable_time: A value that is set to ``true`` to restore the cluster to the latest restorable backup time, and ``false`` otherwise. Default: ``false`` Constraints: Cannot be specified if the ``RestoreToTime`` parameter is provided.
661
705
  :param vpc_security_group_ids: A list of EC2 VPC security groups to associate with this cluster.
@@ -674,11 +718,13 @@ class CfnDBCluster(
674
718
  deletion_protection=deletion_protection,
675
719
  enable_cloudwatch_logs_exports=enable_cloudwatch_logs_exports,
676
720
  engine_version=engine_version,
721
+ global_cluster_identifier=global_cluster_identifier,
677
722
  kms_key_id=kms_key_id,
678
723
  manage_master_user_password=manage_master_user_password,
679
724
  master_username=master_username,
680
725
  master_user_password=master_user_password,
681
726
  master_user_secret_kms_key_id=master_user_secret_kms_key_id,
727
+ network_type=network_type,
682
728
  port=port,
683
729
  preferred_backup_window=preferred_backup_window,
684
730
  preferred_maintenance_window=preferred_maintenance_window,
@@ -782,6 +828,12 @@ class CfnDBCluster(
782
828
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
783
829
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
784
830
 
831
+ @builtins.property
832
+ @jsii.member(jsii_name="dbClusterRef")
833
+ def db_cluster_ref(self) -> _DBClusterReference_9e146947:
834
+ '''A reference to a DBCluster resource.'''
835
+ return typing.cast(_DBClusterReference_9e146947, jsii.get(self, "dbClusterRef"))
836
+
785
837
  @builtins.property
786
838
  @jsii.member(jsii_name="tags")
787
839
  def tags(self) -> _TagManager_0a598cb3:
@@ -932,6 +984,19 @@ class CfnDBCluster(
932
984
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
933
985
  jsii.set(self, "engineVersion", value) # pyright: ignore[reportArgumentType]
934
986
 
987
+ @builtins.property
988
+ @jsii.member(jsii_name="globalClusterIdentifier")
989
+ def global_cluster_identifier(self) -> typing.Optional[builtins.str]:
990
+ '''The cluster identifier of the new global cluster.'''
991
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "globalClusterIdentifier"))
992
+
993
+ @global_cluster_identifier.setter
994
+ def global_cluster_identifier(self, value: typing.Optional[builtins.str]) -> None:
995
+ if __debug__:
996
+ type_hints = typing.get_type_hints(_typecheckingstub__1df18874740f7d79670e3866720fac8967c1b52aced5a089132ee06a94fd72d2)
997
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
998
+ jsii.set(self, "globalClusterIdentifier", value) # pyright: ignore[reportArgumentType]
999
+
935
1000
  @builtins.property
936
1001
  @jsii.member(jsii_name="kmsKeyId")
937
1002
  def kms_key_id(self) -> typing.Optional[builtins.str]:
@@ -1005,6 +1070,19 @@ class CfnDBCluster(
1005
1070
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1006
1071
  jsii.set(self, "masterUserSecretKmsKeyId", value) # pyright: ignore[reportArgumentType]
1007
1072
 
1073
+ @builtins.property
1074
+ @jsii.member(jsii_name="networkType")
1075
+ def network_type(self) -> typing.Optional[builtins.str]:
1076
+ '''The network type of the cluster.'''
1077
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "networkType"))
1078
+
1079
+ @network_type.setter
1080
+ def network_type(self, value: typing.Optional[builtins.str]) -> None:
1081
+ if __debug__:
1082
+ type_hints = typing.get_type_hints(_typecheckingstub__79c741f6d8f922d19130884d7c02ab03431fc05781cc91b8ec5ac23e2ecd06e2)
1083
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1084
+ jsii.set(self, "networkType", value) # pyright: ignore[reportArgumentType]
1085
+
1008
1086
  @builtins.property
1009
1087
  @jsii.member(jsii_name="port")
1010
1088
  def port(self) -> typing.Optional[jsii.Number]:
@@ -1099,6 +1177,7 @@ class CfnDBCluster(
1099
1177
  def serverless_v2_scaling_configuration(
1100
1178
  self,
1101
1179
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDBCluster.ServerlessV2ScalingConfigurationProperty"]]:
1180
+ '''Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.'''
1102
1181
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDBCluster.ServerlessV2ScalingConfigurationProperty"]], jsii.get(self, "serverlessV2ScalingConfiguration"))
1103
1182
 
1104
1183
  @serverless_v2_scaling_configuration.setter
@@ -1230,9 +1309,10 @@ class CfnDBCluster(
1230
1309
  max_capacity: jsii.Number,
1231
1310
  min_capacity: jsii.Number,
1232
1311
  ) -> None:
1233
- '''
1234
- :param max_capacity:
1235
- :param min_capacity:
1312
+ '''Sets the scaling configuration of an Amazon DocumentDB Serverless cluster.
1313
+
1314
+ :param max_capacity: The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.
1315
+ :param min_capacity: The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster. You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.
1236
1316
 
1237
1317
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html
1238
1318
  :exampleMetadata: fixture=_generated
@@ -1259,7 +1339,10 @@ class CfnDBCluster(
1259
1339
 
1260
1340
  @builtins.property
1261
1341
  def max_capacity(self) -> jsii.Number:
1262
- '''
1342
+ '''The maximum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster.
1343
+
1344
+ You can specify DCU values in half-step increments, such as 32, 32.5, 33, and so on.
1345
+
1263
1346
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration-maxcapacity
1264
1347
  '''
1265
1348
  result = self._values.get("max_capacity")
@@ -1268,7 +1351,10 @@ class CfnDBCluster(
1268
1351
 
1269
1352
  @builtins.property
1270
1353
  def min_capacity(self) -> jsii.Number:
1271
- '''
1354
+ '''The minimum number of Amazon DocumentDB capacity units (DCUs) for an instance in an Amazon DocumentDB Serverless cluster.
1355
+
1356
+ You can specify DCU values in half-step increments, such as 8, 8.5, 9, and so on.
1357
+
1272
1358
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-docdb-dbcluster-serverlessv2scalingconfiguration.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration-mincapacity
1273
1359
  '''
1274
1360
  result = self._values.get("min_capacity")
@@ -1287,7 +1373,7 @@ class CfnDBCluster(
1287
1373
  )
1288
1374
 
1289
1375
 
1290
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1376
+ @jsii.implements(_IInspectable_c2943556, _IDBClusterParameterGroupRef_ef5b94f0, _ITaggable_36806126)
1291
1377
  class CfnDBClusterParameterGroup(
1292
1378
  _CfnResource_9df397a6,
1293
1379
  metaclass=jsii.JSIIMeta,
@@ -1341,7 +1427,8 @@ class CfnDBClusterParameterGroup(
1341
1427
  name: typing.Optional[builtins.str] = None,
1342
1428
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1343
1429
  ) -> None:
1344
- '''
1430
+ '''Create a new ``AWS::DocDB::DBClusterParameterGroup``.
1431
+
1345
1432
  :param scope: Scope in which this resource is defined.
1346
1433
  :param id: Construct identifier for this resource (unique in its scope).
1347
1434
  :param description: The description for the cluster parameter group.
@@ -1407,6 +1494,14 @@ class CfnDBClusterParameterGroup(
1407
1494
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1408
1495
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1409
1496
 
1497
+ @builtins.property
1498
+ @jsii.member(jsii_name="dbClusterParameterGroupRef")
1499
+ def db_cluster_parameter_group_ref(
1500
+ self,
1501
+ ) -> _DBClusterParameterGroupReference_c3ab43f9:
1502
+ '''A reference to a DBClusterParameterGroup resource.'''
1503
+ return typing.cast(_DBClusterParameterGroupReference_c3ab43f9, jsii.get(self, "dbClusterParameterGroupRef"))
1504
+
1410
1505
  @builtins.property
1411
1506
  @jsii.member(jsii_name="tags")
1412
1507
  def tags(self) -> _TagManager_0a598cb3:
@@ -1630,11 +1725,13 @@ class CfnDBClusterParameterGroupProps:
1630
1725
  "deletion_protection": "deletionProtection",
1631
1726
  "enable_cloudwatch_logs_exports": "enableCloudwatchLogsExports",
1632
1727
  "engine_version": "engineVersion",
1728
+ "global_cluster_identifier": "globalClusterIdentifier",
1633
1729
  "kms_key_id": "kmsKeyId",
1634
1730
  "manage_master_user_password": "manageMasterUserPassword",
1635
1731
  "master_username": "masterUsername",
1636
1732
  "master_user_password": "masterUserPassword",
1637
1733
  "master_user_secret_kms_key_id": "masterUserSecretKmsKeyId",
1734
+ "network_type": "networkType",
1638
1735
  "port": "port",
1639
1736
  "preferred_backup_window": "preferredBackupWindow",
1640
1737
  "preferred_maintenance_window": "preferredMaintenanceWindow",
@@ -1664,11 +1761,13 @@ class CfnDBClusterProps:
1664
1761
  deletion_protection: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1665
1762
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
1666
1763
  engine_version: typing.Optional[builtins.str] = None,
1764
+ global_cluster_identifier: typing.Optional[builtins.str] = None,
1667
1765
  kms_key_id: typing.Optional[builtins.str] = None,
1668
1766
  manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1669
1767
  master_username: typing.Optional[builtins.str] = None,
1670
1768
  master_user_password: typing.Optional[builtins.str] = None,
1671
1769
  master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
1770
+ network_type: typing.Optional[builtins.str] = None,
1672
1771
  port: typing.Optional[jsii.Number] = None,
1673
1772
  preferred_backup_window: typing.Optional[builtins.str] = None,
1674
1773
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
@@ -1694,23 +1793,25 @@ class CfnDBClusterProps:
1694
1793
  :param db_subnet_group_name: A subnet group to associate with this cluster. Constraints: Must match the name of an existing ``DBSubnetGroup`` . Must not be default. Example: ``mySubnetgroup``
1695
1794
  :param deletion_protection: Protects clusters from being accidentally deleted. If enabled, the cluster cannot be deleted unless it is modified and ``DeletionProtection`` is disabled.
1696
1795
  :param enable_cloudwatch_logs_exports: The list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. You can enable audit logs or profiler logs. For more information, see `Auditing Amazon DocumentDB Events <https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html>`_ and `Profiling Amazon DocumentDB Operations <https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html>`_ .
1697
- :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. Changing the ``EngineVersion`` will start an in-place engine version upgrade. Note that in-place engine version upgrade will cause downtime in the cluster. See `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ before starting an in-place engine version upgrade.
1796
+ :param engine_version: The version number of the database engine to use. The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version. If you intend to trigger an in-place upgrade, please refer to `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.
1797
+ :param global_cluster_identifier: The cluster identifier of the new global cluster.
1698
1798
  :param kms_key_id: The AWS KMS key identifier for an encrypted cluster. The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key. If an encryption key is not specified in ``KmsKeyId`` : - If the ``StorageEncrypted`` parameter is ``true`` , Amazon DocumentDB uses your default encryption key. AWS KMS creates the default encryption key for your AWS account . Your AWS account has a different default encryption key for each AWS Regions .
1699
1799
  :param manage_master_user_password: Specifies whether to manage the master user password with Amazon Web Services Secrets Manager. Constraint: You can't manage the master user password with Amazon Web Services Secrets Manager if ``MasterUserPassword`` is specified.
1700
1800
  :param master_username: The name of the master user for the cluster. Constraints: - Must be from 1 to 63 letters or numbers. - The first character must be a letter. - Cannot be a reserved word for the chosen database engine.
1701
1801
  :param master_user_password: The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). Constraints: Must contain from 8 to 100 characters.
1702
1802
  :param master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If you don't specify ``MasterUserSecretKmsKeyId`` , then the ``aws/secretsmanager`` KMS key is used to encrypt the secret. If the secret is in a different Amazon Web Services account, then you can't use the ``aws/secretsmanager`` KMS key to encrypt the secret, and you must use a customer managed KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.
1803
+ :param network_type: The network type of the cluster. The network type is determined by the ``DBSubnetGroup`` specified for the cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( ``DUAL`` ). For more information, see `DocumentDB clusters in a VPC <https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html>`_ in the Amazon DocumentDB Developer Guide. Valid Values: ``IPV4`` | ``DUAL``
1703
1804
  :param port: Specifies the port that the database engine is listening on.
1704
1805
  :param preferred_backup_window: The daily time range during which automated backups are created if automated backups are enabled using the ``BackupRetentionPeriod`` parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region . Constraints: - Must be in the format ``hh24:mi-hh24:mi`` . - Must be in Universal Coordinated Time (UTC). - Must not conflict with the preferred maintenance window. - Must be at least 30 minutes.
1705
1806
  :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Format: ``ddd:hh24:mi-ddd:hh24:mi`` The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region , occurring on a random day of the week. Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun Constraints: Minimum 30-minute window.
1706
1807
  :param restore_to_time: The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: - Must be before the latest restorable time for the instance. - Must be specified if the ``UseLatestRestorableTime`` parameter is not provided. - Cannot be specified if the ``UseLatestRestorableTime`` parameter is ``true`` . - Cannot be specified if the ``RestoreType`` parameter is ``copy-on-write`` . Example: ``2015-03-07T23:45:00Z``
1707
1808
  :param restore_type: The type of restore to be performed. You can specify one of the following values:. - ``full-copy`` - The new DB cluster is restored as a full copy of the source DB cluster. - ``copy-on-write`` - The new DB cluster is restored as a clone of the source DB cluster. Constraints: You can't specify ``copy-on-write`` if the engine version of the source DB cluster is earlier than 1.11. If you don't specify a ``RestoreType`` value, then the new DB cluster is restored as a full copy of the source DB cluster.
1708
1809
  :param rotate_master_user_password: Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password. This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. The secret value contains the updated password. Constraint: You must apply the change immediately when rotating the master user password.
1709
- :param serverless_v2_scaling_configuration:
1810
+ :param serverless_v2_scaling_configuration: Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.
1710
1811
  :param snapshot_identifier: The identifier for the snapshot or cluster snapshot to restore from. You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot. Constraints: - Must match the identifier of an existing snapshot.
1711
1812
  :param source_db_cluster_identifier: The identifier of the source cluster from which to restore. Constraints: - Must match the identifier of an existing ``DBCluster`` .
1712
1813
  :param storage_encrypted: Specifies whether the cluster is encrypted. If you specify ``SourceDBClusterIdentifier`` or ``SnapshotIdentifier`` and don’t specify ``StorageEncrypted`` , the encryption property is inherited from the source cluster or snapshot (unless ``KMSKeyId`` is specified, in which case the restored cluster will be encrypted with that KMS key). If the source is encrypted and ``StorageEncrypted`` is specified to be true, the restored cluster will be encrypted (if you want to use a different KMS key, specify the ``KMSKeyId`` property as well). If the source is unencrypted and ``StorageEncrypted`` is specified to be true, then the ``KMSKeyId`` property must be specified. If the source is encrypted, don’t specify ``StorageEncrypted`` to be false as opting out of encryption is not allowed.
1713
- :param storage_type: The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* . Valid values for storage type - ``standard | iopt1`` Default value is ``standard`` .. epigraph:: When you create a DocumentDB DB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
1814
+ :param storage_type: The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the *Amazon DocumentDB Developer Guide* . Valid values for storage type - ``standard | iopt1`` Default value is ``standard`` .. epigraph:: When you create an Amazon DocumentDB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
1714
1815
  :param tags: The tags to be assigned to the cluster.
1715
1816
  :param use_latest_restorable_time: A value that is set to ``true`` to restore the cluster to the latest restorable backup time, and ``false`` otherwise. Default: ``false`` Constraints: Cannot be specified if the ``RestoreToTime`` parameter is provided.
1716
1817
  :param vpc_security_group_ids: A list of EC2 VPC security groups to associate with this cluster.
@@ -1734,11 +1835,13 @@ class CfnDBClusterProps:
1734
1835
  deletion_protection=False,
1735
1836
  enable_cloudwatch_logs_exports=["enableCloudwatchLogsExports"],
1736
1837
  engine_version="engineVersion",
1838
+ global_cluster_identifier="globalClusterIdentifier",
1737
1839
  kms_key_id="kmsKeyId",
1738
1840
  manage_master_user_password=False,
1739
1841
  master_username="masterUsername",
1740
1842
  master_user_password="masterUserPassword",
1741
1843
  master_user_secret_kms_key_id="masterUserSecretKmsKeyId",
1844
+ network_type="networkType",
1742
1845
  port=123,
1743
1846
  preferred_backup_window="preferredBackupWindow",
1744
1847
  preferred_maintenance_window="preferredMaintenanceWindow",
@@ -1772,11 +1875,13 @@ class CfnDBClusterProps:
1772
1875
  check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
1773
1876
  check_type(argname="argument enable_cloudwatch_logs_exports", value=enable_cloudwatch_logs_exports, expected_type=type_hints["enable_cloudwatch_logs_exports"])
1774
1877
  check_type(argname="argument engine_version", value=engine_version, expected_type=type_hints["engine_version"])
1878
+ check_type(argname="argument global_cluster_identifier", value=global_cluster_identifier, expected_type=type_hints["global_cluster_identifier"])
1775
1879
  check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1776
1880
  check_type(argname="argument manage_master_user_password", value=manage_master_user_password, expected_type=type_hints["manage_master_user_password"])
1777
1881
  check_type(argname="argument master_username", value=master_username, expected_type=type_hints["master_username"])
1778
1882
  check_type(argname="argument master_user_password", value=master_user_password, expected_type=type_hints["master_user_password"])
1779
1883
  check_type(argname="argument master_user_secret_kms_key_id", value=master_user_secret_kms_key_id, expected_type=type_hints["master_user_secret_kms_key_id"])
1884
+ check_type(argname="argument network_type", value=network_type, expected_type=type_hints["network_type"])
1780
1885
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
1781
1886
  check_type(argname="argument preferred_backup_window", value=preferred_backup_window, expected_type=type_hints["preferred_backup_window"])
1782
1887
  check_type(argname="argument preferred_maintenance_window", value=preferred_maintenance_window, expected_type=type_hints["preferred_maintenance_window"])
@@ -1810,6 +1915,8 @@ class CfnDBClusterProps:
1810
1915
  self._values["enable_cloudwatch_logs_exports"] = enable_cloudwatch_logs_exports
1811
1916
  if engine_version is not None:
1812
1917
  self._values["engine_version"] = engine_version
1918
+ if global_cluster_identifier is not None:
1919
+ self._values["global_cluster_identifier"] = global_cluster_identifier
1813
1920
  if kms_key_id is not None:
1814
1921
  self._values["kms_key_id"] = kms_key_id
1815
1922
  if manage_master_user_password is not None:
@@ -1820,6 +1927,8 @@ class CfnDBClusterProps:
1820
1927
  self._values["master_user_password"] = master_user_password
1821
1928
  if master_user_secret_kms_key_id is not None:
1822
1929
  self._values["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id
1930
+ if network_type is not None:
1931
+ self._values["network_type"] = network_type
1823
1932
  if port is not None:
1824
1933
  self._values["port"] = port
1825
1934
  if preferred_backup_window is not None:
@@ -1957,13 +2066,22 @@ class CfnDBClusterProps:
1957
2066
 
1958
2067
  The ``--engine-version`` will default to the latest major engine version. For production workloads, we recommend explicitly declaring this parameter with the intended major engine version.
1959
2068
 
1960
- Changing the ``EngineVersion`` will start an in-place engine version upgrade. Note that in-place engine version upgrade will cause downtime in the cluster. See `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ before starting an in-place engine version upgrade.
2069
+ If you intend to trigger an in-place upgrade, please refer to `Amazon DocumentDB in-place major version upgrade <https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-mvu.html>`_ . Note that for an in-place engine version upgrade, you need to remove other cluster properties changes (e.g. SecurityGroupId) from the CFN template.
1961
2070
 
1962
2071
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion
1963
2072
  '''
1964
2073
  result = self._values.get("engine_version")
1965
2074
  return typing.cast(typing.Optional[builtins.str], result)
1966
2075
 
2076
+ @builtins.property
2077
+ def global_cluster_identifier(self) -> typing.Optional[builtins.str]:
2078
+ '''The cluster identifier of the new global cluster.
2079
+
2080
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-globalclusteridentifier
2081
+ '''
2082
+ result = self._values.get("global_cluster_identifier")
2083
+ return typing.cast(typing.Optional[builtins.str], result)
2084
+
1967
2085
  @builtins.property
1968
2086
  def kms_key_id(self) -> typing.Optional[builtins.str]:
1969
2087
  '''The AWS KMS key identifier for an encrypted cluster.
@@ -2039,6 +2157,21 @@ class CfnDBClusterProps:
2039
2157
  result = self._values.get("master_user_secret_kms_key_id")
2040
2158
  return typing.cast(typing.Optional[builtins.str], result)
2041
2159
 
2160
+ @builtins.property
2161
+ def network_type(self) -> typing.Optional[builtins.str]:
2162
+ '''The network type of the cluster.
2163
+
2164
+ The network type is determined by the ``DBSubnetGroup`` specified for the cluster. A ``DBSubnetGroup`` can support only the IPv4 protocol or the IPv4 and the IPv6 protocols ( ``DUAL`` ).
2165
+
2166
+ For more information, see `DocumentDB clusters in a VPC <https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html>`_ in the Amazon DocumentDB Developer Guide.
2167
+
2168
+ Valid Values: ``IPV4`` | ``DUAL``
2169
+
2170
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-networktype
2171
+ '''
2172
+ result = self._values.get("network_type")
2173
+ return typing.cast(typing.Optional[builtins.str], result)
2174
+
2042
2175
  @builtins.property
2043
2176
  def port(self) -> typing.Optional[jsii.Number]:
2044
2177
  '''Specifies the port that the database engine is listening on.
@@ -2138,7 +2271,8 @@ class CfnDBClusterProps:
2138
2271
  def serverless_v2_scaling_configuration(
2139
2272
  self,
2140
2273
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDBCluster.ServerlessV2ScalingConfigurationProperty]]:
2141
- '''
2274
+ '''Contains the scaling configuration of an Amazon DocumentDB Serverless cluster.
2275
+
2142
2276
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-serverlessv2scalingconfiguration
2143
2277
  '''
2144
2278
  result = self._values.get("serverless_v2_scaling_configuration")
@@ -2196,7 +2330,7 @@ class CfnDBClusterProps:
2196
2330
  Default value is ``standard``
2197
2331
  .. epigraph::
2198
2332
 
2199
- When you create a DocumentDB DB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
2333
+ When you create an Amazon DocumentDB cluster with the storage type set to ``iopt1`` , the storage type is returned in the response. The storage type isn't returned when you set it to ``standard`` .
2200
2334
 
2201
2335
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storagetype
2202
2336
  '''
@@ -2248,7 +2382,7 @@ class CfnDBClusterProps:
2248
2382
  )
2249
2383
 
2250
2384
 
2251
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2385
+ @jsii.implements(_IInspectable_c2943556, _IDBInstanceRef_41253090, _ITaggable_36806126)
2252
2386
  class CfnDBInstance(
2253
2387
  _CfnResource_9df397a6,
2254
2388
  metaclass=jsii.JSIIMeta,
@@ -2303,7 +2437,8 @@ class CfnDBInstance(
2303
2437
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
2304
2438
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2305
2439
  ) -> None:
2306
- '''
2440
+ '''Create a new ``AWS::DocDB::DBInstance``.
2441
+
2307
2442
  :param scope: Scope in which this resource is defined.
2308
2443
  :param id: Construct identifier for this resource (unique in its scope).
2309
2444
  :param db_cluster_identifier: The identifier of the cluster that the instance will belong to.
@@ -2399,6 +2534,12 @@ class CfnDBInstance(
2399
2534
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2400
2535
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2401
2536
 
2537
+ @builtins.property
2538
+ @jsii.member(jsii_name="dbInstanceRef")
2539
+ def db_instance_ref(self) -> _DBInstanceReference_81dfbd4e:
2540
+ '''A reference to a DBInstance resource.'''
2541
+ return typing.cast(_DBInstanceReference_81dfbd4e, jsii.get(self, "dbInstanceRef"))
2542
+
2402
2543
  @builtins.property
2403
2544
  @jsii.member(jsii_name="tags")
2404
2545
  def tags(self) -> _TagManager_0a598cb3:
@@ -2808,7 +2949,7 @@ class CfnDBInstanceProps:
2808
2949
  )
2809
2950
 
2810
2951
 
2811
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2952
+ @jsii.implements(_IInspectable_c2943556, _IDBSubnetGroupRef_606c3916, _ITaggable_36806126)
2812
2953
  class CfnDBSubnetGroup(
2813
2954
  _CfnResource_9df397a6,
2814
2955
  metaclass=jsii.JSIIMeta,
@@ -2851,7 +2992,8 @@ class CfnDBSubnetGroup(
2851
2992
  db_subnet_group_name: typing.Optional[builtins.str] = None,
2852
2993
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2853
2994
  ) -> None:
2854
- '''
2995
+ '''Create a new ``AWS::DocDB::DBSubnetGroup``.
2996
+
2855
2997
  :param scope: Scope in which this resource is defined.
2856
2998
  :param id: Construct identifier for this resource (unique in its scope).
2857
2999
  :param db_subnet_group_description: The description for the subnet group.
@@ -2915,6 +3057,12 @@ class CfnDBSubnetGroup(
2915
3057
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2916
3058
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2917
3059
 
3060
+ @builtins.property
3061
+ @jsii.member(jsii_name="dbSubnetGroupRef")
3062
+ def db_subnet_group_ref(self) -> _DBSubnetGroupReference_4e749f31:
3063
+ '''A reference to a DBSubnetGroup resource.'''
3064
+ return typing.cast(_DBSubnetGroupReference_4e749f31, jsii.get(self, "dbSubnetGroupRef"))
3065
+
2918
3066
  @builtins.property
2919
3067
  @jsii.member(jsii_name="tags")
2920
3068
  def tags(self) -> _TagManager_0a598cb3:
@@ -3093,7 +3241,7 @@ class CfnDBSubnetGroupProps:
3093
3241
  )
3094
3242
 
3095
3243
 
3096
- @jsii.implements(_IInspectable_c2943556)
3244
+ @jsii.implements(_IInspectable_c2943556, _IEventSubscriptionRef_5849a8d4)
3097
3245
  class CfnEventSubscription(
3098
3246
  _CfnResource_9df397a6,
3099
3247
  metaclass=jsii.JSIIMeta,
@@ -3141,7 +3289,8 @@ class CfnEventSubscription(
3141
3289
  source_type: typing.Optional[builtins.str] = None,
3142
3290
  subscription_name: typing.Optional[builtins.str] = None,
3143
3291
  ) -> None:
3144
- '''
3292
+ '''Create a new ``AWS::DocDB::EventSubscription``.
3293
+
3145
3294
  :param scope: Scope in which this resource is defined.
3146
3295
  :param id: Construct identifier for this resource (unique in its scope).
3147
3296
  :param sns_topic_arn: The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.
@@ -3209,6 +3358,12 @@ class CfnEventSubscription(
3209
3358
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3210
3359
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3211
3360
 
3361
+ @builtins.property
3362
+ @jsii.member(jsii_name="eventSubscriptionRef")
3363
+ def event_subscription_ref(self) -> _EventSubscriptionReference_2048e5f0:
3364
+ '''A reference to a EventSubscription resource.'''
3365
+ return typing.cast(_EventSubscriptionReference_2048e5f0, jsii.get(self, "eventSubscriptionRef"))
3366
+
3212
3367
  @builtins.property
3213
3368
  @jsii.member(jsii_name="snsTopicArn")
3214
3369
  def sns_topic_arn(self) -> builtins.str:
@@ -3723,7 +3878,6 @@ class DatabaseClusterAttributes:
3723
3878
  jsii_type="aws-cdk-lib.aws_docdb.DatabaseClusterProps",
3724
3879
  jsii_struct_bases=[],
3725
3880
  name_mapping={
3726
- "instance_type": "instanceType",
3727
3881
  "master_user": "masterUser",
3728
3882
  "vpc": "vpc",
3729
3883
  "backup": "backup",
@@ -3740,6 +3894,7 @@ class DatabaseClusterAttributes:
3740
3894
  "instance_identifier_base": "instanceIdentifierBase",
3741
3895
  "instance_removal_policy": "instanceRemovalPolicy",
3742
3896
  "instances": "instances",
3897
+ "instance_type": "instanceType",
3743
3898
  "kms_key": "kmsKey",
3744
3899
  "parameter_group": "parameterGroup",
3745
3900
  "port": "port",
@@ -3747,6 +3902,7 @@ class DatabaseClusterAttributes:
3747
3902
  "removal_policy": "removalPolicy",
3748
3903
  "security_group": "securityGroup",
3749
3904
  "security_group_removal_policy": "securityGroupRemovalPolicy",
3905
+ "serverless_v2_scaling_configuration": "serverlessV2ScalingConfiguration",
3750
3906
  "storage_encrypted": "storageEncrypted",
3751
3907
  "storage_type": "storageType",
3752
3908
  "vpc_subnets": "vpcSubnets",
@@ -3756,7 +3912,6 @@ class DatabaseClusterProps:
3756
3912
  def __init__(
3757
3913
  self,
3758
3914
  *,
3759
- instance_type: _InstanceType_f64915b9,
3760
3915
  master_user: typing.Union["Login", typing.Dict[builtins.str, typing.Any]],
3761
3916
  vpc: _IVpc_f30d5663,
3762
3917
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3773,6 +3928,7 @@ class DatabaseClusterProps:
3773
3928
  instance_identifier_base: typing.Optional[builtins.str] = None,
3774
3929
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3775
3930
  instances: typing.Optional[jsii.Number] = None,
3931
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
3776
3932
  kms_key: typing.Optional[_IKey_5f11635f] = None,
3777
3933
  parameter_group: typing.Optional["IClusterParameterGroup"] = None,
3778
3934
  port: typing.Optional[jsii.Number] = None,
@@ -3780,13 +3936,13 @@ class DatabaseClusterProps:
3780
3936
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3781
3937
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
3782
3938
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3939
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union["ServerlessV2ScalingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
3783
3940
  storage_encrypted: typing.Optional[builtins.bool] = None,
3784
3941
  storage_type: typing.Optional["StorageType"] = None,
3785
3942
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
3786
3943
  ) -> None:
3787
3944
  '''Properties for a new database cluster.
3788
3945
 
3789
- :param instance_type: What type of instance to start for the replicas.
3790
3946
  :param master_user: Username and password for the administrative user.
3791
3947
  :param vpc: What subnets to run the DocumentDB instances in. Must be at least 2 subnets in two different AZs.
3792
3948
  :param backup: Backup settings. Default: - Backup retention period for automated backups is 1 day. Backup preferred window is set to a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
@@ -3800,9 +3956,10 @@ class DatabaseClusterProps:
3800
3956
  :param engine_version: What version of the database to start. Default: - the latest major version
3801
3957
  :param export_audit_logs_to_cloud_watch: Whether the audit logs should be exported to CloudWatch. Note that you also have to configure the audit log export in the Cluster's Parameter Group. Default: false
3802
3958
  :param export_profiler_logs_to_cloud_watch: Whether the profiler logs should be exported to CloudWatch. Note that you also have to configure the profiler log export in the Cluster's Parameter Group. Default: false
3803
- :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
3959
+ :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Only applicable for provisioned clusters. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
3804
3960
  :param instance_removal_policy: The removal policy to apply to the cluster's instances. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3805
3961
  :param instances: Number of DocDB compute instances. Default: 1
3962
+ :param instance_type: What type of instance to start for the replicas. Required for provisioned clusters, not applicable for serverless clusters. Default: None
3806
3963
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
3807
3964
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
3808
3965
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
@@ -3810,6 +3967,7 @@ class DatabaseClusterProps:
3810
3967
  :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. When set to ``SNAPSHOT``, the removal policy for the instances and the security group will default to ``DESTROY`` as those resources do not support the policy. Use the ``instanceRemovalPolicy`` and ``securityGroupRemovalPolicy`` to change the behavior. Default: - Retain cluster.
3811
3968
  :param security_group: Security group. Default: a new security group is created.
3812
3969
  :param security_group_removal_policy: The removal policy to apply to the cluster's security group. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
3970
+ :param serverless_v2_scaling_configuration: ServerlessV2 scaling configuration. When specified, the cluster will be created as a serverless cluster. Default: None
3813
3971
  :param storage_encrypted: Whether to enable storage encryption. Default: true
3814
3972
  :param storage_type: The storage type of the DocDB cluster. I/O-optimized storage is supported starting with engine version 5.0.0. Default: StorageType.STANDARD
3815
3973
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
@@ -3820,7 +3978,6 @@ class DatabaseClusterProps:
3820
3978
 
3821
3979
  # vpc: ec2.Vpc
3822
3980
 
3823
-
3824
3981
  cluster = docdb.DatabaseCluster(self, "Database",
3825
3982
  master_user=docdb.Login(
3826
3983
  username="myuser"
@@ -3830,18 +3987,19 @@ class DatabaseClusterProps:
3830
3987
  subnet_type=ec2.SubnetType.PUBLIC
3831
3988
  ),
3832
3989
  vpc=vpc,
3833
- removal_policy=RemovalPolicy.SNAPSHOT
3990
+ deletion_protection=True
3834
3991
  )
3835
3992
  '''
3836
3993
  if isinstance(master_user, dict):
3837
3994
  master_user = Login(**master_user)
3838
3995
  if isinstance(backup, dict):
3839
3996
  backup = BackupProps(**backup)
3997
+ if isinstance(serverless_v2_scaling_configuration, dict):
3998
+ serverless_v2_scaling_configuration = ServerlessV2ScalingConfiguration(**serverless_v2_scaling_configuration)
3840
3999
  if isinstance(vpc_subnets, dict):
3841
4000
  vpc_subnets = _SubnetSelection_e57d76df(**vpc_subnets)
3842
4001
  if __debug__:
3843
4002
  type_hints = typing.get_type_hints(_typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc4e83218)
3844
- check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
3845
4003
  check_type(argname="argument master_user", value=master_user, expected_type=type_hints["master_user"])
3846
4004
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
3847
4005
  check_type(argname="argument backup", value=backup, expected_type=type_hints["backup"])
@@ -3858,6 +4016,7 @@ class DatabaseClusterProps:
3858
4016
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
3859
4017
  check_type(argname="argument instance_removal_policy", value=instance_removal_policy, expected_type=type_hints["instance_removal_policy"])
3860
4018
  check_type(argname="argument instances", value=instances, expected_type=type_hints["instances"])
4019
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
3861
4020
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
3862
4021
  check_type(argname="argument parameter_group", value=parameter_group, expected_type=type_hints["parameter_group"])
3863
4022
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
@@ -3865,11 +4024,11 @@ class DatabaseClusterProps:
3865
4024
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
3866
4025
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
3867
4026
  check_type(argname="argument security_group_removal_policy", value=security_group_removal_policy, expected_type=type_hints["security_group_removal_policy"])
4027
+ check_type(argname="argument serverless_v2_scaling_configuration", value=serverless_v2_scaling_configuration, expected_type=type_hints["serverless_v2_scaling_configuration"])
3868
4028
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
3869
4029
  check_type(argname="argument storage_type", value=storage_type, expected_type=type_hints["storage_type"])
3870
4030
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
3871
4031
  self._values: typing.Dict[builtins.str, typing.Any] = {
3872
- "instance_type": instance_type,
3873
4032
  "master_user": master_user,
3874
4033
  "vpc": vpc,
3875
4034
  }
@@ -3901,6 +4060,8 @@ class DatabaseClusterProps:
3901
4060
  self._values["instance_removal_policy"] = instance_removal_policy
3902
4061
  if instances is not None:
3903
4062
  self._values["instances"] = instances
4063
+ if instance_type is not None:
4064
+ self._values["instance_type"] = instance_type
3904
4065
  if kms_key is not None:
3905
4066
  self._values["kms_key"] = kms_key
3906
4067
  if parameter_group is not None:
@@ -3915,6 +4076,8 @@ class DatabaseClusterProps:
3915
4076
  self._values["security_group"] = security_group
3916
4077
  if security_group_removal_policy is not None:
3917
4078
  self._values["security_group_removal_policy"] = security_group_removal_policy
4079
+ if serverless_v2_scaling_configuration is not None:
4080
+ self._values["serverless_v2_scaling_configuration"] = serverless_v2_scaling_configuration
3918
4081
  if storage_encrypted is not None:
3919
4082
  self._values["storage_encrypted"] = storage_encrypted
3920
4083
  if storage_type is not None:
@@ -3922,13 +4085,6 @@ class DatabaseClusterProps:
3922
4085
  if vpc_subnets is not None:
3923
4086
  self._values["vpc_subnets"] = vpc_subnets
3924
4087
 
3925
- @builtins.property
3926
- def instance_type(self) -> _InstanceType_f64915b9:
3927
- '''What type of instance to start for the replicas.'''
3928
- result = self._values.get("instance_type")
3929
- assert result is not None, "Required property 'instance_type' is missing"
3930
- return typing.cast(_InstanceType_f64915b9, result)
3931
-
3932
4088
  @builtins.property
3933
4089
  def master_user(self) -> "Login":
3934
4090
  '''Username and password for the administrative user.'''
@@ -4077,6 +4233,7 @@ class DatabaseClusterProps:
4077
4233
  '''Base identifier for instances.
4078
4234
 
4079
4235
  Every replica is named by appending the replica number to this string, 1-based.
4236
+ Only applicable for provisioned clusters.
4080
4237
 
4081
4238
  :default:
4082
4239
 
@@ -4108,6 +4265,17 @@ class DatabaseClusterProps:
4108
4265
  result = self._values.get("instances")
4109
4266
  return typing.cast(typing.Optional[jsii.Number], result)
4110
4267
 
4268
+ @builtins.property
4269
+ def instance_type(self) -> typing.Optional[_InstanceType_f64915b9]:
4270
+ '''What type of instance to start for the replicas.
4271
+
4272
+ Required for provisioned clusters, not applicable for serverless clusters.
4273
+
4274
+ :default: None
4275
+ '''
4276
+ result = self._values.get("instance_type")
4277
+ return typing.cast(typing.Optional[_InstanceType_f64915b9], result)
4278
+
4111
4279
  @builtins.property
4112
4280
  def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
4113
4281
  '''The KMS key for storage encryption.
@@ -4193,6 +4361,19 @@ class DatabaseClusterProps:
4193
4361
  result = self._values.get("security_group_removal_policy")
4194
4362
  return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
4195
4363
 
4364
+ @builtins.property
4365
+ def serverless_v2_scaling_configuration(
4366
+ self,
4367
+ ) -> typing.Optional["ServerlessV2ScalingConfiguration"]:
4368
+ '''ServerlessV2 scaling configuration.
4369
+
4370
+ When specified, the cluster will be created as a serverless cluster.
4371
+
4372
+ :default: None
4373
+ '''
4374
+ result = self._values.get("serverless_v2_scaling_configuration")
4375
+ return typing.cast(typing.Optional["ServerlessV2ScalingConfiguration"], result)
4376
+
4196
4377
  @builtins.property
4197
4378
  def storage_encrypted(self) -> typing.Optional[builtins.bool]:
4198
4379
  '''Whether to enable storage encryption.
@@ -4578,6 +4759,12 @@ class DatabaseSecret(
4578
4759
 
4579
4760
  jsii.create(self.__class__, self, [scope, id, props])
4580
4761
 
4762
+ @jsii.python.classproperty
4763
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4764
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4765
+ '''Uniquely identifies this class.'''
4766
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4767
+
4581
4768
 
4582
4769
  @jsii.data_type(
4583
4770
  jsii_type="aws-cdk-lib.aws_docdb.DatabaseSecretProps",
@@ -5018,7 +5205,6 @@ class Login:
5018
5205
 
5019
5206
  # vpc: ec2.Vpc
5020
5207
 
5021
-
5022
5208
  cluster = docdb.DatabaseCluster(self, "Database",
5023
5209
  master_user=docdb.Login(
5024
5210
  username="myuser"
@@ -5028,7 +5214,7 @@ class Login:
5028
5214
  subnet_type=ec2.SubnetType.PUBLIC
5029
5215
  ),
5030
5216
  vpc=vpc,
5031
- removal_policy=RemovalPolicy.SNAPSHOT
5217
+ deletion_protection=True
5032
5218
  )
5033
5219
  '''
5034
5220
  if __debug__:
@@ -5191,6 +5377,71 @@ class RotationMultiUserOptions:
5191
5377
  )
5192
5378
 
5193
5379
 
5380
+ @jsii.data_type(
5381
+ jsii_type="aws-cdk-lib.aws_docdb.ServerlessV2ScalingConfiguration",
5382
+ jsii_struct_bases=[],
5383
+ name_mapping={"max_capacity": "maxCapacity", "min_capacity": "minCapacity"},
5384
+ )
5385
+ class ServerlessV2ScalingConfiguration:
5386
+ def __init__(self, *, max_capacity: jsii.Number, min_capacity: jsii.Number) -> None:
5387
+ '''ServerlessV2 scaling configuration for DocumentDB clusters.
5388
+
5389
+ :param max_capacity: The maximum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.
5390
+ :param min_capacity: The minimum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.
5391
+
5392
+ :exampleMetadata: infused
5393
+
5394
+ Example::
5395
+
5396
+ # vpc: ec2.Vpc
5397
+
5398
+ cluster = docdb.DatabaseCluster(self, "Database",
5399
+ master_user=docdb.Login(
5400
+ username="myuser"
5401
+ ),
5402
+ vpc=vpc,
5403
+ serverless_v2_scaling_configuration=docdb.ServerlessV2ScalingConfiguration(
5404
+ min_capacity=0.5,
5405
+ max_capacity=2
5406
+ ),
5407
+ engine_version="5.0.0"
5408
+ )
5409
+ '''
5410
+ if __debug__:
5411
+ type_hints = typing.get_type_hints(_typecheckingstub__db0de72551b166907369891918b0eccf227b067c44151aff0f889642ecea6a78)
5412
+ check_type(argname="argument max_capacity", value=max_capacity, expected_type=type_hints["max_capacity"])
5413
+ check_type(argname="argument min_capacity", value=min_capacity, expected_type=type_hints["min_capacity"])
5414
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5415
+ "max_capacity": max_capacity,
5416
+ "min_capacity": min_capacity,
5417
+ }
5418
+
5419
+ @builtins.property
5420
+ def max_capacity(self) -> jsii.Number:
5421
+ '''The maximum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.'''
5422
+ result = self._values.get("max_capacity")
5423
+ assert result is not None, "Required property 'max_capacity' is missing"
5424
+ return typing.cast(jsii.Number, result)
5425
+
5426
+ @builtins.property
5427
+ def min_capacity(self) -> jsii.Number:
5428
+ '''The minimum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.'''
5429
+ result = self._values.get("min_capacity")
5430
+ assert result is not None, "Required property 'min_capacity' is missing"
5431
+ return typing.cast(jsii.Number, result)
5432
+
5433
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5434
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5435
+
5436
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5437
+ return not (rhs == self)
5438
+
5439
+ def __repr__(self) -> str:
5440
+ return "ServerlessV2ScalingConfiguration(%s)" % ", ".join(
5441
+ k + "=" + repr(v) for k, v in self._values.items()
5442
+ )
5443
+
5444
+
5194
5445
  @jsii.enum(jsii_type="aws-cdk-lib.aws_docdb.StorageType")
5195
5446
  class StorageType(enum.Enum):
5196
5447
  '''The storage type of the DocDB cluster.
@@ -5299,6 +5550,12 @@ class ClusterParameterGroup(
5299
5550
  check_type(argname="argument parameter_group_name", value=parameter_group_name, expected_type=type_hints["parameter_group_name"])
5300
5551
  return typing.cast(IClusterParameterGroup, jsii.sinvoke(cls, "fromParameterGroupName", [scope, id, parameter_group_name]))
5301
5552
 
5553
+ @jsii.python.classproperty
5554
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5555
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5556
+ '''Uniquely identifies this class.'''
5557
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5558
+
5302
5559
  @builtins.property
5303
5560
  @jsii.member(jsii_name="parameterGroupName")
5304
5561
  def parameter_group_name(self) -> builtins.str:
@@ -5321,7 +5578,6 @@ class DatabaseCluster(
5321
5578
 
5322
5579
  # vpc: ec2.Vpc
5323
5580
 
5324
-
5325
5581
  cluster = docdb.DatabaseCluster(self, "Database",
5326
5582
  master_user=docdb.Login(
5327
5583
  username="myuser"
@@ -5331,7 +5587,7 @@ class DatabaseCluster(
5331
5587
  subnet_type=ec2.SubnetType.PUBLIC
5332
5588
  ),
5333
5589
  vpc=vpc,
5334
- removal_policy=RemovalPolicy.SNAPSHOT
5590
+ deletion_protection=True
5335
5591
  )
5336
5592
  '''
5337
5593
 
@@ -5340,7 +5596,6 @@ class DatabaseCluster(
5340
5596
  scope: _constructs_77d1e7e8.Construct,
5341
5597
  id: builtins.str,
5342
5598
  *,
5343
- instance_type: _InstanceType_f64915b9,
5344
5599
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
5345
5600
  vpc: _IVpc_f30d5663,
5346
5601
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5357,6 +5612,7 @@ class DatabaseCluster(
5357
5612
  instance_identifier_base: typing.Optional[builtins.str] = None,
5358
5613
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5359
5614
  instances: typing.Optional[jsii.Number] = None,
5615
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
5360
5616
  kms_key: typing.Optional[_IKey_5f11635f] = None,
5361
5617
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
5362
5618
  port: typing.Optional[jsii.Number] = None,
@@ -5364,6 +5620,7 @@ class DatabaseCluster(
5364
5620
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5365
5621
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
5366
5622
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5623
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
5367
5624
  storage_encrypted: typing.Optional[builtins.bool] = None,
5368
5625
  storage_type: typing.Optional[StorageType] = None,
5369
5626
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5371,7 +5628,6 @@ class DatabaseCluster(
5371
5628
  '''
5372
5629
  :param scope: -
5373
5630
  :param id: -
5374
- :param instance_type: What type of instance to start for the replicas.
5375
5631
  :param master_user: Username and password for the administrative user.
5376
5632
  :param vpc: What subnets to run the DocumentDB instances in. Must be at least 2 subnets in two different AZs.
5377
5633
  :param backup: Backup settings. Default: - Backup retention period for automated backups is 1 day. Backup preferred window is set to a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.
@@ -5385,9 +5641,10 @@ class DatabaseCluster(
5385
5641
  :param engine_version: What version of the database to start. Default: - the latest major version
5386
5642
  :param export_audit_logs_to_cloud_watch: Whether the audit logs should be exported to CloudWatch. Note that you also have to configure the audit log export in the Cluster's Parameter Group. Default: false
5387
5643
  :param export_profiler_logs_to_cloud_watch: Whether the profiler logs should be exported to CloudWatch. Note that you also have to configure the profiler log export in the Cluster's Parameter Group. Default: false
5388
- :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
5644
+ :param instance_identifier_base: Base identifier for instances. Every replica is named by appending the replica number to this string, 1-based. Only applicable for provisioned clusters. Default: - ``dbClusterName`` is used with the word "Instance" appended. If ``dbClusterName`` is not provided, the identifier is automatically generated.
5389
5645
  :param instance_removal_policy: The removal policy to apply to the cluster's instances. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
5390
5646
  :param instances: Number of DocDB compute instances. Default: 1
5647
+ :param instance_type: What type of instance to start for the replicas. Required for provisioned clusters, not applicable for serverless clusters. Default: None
5391
5648
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
5392
5649
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
5393
5650
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
@@ -5395,6 +5652,7 @@ class DatabaseCluster(
5395
5652
  :param removal_policy: The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted. This removal policy also applies to the implicit security group created for the cluster if one is not supplied as a parameter. When set to ``SNAPSHOT``, the removal policy for the instances and the security group will default to ``DESTROY`` as those resources do not support the policy. Use the ``instanceRemovalPolicy`` and ``securityGroupRemovalPolicy`` to change the behavior. Default: - Retain cluster.
5396
5653
  :param security_group: Security group. Default: a new security group is created.
5397
5654
  :param security_group_removal_policy: The removal policy to apply to the cluster's security group. Cannot be set to ``SNAPSHOT``. Default: - ``RemovalPolicy.DESTROY`` when ``removalPolicy`` is set to ``SNAPSHOT``, ``removalPolicy`` otherwise.
5655
+ :param serverless_v2_scaling_configuration: ServerlessV2 scaling configuration. When specified, the cluster will be created as a serverless cluster. Default: None
5398
5656
  :param storage_encrypted: Whether to enable storage encryption. Default: true
5399
5657
  :param storage_type: The storage type of the DocDB cluster. I/O-optimized storage is supported starting with engine version 5.0.0. Default: StorageType.STANDARD
5400
5658
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
@@ -5404,7 +5662,6 @@ class DatabaseCluster(
5404
5662
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5405
5663
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5406
5664
  props = DatabaseClusterProps(
5407
- instance_type=instance_type,
5408
5665
  master_user=master_user,
5409
5666
  vpc=vpc,
5410
5667
  backup=backup,
@@ -5421,6 +5678,7 @@ class DatabaseCluster(
5421
5678
  instance_identifier_base=instance_identifier_base,
5422
5679
  instance_removal_policy=instance_removal_policy,
5423
5680
  instances=instances,
5681
+ instance_type=instance_type,
5424
5682
  kms_key=kms_key,
5425
5683
  parameter_group=parameter_group,
5426
5684
  port=port,
@@ -5428,6 +5686,7 @@ class DatabaseCluster(
5428
5686
  removal_policy=removal_policy,
5429
5687
  security_group=security_group,
5430
5688
  security_group_removal_policy=security_group_removal_policy,
5689
+ serverless_v2_scaling_configuration=serverless_v2_scaling_configuration,
5431
5690
  storage_encrypted=storage_encrypted,
5432
5691
  storage_type=storage_type,
5433
5692
  vpc_subnets=vpc_subnets,
@@ -5543,6 +5802,12 @@ class DatabaseCluster(
5543
5802
  '''The default port Document DB listens on.'''
5544
5803
  return typing.cast(jsii.Number, jsii.sget(cls, "DEFAULT_PORT"))
5545
5804
 
5805
+ @jsii.python.classproperty
5806
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5807
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5808
+ '''Uniquely identifies this class.'''
5809
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5810
+
5546
5811
  @builtins.property
5547
5812
  @jsii.member(jsii_name="clusterEndpoint")
5548
5813
  def cluster_endpoint(self) -> Endpoint:
@@ -5720,6 +5985,12 @@ class DatabaseInstance(
5720
5985
 
5721
5986
  return typing.cast(IDatabaseInstance, jsii.sinvoke(cls, "fromDatabaseInstanceAttributes", [scope, id, attrs]))
5722
5987
 
5988
+ @jsii.python.classproperty
5989
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
5990
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
5991
+ '''Uniquely identifies this class.'''
5992
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
5993
+
5723
5994
  @builtins.property
5724
5995
  @jsii.member(jsii_name="cluster")
5725
5996
  def cluster(self) -> IDatabaseCluster:
@@ -5798,6 +6069,7 @@ __all__ = [
5798
6069
  "IDatabaseInstance",
5799
6070
  "Login",
5800
6071
  "RotationMultiUserOptions",
6072
+ "ServerlessV2ScalingConfiguration",
5801
6073
  "StorageType",
5802
6074
  ]
5803
6075
 
@@ -5830,11 +6102,13 @@ def _typecheckingstub__7db61dc80f26049d79a38255d8a0b3abaf4b5019d7cbed64c937ec0f3
5830
6102
  deletion_protection: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5831
6103
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
5832
6104
  engine_version: typing.Optional[builtins.str] = None,
6105
+ global_cluster_identifier: typing.Optional[builtins.str] = None,
5833
6106
  kms_key_id: typing.Optional[builtins.str] = None,
5834
6107
  manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5835
6108
  master_username: typing.Optional[builtins.str] = None,
5836
6109
  master_user_password: typing.Optional[builtins.str] = None,
5837
6110
  master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
6111
+ network_type: typing.Optional[builtins.str] = None,
5838
6112
  port: typing.Optional[jsii.Number] = None,
5839
6113
  preferred_backup_window: typing.Optional[builtins.str] = None,
5840
6114
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
@@ -5919,6 +6193,12 @@ def _typecheckingstub__a6c3f347d46adbb72bedc7428b15c6469cfe26cf4f30488e8abd2f8f2
5919
6193
  """Type checking stubs"""
5920
6194
  pass
5921
6195
 
6196
+ def _typecheckingstub__1df18874740f7d79670e3866720fac8967c1b52aced5a089132ee06a94fd72d2(
6197
+ value: typing.Optional[builtins.str],
6198
+ ) -> None:
6199
+ """Type checking stubs"""
6200
+ pass
6201
+
5922
6202
  def _typecheckingstub__03e9375b32d036932973e964a270516d21d155bd0db4369d824ccb7e7f0bdc62(
5923
6203
  value: typing.Optional[builtins.str],
5924
6204
  ) -> None:
@@ -5949,6 +6229,12 @@ def _typecheckingstub__3a1df2c9ac1f613c512469d693487a300c74230885d5e260bf5ada301
5949
6229
  """Type checking stubs"""
5950
6230
  pass
5951
6231
 
6232
+ def _typecheckingstub__79c741f6d8f922d19130884d7c02ab03431fc05781cc91b8ec5ac23e2ecd06e2(
6233
+ value: typing.Optional[builtins.str],
6234
+ ) -> None:
6235
+ """Type checking stubs"""
6236
+ pass
6237
+
5952
6238
  def _typecheckingstub__a09b878a6d8b852d7eb17f26dcd8f718779776e12f67987303b1e944b3a40516(
5953
6239
  value: typing.Optional[jsii.Number],
5954
6240
  ) -> None:
@@ -6118,11 +6404,13 @@ def _typecheckingstub__9e1a4213f95bc5df31b056bdc5858ecdc49954b349d7a647b8775edf5
6118
6404
  deletion_protection: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6119
6405
  enable_cloudwatch_logs_exports: typing.Optional[typing.Sequence[builtins.str]] = None,
6120
6406
  engine_version: typing.Optional[builtins.str] = None,
6407
+ global_cluster_identifier: typing.Optional[builtins.str] = None,
6121
6408
  kms_key_id: typing.Optional[builtins.str] = None,
6122
6409
  manage_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6123
6410
  master_username: typing.Optional[builtins.str] = None,
6124
6411
  master_user_password: typing.Optional[builtins.str] = None,
6125
6412
  master_user_secret_kms_key_id: typing.Optional[builtins.str] = None,
6413
+ network_type: typing.Optional[builtins.str] = None,
6126
6414
  port: typing.Optional[jsii.Number] = None,
6127
6415
  preferred_backup_window: typing.Optional[builtins.str] = None,
6128
6416
  preferred_maintenance_window: typing.Optional[builtins.str] = None,
@@ -6404,7 +6692,6 @@ def _typecheckingstub__d7aaa09fc3d83b3aef333d99a0eb22e9b6c412979a1f20e5f22628ebd
6404
6692
 
6405
6693
  def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc4e83218(
6406
6694
  *,
6407
- instance_type: _InstanceType_f64915b9,
6408
6695
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
6409
6696
  vpc: _IVpc_f30d5663,
6410
6697
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6421,6 +6708,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
6421
6708
  instance_identifier_base: typing.Optional[builtins.str] = None,
6422
6709
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6423
6710
  instances: typing.Optional[jsii.Number] = None,
6711
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
6424
6712
  kms_key: typing.Optional[_IKey_5f11635f] = None,
6425
6713
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
6426
6714
  port: typing.Optional[jsii.Number] = None,
@@ -6428,6 +6716,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
6428
6716
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6429
6717
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
6430
6718
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6719
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
6431
6720
  storage_encrypted: typing.Optional[builtins.bool] = None,
6432
6721
  storage_type: typing.Optional[StorageType] = None,
6433
6722
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6509,6 +6798,14 @@ def _typecheckingstub__222dd3344c65bc26a3a94843e3f6ff30239e319d6a229dd3bdf41ceb3
6509
6798
  """Type checking stubs"""
6510
6799
  pass
6511
6800
 
6801
+ def _typecheckingstub__db0de72551b166907369891918b0eccf227b067c44151aff0f889642ecea6a78(
6802
+ *,
6803
+ max_capacity: jsii.Number,
6804
+ min_capacity: jsii.Number,
6805
+ ) -> None:
6806
+ """Type checking stubs"""
6807
+ pass
6808
+
6512
6809
  def _typecheckingstub__f5db9713ff81354905234a3c3ad455aeb345d40d5b2e301511a38a2fed7b672b(
6513
6810
  scope: _constructs_77d1e7e8.Construct,
6514
6811
  id: builtins.str,
@@ -6533,7 +6830,6 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
6533
6830
  scope: _constructs_77d1e7e8.Construct,
6534
6831
  id: builtins.str,
6535
6832
  *,
6536
- instance_type: _InstanceType_f64915b9,
6537
6833
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
6538
6834
  vpc: _IVpc_f30d5663,
6539
6835
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6550,6 +6846,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
6550
6846
  instance_identifier_base: typing.Optional[builtins.str] = None,
6551
6847
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6552
6848
  instances: typing.Optional[jsii.Number] = None,
6849
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
6553
6850
  kms_key: typing.Optional[_IKey_5f11635f] = None,
6554
6851
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
6555
6852
  port: typing.Optional[jsii.Number] = None,
@@ -6557,6 +6854,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
6557
6854
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6558
6855
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
6559
6856
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6857
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
6560
6858
  storage_encrypted: typing.Optional[builtins.bool] = None,
6561
6859
  storage_type: typing.Optional[StorageType] = None,
6562
6860
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6627,3 +6925,6 @@ def _typecheckingstub__5af197dfd9513994e6eb32cf7bee6ff17fef900a5adb40b20b62ef897
6627
6925
  ) -> None:
6628
6926
  """Type checking stubs"""
6629
6927
  pass
6928
+
6929
+ for cls in [IClusterParameterGroup, IDatabaseCluster, IDatabaseInstance]:
6930
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])