aws-cdk-lib 2.216.0__py3-none-any.whl → 2.218.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 (151) hide show
  1. aws_cdk/__init__.py +60 -28
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.216.0.jsii.tgz → aws-cdk-lib@2.218.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amazonmq/__init__.py +87 -0
  6. aws_cdk/aws_amplify/__init__.py +8 -8
  7. aws_cdk/aws_apigateway/__init__.py +229 -6
  8. aws_cdk/aws_apigatewayv2/__init__.py +60 -2
  9. aws_cdk/aws_appconfig/__init__.py +145 -0
  10. aws_cdk/aws_appflow/__init__.py +116 -0
  11. aws_cdk/aws_appintegrations/__init__.py +116 -0
  12. aws_cdk/aws_appmesh/__init__.py +12 -12
  13. aws_cdk/aws_appstream/__init__.py +101 -4
  14. aws_cdk/aws_appsync/__init__.py +61 -3
  15. aws_cdk/aws_apptest/__init__.py +58 -0
  16. aws_cdk/aws_aps/__init__.py +459 -0
  17. aws_cdk/aws_athena/__init__.py +58 -0
  18. aws_cdk/aws_auditmanager/__init__.py +58 -0
  19. aws_cdk/aws_backup/__init__.py +145 -0
  20. aws_cdk/aws_batch/__init__.py +64 -2
  21. aws_cdk/aws_bedrock/__init__.py +277 -0
  22. aws_cdk/aws_bedrockagentcore/__init__.py +3178 -0
  23. aws_cdk/aws_cassandra/__init__.py +29 -0
  24. aws_cdk/aws_certificatemanager/__init__.py +38 -10
  25. aws_cdk/aws_cleanrooms/__init__.py +163 -0
  26. aws_cdk/aws_cloudformation/__init__.py +14 -14
  27. aws_cdk/aws_cloudfront/__init__.py +69 -8
  28. aws_cdk/aws_cloudfront_origins/__init__.py +87 -7
  29. aws_cdk/aws_cloudtrail/__init__.py +58 -0
  30. aws_cdk/aws_cloudwatch/__init__.py +145 -0
  31. aws_cdk/aws_codebuild/__init__.py +115 -12
  32. aws_cdk/aws_codedeploy/__init__.py +29 -0
  33. aws_cdk/aws_codeguruprofiler/__init__.py +58 -0
  34. aws_cdk/aws_codepipeline/__init__.py +29 -0
  35. aws_cdk/aws_cognito/__init__.py +89 -2
  36. aws_cdk/aws_config/__init__.py +58 -0
  37. aws_cdk/aws_connect/__init__.py +138 -10
  38. aws_cdk/aws_cur/__init__.py +86 -3
  39. aws_cdk/aws_customerprofiles/__init__.py +58 -0
  40. aws_cdk/aws_datapipeline/__init__.py +29 -0
  41. aws_cdk/aws_datasync/__init__.py +351 -0
  42. aws_cdk/aws_datazone/__init__.py +733 -2
  43. aws_cdk/aws_directoryservice/__init__.py +29 -0
  44. aws_cdk/aws_dms/__init__.py +58 -0
  45. aws_cdk/aws_docdb/__init__.py +153 -25
  46. aws_cdk/aws_dsql/__init__.py +29 -0
  47. aws_cdk/aws_dynamodb/__init__.py +181 -0
  48. aws_cdk/aws_ec2/__init__.py +2031 -10
  49. aws_cdk/aws_ecr/__init__.py +116 -0
  50. aws_cdk/aws_ecs/__init__.py +142 -12
  51. aws_cdk/aws_efs/__init__.py +116 -0
  52. aws_cdk/aws_eks/__init__.py +118 -0
  53. aws_cdk/aws_elasticache/__init__.py +261 -0
  54. aws_cdk/aws_elasticbeanstalk/__init__.py +29 -0
  55. aws_cdk/aws_elasticloadbalancingv2/__init__.py +48 -0
  56. aws_cdk/aws_elasticsearch/__init__.py +2 -2
  57. aws_cdk/aws_emr/__init__.py +87 -0
  58. aws_cdk/aws_emrcontainers/__init__.py +58 -0
  59. aws_cdk/aws_emrserverless/__init__.py +58 -0
  60. aws_cdk/aws_entityresolution/__init__.py +145 -0
  61. aws_cdk/aws_events/__init__.py +290 -0
  62. aws_cdk/aws_evs/__init__.py +58 -4
  63. aws_cdk/aws_finspace/__init__.py +58 -0
  64. aws_cdk/aws_gamelift/__init__.py +507 -56
  65. aws_cdk/aws_glue/__init__.py +145 -0
  66. aws_cdk/aws_greengrass/__init__.py +464 -0
  67. aws_cdk/aws_groundstation/__init__.py +87 -0
  68. aws_cdk/aws_guardduty/__init__.py +87 -0
  69. aws_cdk/aws_healthimaging/__init__.py +58 -0
  70. aws_cdk/aws_healthlake/__init__.py +29 -0
  71. aws_cdk/aws_iam/__init__.py +1 -1
  72. aws_cdk/aws_internetmonitor/__init__.py +58 -0
  73. aws_cdk/aws_iot/__init__.py +957 -0
  74. aws_cdk/aws_iotanalytics/__init__.py +116 -0
  75. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +93 -38
  76. aws_cdk/aws_iotevents/__init__.py +87 -0
  77. aws_cdk/aws_iotfleethub/__init__.py +58 -0
  78. aws_cdk/aws_iotfleetwise/__init__.py +116 -0
  79. aws_cdk/aws_iotsitewise/__init__.py +568 -111
  80. aws_cdk/aws_iottwinmaker/__init__.py +145 -0
  81. aws_cdk/aws_iotwireless/__init__.py +464 -0
  82. aws_cdk/aws_kendra/__init__.py +116 -0
  83. aws_cdk/aws_kinesis/__init__.py +58 -0
  84. aws_cdk/aws_kinesisanalytics/__init__.py +31 -0
  85. aws_cdk/aws_kinesisanalyticsv2/__init__.py +29 -0
  86. aws_cdk/aws_kinesisfirehose/__init__.py +58 -0
  87. aws_cdk/aws_kinesisvideo/__init__.py +29 -0
  88. aws_cdk/aws_kms/__init__.py +68 -2
  89. aws_cdk/aws_lambda/__init__.py +104 -0
  90. aws_cdk/aws_lex/__init__.py +29 -0
  91. aws_cdk/aws_location/__init__.py +348 -0
  92. aws_cdk/aws_logs/__init__.py +232 -0
  93. aws_cdk/aws_lookoutequipment/__init__.py +29 -0
  94. aws_cdk/aws_lookoutvision/__init__.py +58 -0
  95. aws_cdk/aws_managedblockchain/__init__.py +145 -0
  96. aws_cdk/aws_medialive/__init__.py +562 -0
  97. aws_cdk/aws_mediapackage/__init__.py +2 -2
  98. aws_cdk/aws_mediatailor/__init__.py +174 -0
  99. aws_cdk/aws_memorydb/__init__.py +203 -0
  100. aws_cdk/aws_mwaa/__init__.py +58 -0
  101. aws_cdk/aws_networkfirewall/__init__.py +10 -10
  102. aws_cdk/aws_networkmanager/__init__.py +92 -0
  103. aws_cdk/aws_nimblestudio/__init__.py +29 -0
  104. aws_cdk/aws_odb/__init__.py +2082 -195
  105. aws_cdk/aws_omics/__init__.py +1520 -103
  106. aws_cdk/aws_opensearchserverless/__init__.py +222 -21
  107. aws_cdk/aws_opensearchservice/__init__.py +5 -4
  108. aws_cdk/aws_opsworks/__init__.py +29 -0
  109. aws_cdk/aws_opsworkscm/__init__.py +29 -0
  110. aws_cdk/aws_organizations/__init__.py +116 -0
  111. aws_cdk/aws_panorama/__init__.py +116 -0
  112. aws_cdk/aws_pcs/__init__.py +9 -9
  113. aws_cdk/aws_pinpoint/__init__.py +116 -0
  114. aws_cdk/aws_qbusiness/__init__.py +232 -0
  115. aws_cdk/aws_qldb/__init__.py +29 -0
  116. aws_cdk/aws_quicksight/__init__.py +295 -3
  117. aws_cdk/aws_rds/__init__.py +402 -58
  118. aws_cdk/aws_redshift/__init__.py +29 -0
  119. aws_cdk/aws_rekognition/__init__.py +87 -0
  120. aws_cdk/aws_resourcegroups/__init__.py +58 -0
  121. aws_cdk/aws_rolesanywhere/__init__.py +145 -0
  122. aws_cdk/aws_route53recoveryreadiness/__init__.py +58 -0
  123. aws_cdk/aws_route53resolver/__init__.py +29 -0
  124. aws_cdk/aws_s3/__init__.py +116 -0
  125. aws_cdk/aws_s3express/__init__.py +116 -0
  126. aws_cdk/aws_sagemaker/__init__.py +715 -1
  127. aws_cdk/aws_scheduler/__init__.py +29 -0
  128. aws_cdk/aws_secretsmanager/__init__.py +29 -0
  129. aws_cdk/aws_servicecatalog/__init__.py +191 -154
  130. aws_cdk/aws_servicecatalogappregistry/__init__.py +116 -0
  131. aws_cdk/aws_servicediscovery/__init__.py +58 -0
  132. aws_cdk/aws_ses/__init__.py +261 -0
  133. aws_cdk/aws_simspaceweaver/__init__.py +29 -0
  134. aws_cdk/aws_smsvoice/__init__.py +5218 -0
  135. aws_cdk/aws_ssm/__init__.py +87 -0
  136. aws_cdk/aws_synthetics/__init__.py +29 -0
  137. aws_cdk/aws_timestream/__init__.py +87 -0
  138. aws_cdk/aws_transfer/__init__.py +274 -12
  139. aws_cdk/aws_verifiedpermissions/__init__.py +59 -1
  140. aws_cdk/aws_voiceid/__init__.py +29 -0
  141. aws_cdk/aws_wisdom/__init__.py +232 -0
  142. aws_cdk/aws_workspaces/__init__.py +58 -0
  143. aws_cdk/aws_workspacesinstances/__init__.py +670 -2
  144. aws_cdk/aws_workspacesthinclient/__init__.py +58 -0
  145. aws_cdk/pipelines/__init__.py +5 -1
  146. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/METADATA +1 -1
  147. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/RECORD +151 -149
  148. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/LICENSE +0 -0
  149. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/NOTICE +0 -0
  150. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/WHEEL +0 -0
  151. {aws_cdk_lib-2.216.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/top_level.txt +0 -0
@@ -1026,6 +1026,27 @@ class CfnSimpleAD(
1026
1026
 
1027
1027
  jsii.create(self.__class__, self, [scope, id, props])
1028
1028
 
1029
+ @jsii.member(jsii_name="fromDirectoryId")
1030
+ @builtins.classmethod
1031
+ def from_directory_id(
1032
+ cls,
1033
+ scope: _constructs_77d1e7e8.Construct,
1034
+ id: builtins.str,
1035
+ directory_id: builtins.str,
1036
+ ) -> ISimpleADRef:
1037
+ '''Creates a new ISimpleADRef from a directoryId.
1038
+
1039
+ :param scope: -
1040
+ :param id: -
1041
+ :param directory_id: -
1042
+ '''
1043
+ if __debug__:
1044
+ type_hints = typing.get_type_hints(_typecheckingstub__4edb8188cf1a787819f9e08e002165b6e7e58550d088f80151ce91f3ee2ad4f0)
1045
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1046
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1047
+ check_type(argname="argument directory_id", value=directory_id, expected_type=type_hints["directory_id"])
1048
+ return typing.cast(ISimpleADRef, jsii.sinvoke(cls, "fromDirectoryId", [scope, id, directory_id]))
1049
+
1029
1050
  @jsii.member(jsii_name="inspect")
1030
1051
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1031
1052
  '''Examines the CloudFormation resource and discloses attributes.
@@ -1446,6 +1467,14 @@ def _typecheckingstub__40820ee1ed03f2cd4befa65e6404c1024999677e0624ca5450f4b1f92
1446
1467
  """Type checking stubs"""
1447
1468
  pass
1448
1469
 
1470
+ def _typecheckingstub__4edb8188cf1a787819f9e08e002165b6e7e58550d088f80151ce91f3ee2ad4f0(
1471
+ scope: _constructs_77d1e7e8.Construct,
1472
+ id: builtins.str,
1473
+ directory_id: builtins.str,
1474
+ ) -> None:
1475
+ """Type checking stubs"""
1476
+ pass
1477
+
1449
1478
  def _typecheckingstub__adbd82c9a36437463cde56b3a4ad4d5c5c16f2073416fd9e1873351e5eb928b2(
1450
1479
  inspector: _TreeInspector_488e0dd5,
1451
1480
  ) -> None:
@@ -4239,6 +4239,27 @@ class CfnCertificate(
4239
4239
 
4240
4240
  jsii.create(self.__class__, self, [scope, id, props])
4241
4241
 
4242
+ @jsii.member(jsii_name="fromCertificateId")
4243
+ @builtins.classmethod
4244
+ def from_certificate_id(
4245
+ cls,
4246
+ scope: _constructs_77d1e7e8.Construct,
4247
+ id: builtins.str,
4248
+ certificate_id: builtins.str,
4249
+ ) -> ICertificateRef:
4250
+ '''Creates a new ICertificateRef from a certificateId.
4251
+
4252
+ :param scope: -
4253
+ :param id: -
4254
+ :param certificate_id: -
4255
+ '''
4256
+ if __debug__:
4257
+ type_hints = typing.get_type_hints(_typecheckingstub__54c58e4c61ec8f4fec86aeebbf242c64f4df21097435a1de2fa86d057deacae4)
4258
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4259
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4260
+ check_type(argname="argument certificate_id", value=certificate_id, expected_type=type_hints["certificate_id"])
4261
+ return typing.cast(ICertificateRef, jsii.sinvoke(cls, "fromCertificateId", [scope, id, certificate_id]))
4262
+
4242
4263
  @jsii.member(jsii_name="inspect")
4243
4264
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4244
4265
  '''Examines the CloudFormation resource and discloses attributes.
@@ -7166,6 +7187,27 @@ class CfnEndpoint(
7166
7187
 
7167
7188
  jsii.create(self.__class__, self, [scope, id, props])
7168
7189
 
7190
+ @jsii.member(jsii_name="fromEndpointId")
7191
+ @builtins.classmethod
7192
+ def from_endpoint_id(
7193
+ cls,
7194
+ scope: _constructs_77d1e7e8.Construct,
7195
+ id: builtins.str,
7196
+ endpoint_id: builtins.str,
7197
+ ) -> IEndpointRef:
7198
+ '''Creates a new IEndpointRef from a endpointId.
7199
+
7200
+ :param scope: -
7201
+ :param id: -
7202
+ :param endpoint_id: -
7203
+ '''
7204
+ if __debug__:
7205
+ type_hints = typing.get_type_hints(_typecheckingstub__cc7544659847cebf1010859beefe92e136eed06aeede14a54bb30e07bc5741a0)
7206
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7207
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7208
+ check_type(argname="argument endpoint_id", value=endpoint_id, expected_type=type_hints["endpoint_id"])
7209
+ return typing.cast(IEndpointRef, jsii.sinvoke(cls, "fromEndpointId", [scope, id, endpoint_id]))
7210
+
7169
7211
  @jsii.member(jsii_name="inspect")
7170
7212
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
7171
7213
  '''Examines the CloudFormation resource and discloses attributes.
@@ -15725,6 +15767,14 @@ def _typecheckingstub__f7c4a44b8a3c02f3f6ada86310479fa26dc0b32d4fba95316eb3faa44
15725
15767
  """Type checking stubs"""
15726
15768
  pass
15727
15769
 
15770
+ def _typecheckingstub__54c58e4c61ec8f4fec86aeebbf242c64f4df21097435a1de2fa86d057deacae4(
15771
+ scope: _constructs_77d1e7e8.Construct,
15772
+ id: builtins.str,
15773
+ certificate_id: builtins.str,
15774
+ ) -> None:
15775
+ """Type checking stubs"""
15776
+ pass
15777
+
15728
15778
  def _typecheckingstub__ec185f31d9affa5fa834d99f40ff8a27fcf34f84f01e6395782727e60768851f(
15729
15779
  inspector: _TreeInspector_488e0dd5,
15730
15780
  ) -> None:
@@ -16088,6 +16138,14 @@ def _typecheckingstub__738d71cd2300575c2c6537801f3dede195e2179cefcdceb9d0410340f
16088
16138
  """Type checking stubs"""
16089
16139
  pass
16090
16140
 
16141
+ def _typecheckingstub__cc7544659847cebf1010859beefe92e136eed06aeede14a54bb30e07bc5741a0(
16142
+ scope: _constructs_77d1e7e8.Construct,
16143
+ id: builtins.str,
16144
+ endpoint_id: builtins.str,
16145
+ ) -> None:
16146
+ """Type checking stubs"""
16147
+ pass
16148
+
16091
16149
  def _typecheckingstub__f057bd27ac6280cd130ed12f9511a5cdfb108a079b1bda778b1eafc415ee366d(
16092
16150
  inspector: _TreeInspector_488e0dd5,
16093
16151
  ) -> None:
@@ -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__)
@@ -2327,7 +2352,6 @@ class DatabaseClusterAttributes:
2327
2352
  jsii_type="aws-cdk-lib.aws_docdb.DatabaseClusterProps",
2328
2353
  jsii_struct_bases=[],
2329
2354
  name_mapping={
2330
- "instance_type": "instanceType",
2331
2355
  "master_user": "masterUser",
2332
2356
  "vpc": "vpc",
2333
2357
  "backup": "backup",
@@ -2344,6 +2368,7 @@ class DatabaseClusterAttributes:
2344
2368
  "instance_identifier_base": "instanceIdentifierBase",
2345
2369
  "instance_removal_policy": "instanceRemovalPolicy",
2346
2370
  "instances": "instances",
2371
+ "instance_type": "instanceType",
2347
2372
  "kms_key": "kmsKey",
2348
2373
  "parameter_group": "parameterGroup",
2349
2374
  "port": "port",
@@ -2351,6 +2376,7 @@ class DatabaseClusterAttributes:
2351
2376
  "removal_policy": "removalPolicy",
2352
2377
  "security_group": "securityGroup",
2353
2378
  "security_group_removal_policy": "securityGroupRemovalPolicy",
2379
+ "serverless_v2_scaling_configuration": "serverlessV2ScalingConfiguration",
2354
2380
  "storage_encrypted": "storageEncrypted",
2355
2381
  "storage_type": "storageType",
2356
2382
  "vpc_subnets": "vpcSubnets",
@@ -2360,7 +2386,6 @@ class DatabaseClusterProps:
2360
2386
  def __init__(
2361
2387
  self,
2362
2388
  *,
2363
- instance_type: _InstanceType_f64915b9,
2364
2389
  master_user: typing.Union["Login", typing.Dict[builtins.str, typing.Any]],
2365
2390
  vpc: _IVpc_f30d5663,
2366
2391
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2377,6 +2402,7 @@ class DatabaseClusterProps:
2377
2402
  instance_identifier_base: typing.Optional[builtins.str] = None,
2378
2403
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2379
2404
  instances: typing.Optional[jsii.Number] = None,
2405
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
2380
2406
  kms_key: typing.Optional[_IKey_5f11635f] = None,
2381
2407
  parameter_group: typing.Optional["IClusterParameterGroup"] = None,
2382
2408
  port: typing.Optional[jsii.Number] = None,
@@ -2384,13 +2410,13 @@ class DatabaseClusterProps:
2384
2410
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2385
2411
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
2386
2412
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2413
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union["ServerlessV2ScalingConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
2387
2414
  storage_encrypted: typing.Optional[builtins.bool] = None,
2388
2415
  storage_type: typing.Optional["StorageType"] = None,
2389
2416
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
2390
2417
  ) -> None:
2391
2418
  '''Properties for a new database cluster.
2392
2419
 
2393
- :param instance_type: What type of instance to start for the replicas.
2394
2420
  :param master_user: Username and password for the administrative user.
2395
2421
  :param vpc: What subnets to run the DocumentDB instances in. Must be at least 2 subnets in two different AZs.
2396
2422
  :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.
@@ -2404,9 +2430,10 @@ class DatabaseClusterProps:
2404
2430
  :param engine_version: What version of the database to start. Default: - the latest major version
2405
2431
  :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
2406
2432
  :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
2407
- :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.
2433
+ :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.
2408
2434
  :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.
2409
2435
  :param instances: Number of DocDB compute instances. Default: 1
2436
+ :param instance_type: What type of instance to start for the replicas. Required for provisioned clusters, not applicable for serverless clusters. Default: None
2410
2437
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
2411
2438
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
2412
2439
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
@@ -2414,6 +2441,7 @@ class DatabaseClusterProps:
2414
2441
  :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.
2415
2442
  :param security_group: Security group. Default: a new security group is created.
2416
2443
  :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.
2444
+ :param serverless_v2_scaling_configuration: ServerlessV2 scaling configuration. When specified, the cluster will be created as a serverless cluster. Default: None
2417
2445
  :param storage_encrypted: Whether to enable storage encryption. Default: true
2418
2446
  :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
2419
2447
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
@@ -2424,7 +2452,6 @@ class DatabaseClusterProps:
2424
2452
 
2425
2453
  # vpc: ec2.Vpc
2426
2454
 
2427
-
2428
2455
  cluster = docdb.DatabaseCluster(self, "Database",
2429
2456
  master_user=docdb.Login(
2430
2457
  username="myuser"
@@ -2434,18 +2461,19 @@ class DatabaseClusterProps:
2434
2461
  subnet_type=ec2.SubnetType.PUBLIC
2435
2462
  ),
2436
2463
  vpc=vpc,
2437
- removal_policy=RemovalPolicy.SNAPSHOT
2464
+ deletion_protection=True
2438
2465
  )
2439
2466
  '''
2440
2467
  if isinstance(master_user, dict):
2441
2468
  master_user = Login(**master_user)
2442
2469
  if isinstance(backup, dict):
2443
2470
  backup = BackupProps(**backup)
2471
+ if isinstance(serverless_v2_scaling_configuration, dict):
2472
+ serverless_v2_scaling_configuration = ServerlessV2ScalingConfiguration(**serverless_v2_scaling_configuration)
2444
2473
  if isinstance(vpc_subnets, dict):
2445
2474
  vpc_subnets = _SubnetSelection_e57d76df(**vpc_subnets)
2446
2475
  if __debug__:
2447
2476
  type_hints = typing.get_type_hints(_typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc4e83218)
2448
- check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
2449
2477
  check_type(argname="argument master_user", value=master_user, expected_type=type_hints["master_user"])
2450
2478
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
2451
2479
  check_type(argname="argument backup", value=backup, expected_type=type_hints["backup"])
@@ -2462,6 +2490,7 @@ class DatabaseClusterProps:
2462
2490
  check_type(argname="argument instance_identifier_base", value=instance_identifier_base, expected_type=type_hints["instance_identifier_base"])
2463
2491
  check_type(argname="argument instance_removal_policy", value=instance_removal_policy, expected_type=type_hints["instance_removal_policy"])
2464
2492
  check_type(argname="argument instances", value=instances, expected_type=type_hints["instances"])
2493
+ check_type(argname="argument instance_type", value=instance_type, expected_type=type_hints["instance_type"])
2465
2494
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
2466
2495
  check_type(argname="argument parameter_group", value=parameter_group, expected_type=type_hints["parameter_group"])
2467
2496
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
@@ -2469,11 +2498,11 @@ class DatabaseClusterProps:
2469
2498
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
2470
2499
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
2471
2500
  check_type(argname="argument security_group_removal_policy", value=security_group_removal_policy, expected_type=type_hints["security_group_removal_policy"])
2501
+ check_type(argname="argument serverless_v2_scaling_configuration", value=serverless_v2_scaling_configuration, expected_type=type_hints["serverless_v2_scaling_configuration"])
2472
2502
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
2473
2503
  check_type(argname="argument storage_type", value=storage_type, expected_type=type_hints["storage_type"])
2474
2504
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
2475
2505
  self._values: typing.Dict[builtins.str, typing.Any] = {
2476
- "instance_type": instance_type,
2477
2506
  "master_user": master_user,
2478
2507
  "vpc": vpc,
2479
2508
  }
@@ -2505,6 +2534,8 @@ class DatabaseClusterProps:
2505
2534
  self._values["instance_removal_policy"] = instance_removal_policy
2506
2535
  if instances is not None:
2507
2536
  self._values["instances"] = instances
2537
+ if instance_type is not None:
2538
+ self._values["instance_type"] = instance_type
2508
2539
  if kms_key is not None:
2509
2540
  self._values["kms_key"] = kms_key
2510
2541
  if parameter_group is not None:
@@ -2519,6 +2550,8 @@ class DatabaseClusterProps:
2519
2550
  self._values["security_group"] = security_group
2520
2551
  if security_group_removal_policy is not None:
2521
2552
  self._values["security_group_removal_policy"] = security_group_removal_policy
2553
+ if serverless_v2_scaling_configuration is not None:
2554
+ self._values["serverless_v2_scaling_configuration"] = serverless_v2_scaling_configuration
2522
2555
  if storage_encrypted is not None:
2523
2556
  self._values["storage_encrypted"] = storage_encrypted
2524
2557
  if storage_type is not None:
@@ -2526,13 +2559,6 @@ class DatabaseClusterProps:
2526
2559
  if vpc_subnets is not None:
2527
2560
  self._values["vpc_subnets"] = vpc_subnets
2528
2561
 
2529
- @builtins.property
2530
- def instance_type(self) -> _InstanceType_f64915b9:
2531
- '''What type of instance to start for the replicas.'''
2532
- result = self._values.get("instance_type")
2533
- assert result is not None, "Required property 'instance_type' is missing"
2534
- return typing.cast(_InstanceType_f64915b9, result)
2535
-
2536
2562
  @builtins.property
2537
2563
  def master_user(self) -> "Login":
2538
2564
  '''Username and password for the administrative user.'''
@@ -2681,6 +2707,7 @@ class DatabaseClusterProps:
2681
2707
  '''Base identifier for instances.
2682
2708
 
2683
2709
  Every replica is named by appending the replica number to this string, 1-based.
2710
+ Only applicable for provisioned clusters.
2684
2711
 
2685
2712
  :default:
2686
2713
 
@@ -2712,6 +2739,17 @@ class DatabaseClusterProps:
2712
2739
  result = self._values.get("instances")
2713
2740
  return typing.cast(typing.Optional[jsii.Number], result)
2714
2741
 
2742
+ @builtins.property
2743
+ def instance_type(self) -> typing.Optional[_InstanceType_f64915b9]:
2744
+ '''What type of instance to start for the replicas.
2745
+
2746
+ Required for provisioned clusters, not applicable for serverless clusters.
2747
+
2748
+ :default: None
2749
+ '''
2750
+ result = self._values.get("instance_type")
2751
+ return typing.cast(typing.Optional[_InstanceType_f64915b9], result)
2752
+
2715
2753
  @builtins.property
2716
2754
  def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
2717
2755
  '''The KMS key for storage encryption.
@@ -2797,6 +2835,19 @@ class DatabaseClusterProps:
2797
2835
  result = self._values.get("security_group_removal_policy")
2798
2836
  return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
2799
2837
 
2838
+ @builtins.property
2839
+ def serverless_v2_scaling_configuration(
2840
+ self,
2841
+ ) -> typing.Optional["ServerlessV2ScalingConfiguration"]:
2842
+ '''ServerlessV2 scaling configuration.
2843
+
2844
+ When specified, the cluster will be created as a serverless cluster.
2845
+
2846
+ :default: None
2847
+ '''
2848
+ result = self._values.get("serverless_v2_scaling_configuration")
2849
+ return typing.cast(typing.Optional["ServerlessV2ScalingConfiguration"], result)
2850
+
2800
2851
  @builtins.property
2801
2852
  def storage_encrypted(self) -> typing.Optional[builtins.bool]:
2802
2853
  '''Whether to enable storage encryption.
@@ -3883,7 +3934,6 @@ class Login:
3883
3934
 
3884
3935
  # vpc: ec2.Vpc
3885
3936
 
3886
-
3887
3937
  cluster = docdb.DatabaseCluster(self, "Database",
3888
3938
  master_user=docdb.Login(
3889
3939
  username="myuser"
@@ -3893,7 +3943,7 @@ class Login:
3893
3943
  subnet_type=ec2.SubnetType.PUBLIC
3894
3944
  ),
3895
3945
  vpc=vpc,
3896
- removal_policy=RemovalPolicy.SNAPSHOT
3946
+ deletion_protection=True
3897
3947
  )
3898
3948
  '''
3899
3949
  if __debug__:
@@ -4056,6 +4106,71 @@ class RotationMultiUserOptions:
4056
4106
  )
4057
4107
 
4058
4108
 
4109
+ @jsii.data_type(
4110
+ jsii_type="aws-cdk-lib.aws_docdb.ServerlessV2ScalingConfiguration",
4111
+ jsii_struct_bases=[],
4112
+ name_mapping={"max_capacity": "maxCapacity", "min_capacity": "minCapacity"},
4113
+ )
4114
+ class ServerlessV2ScalingConfiguration:
4115
+ def __init__(self, *, max_capacity: jsii.Number, min_capacity: jsii.Number) -> None:
4116
+ '''ServerlessV2 scaling configuration for DocumentDB clusters.
4117
+
4118
+ :param max_capacity: The maximum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.
4119
+ :param min_capacity: The minimum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.
4120
+
4121
+ :exampleMetadata: infused
4122
+
4123
+ Example::
4124
+
4125
+ # vpc: ec2.Vpc
4126
+
4127
+ cluster = docdb.DatabaseCluster(self, "Database",
4128
+ master_user=docdb.Login(
4129
+ username="myuser"
4130
+ ),
4131
+ vpc=vpc,
4132
+ serverless_v2_scaling_configuration=docdb.ServerlessV2ScalingConfiguration(
4133
+ min_capacity=0.5,
4134
+ max_capacity=2
4135
+ ),
4136
+ engine_version="5.0.0"
4137
+ )
4138
+ '''
4139
+ if __debug__:
4140
+ type_hints = typing.get_type_hints(_typecheckingstub__db0de72551b166907369891918b0eccf227b067c44151aff0f889642ecea6a78)
4141
+ check_type(argname="argument max_capacity", value=max_capacity, expected_type=type_hints["max_capacity"])
4142
+ check_type(argname="argument min_capacity", value=min_capacity, expected_type=type_hints["min_capacity"])
4143
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4144
+ "max_capacity": max_capacity,
4145
+ "min_capacity": min_capacity,
4146
+ }
4147
+
4148
+ @builtins.property
4149
+ def max_capacity(self) -> jsii.Number:
4150
+ '''The maximum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.'''
4151
+ result = self._values.get("max_capacity")
4152
+ assert result is not None, "Required property 'max_capacity' is missing"
4153
+ return typing.cast(jsii.Number, result)
4154
+
4155
+ @builtins.property
4156
+ def min_capacity(self) -> jsii.Number:
4157
+ '''The minimum number of DocumentDB capacity units (DCUs) for a DocumentDB instance in a DocumentDB Serverless cluster.'''
4158
+ result = self._values.get("min_capacity")
4159
+ assert result is not None, "Required property 'min_capacity' is missing"
4160
+ return typing.cast(jsii.Number, result)
4161
+
4162
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4163
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4164
+
4165
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4166
+ return not (rhs == self)
4167
+
4168
+ def __repr__(self) -> str:
4169
+ return "ServerlessV2ScalingConfiguration(%s)" % ", ".join(
4170
+ k + "=" + repr(v) for k, v in self._values.items()
4171
+ )
4172
+
4173
+
4059
4174
  @jsii.enum(jsii_type="aws-cdk-lib.aws_docdb.StorageType")
4060
4175
  class StorageType(enum.Enum):
4061
4176
  '''The storage type of the DocDB cluster.
@@ -5887,7 +6002,6 @@ class DatabaseCluster(
5887
6002
 
5888
6003
  # vpc: ec2.Vpc
5889
6004
 
5890
-
5891
6005
  cluster = docdb.DatabaseCluster(self, "Database",
5892
6006
  master_user=docdb.Login(
5893
6007
  username="myuser"
@@ -5897,7 +6011,7 @@ class DatabaseCluster(
5897
6011
  subnet_type=ec2.SubnetType.PUBLIC
5898
6012
  ),
5899
6013
  vpc=vpc,
5900
- removal_policy=RemovalPolicy.SNAPSHOT
6014
+ deletion_protection=True
5901
6015
  )
5902
6016
  '''
5903
6017
 
@@ -5906,7 +6020,6 @@ class DatabaseCluster(
5906
6020
  scope: _constructs_77d1e7e8.Construct,
5907
6021
  id: builtins.str,
5908
6022
  *,
5909
- instance_type: _InstanceType_f64915b9,
5910
6023
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
5911
6024
  vpc: _IVpc_f30d5663,
5912
6025
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5923,6 +6036,7 @@ class DatabaseCluster(
5923
6036
  instance_identifier_base: typing.Optional[builtins.str] = None,
5924
6037
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5925
6038
  instances: typing.Optional[jsii.Number] = None,
6039
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
5926
6040
  kms_key: typing.Optional[_IKey_5f11635f] = None,
5927
6041
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
5928
6042
  port: typing.Optional[jsii.Number] = None,
@@ -5930,6 +6044,7 @@ class DatabaseCluster(
5930
6044
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
5931
6045
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
5932
6046
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6047
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
5933
6048
  storage_encrypted: typing.Optional[builtins.bool] = None,
5934
6049
  storage_type: typing.Optional[StorageType] = None,
5935
6050
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5937,7 +6052,6 @@ class DatabaseCluster(
5937
6052
  '''
5938
6053
  :param scope: -
5939
6054
  :param id: -
5940
- :param instance_type: What type of instance to start for the replicas.
5941
6055
  :param master_user: Username and password for the administrative user.
5942
6056
  :param vpc: What subnets to run the DocumentDB instances in. Must be at least 2 subnets in two different AZs.
5943
6057
  :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.
@@ -5951,9 +6065,10 @@ class DatabaseCluster(
5951
6065
  :param engine_version: What version of the database to start. Default: - the latest major version
5952
6066
  :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
5953
6067
  :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
5954
- :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.
6068
+ :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.
5955
6069
  :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.
5956
6070
  :param instances: Number of DocDB compute instances. Default: 1
6071
+ :param instance_type: What type of instance to start for the replicas. Required for provisioned clusters, not applicable for serverless clusters. Default: None
5957
6072
  :param kms_key: The KMS key for storage encryption. Default: - default master key.
5958
6073
  :param parameter_group: The DB parameter group to associate with the instance. Default: no parameter group
5959
6074
  :param port: The port the DocumentDB cluster will listen on. Default: DatabaseCluster.DEFAULT_PORT
@@ -5961,6 +6076,7 @@ class DatabaseCluster(
5961
6076
  :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.
5962
6077
  :param security_group: Security group. Default: a new security group is created.
5963
6078
  :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.
6079
+ :param serverless_v2_scaling_configuration: ServerlessV2 scaling configuration. When specified, the cluster will be created as a serverless cluster. Default: None
5964
6080
  :param storage_encrypted: Whether to enable storage encryption. Default: true
5965
6081
  :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
5966
6082
  :param vpc_subnets: Where to place the instances within the VPC. Default: private subnets
@@ -5970,7 +6086,6 @@ class DatabaseCluster(
5970
6086
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5971
6087
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5972
6088
  props = DatabaseClusterProps(
5973
- instance_type=instance_type,
5974
6089
  master_user=master_user,
5975
6090
  vpc=vpc,
5976
6091
  backup=backup,
@@ -5987,6 +6102,7 @@ class DatabaseCluster(
5987
6102
  instance_identifier_base=instance_identifier_base,
5988
6103
  instance_removal_policy=instance_removal_policy,
5989
6104
  instances=instances,
6105
+ instance_type=instance_type,
5990
6106
  kms_key=kms_key,
5991
6107
  parameter_group=parameter_group,
5992
6108
  port=port,
@@ -5994,6 +6110,7 @@ class DatabaseCluster(
5994
6110
  removal_policy=removal_policy,
5995
6111
  security_group=security_group,
5996
6112
  security_group_removal_policy=security_group_removal_policy,
6113
+ serverless_v2_scaling_configuration=serverless_v2_scaling_configuration,
5997
6114
  storage_encrypted=storage_encrypted,
5998
6115
  storage_type=storage_type,
5999
6116
  vpc_subnets=vpc_subnets,
@@ -6386,6 +6503,7 @@ __all__ = [
6386
6503
  "IEventSubscriptionRef",
6387
6504
  "Login",
6388
6505
  "RotationMultiUserOptions",
6506
+ "ServerlessV2ScalingConfiguration",
6389
6507
  "StorageType",
6390
6508
  ]
6391
6509
 
@@ -6543,7 +6661,6 @@ def _typecheckingstub__d7aaa09fc3d83b3aef333d99a0eb22e9b6c412979a1f20e5f22628ebd
6543
6661
 
6544
6662
  def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc4e83218(
6545
6663
  *,
6546
- instance_type: _InstanceType_f64915b9,
6547
6664
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
6548
6665
  vpc: _IVpc_f30d5663,
6549
6666
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6560,6 +6677,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
6560
6677
  instance_identifier_base: typing.Optional[builtins.str] = None,
6561
6678
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6562
6679
  instances: typing.Optional[jsii.Number] = None,
6680
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
6563
6681
  kms_key: typing.Optional[_IKey_5f11635f] = None,
6564
6682
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
6565
6683
  port: typing.Optional[jsii.Number] = None,
@@ -6567,6 +6685,7 @@ def _typecheckingstub__bb24ec128a97ca07df15f55d4e96dda851d4300951806a7a3d7f391cc
6567
6685
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6568
6686
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
6569
6687
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
6688
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
6570
6689
  storage_encrypted: typing.Optional[builtins.bool] = None,
6571
6690
  storage_type: typing.Optional[StorageType] = None,
6572
6691
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -6655,6 +6774,14 @@ def _typecheckingstub__222dd3344c65bc26a3a94843e3f6ff30239e319d6a229dd3bdf41ceb3
6655
6774
  """Type checking stubs"""
6656
6775
  pass
6657
6776
 
6777
+ def _typecheckingstub__db0de72551b166907369891918b0eccf227b067c44151aff0f889642ecea6a78(
6778
+ *,
6779
+ max_capacity: jsii.Number,
6780
+ min_capacity: jsii.Number,
6781
+ ) -> None:
6782
+ """Type checking stubs"""
6783
+ pass
6784
+
6658
6785
  def _typecheckingstub__7db61dc80f26049d79a38255d8a0b3abaf4b5019d7cbed64c937ec0f3e40056c(
6659
6786
  scope: _constructs_77d1e7e8.Construct,
6660
6787
  id: builtins.str,
@@ -7172,7 +7299,6 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
7172
7299
  scope: _constructs_77d1e7e8.Construct,
7173
7300
  id: builtins.str,
7174
7301
  *,
7175
- instance_type: _InstanceType_f64915b9,
7176
7302
  master_user: typing.Union[Login, typing.Dict[builtins.str, typing.Any]],
7177
7303
  vpc: _IVpc_f30d5663,
7178
7304
  backup: typing.Optional[typing.Union[BackupProps, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7189,6 +7315,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
7189
7315
  instance_identifier_base: typing.Optional[builtins.str] = None,
7190
7316
  instance_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
7191
7317
  instances: typing.Optional[jsii.Number] = None,
7318
+ instance_type: typing.Optional[_InstanceType_f64915b9] = None,
7192
7319
  kms_key: typing.Optional[_IKey_5f11635f] = None,
7193
7320
  parameter_group: typing.Optional[IClusterParameterGroup] = None,
7194
7321
  port: typing.Optional[jsii.Number] = None,
@@ -7196,6 +7323,7 @@ def _typecheckingstub__3fef762ebf4d69195051e79f76d91c6d9e93e2a84a6c1e71f7b4a0b8c
7196
7323
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
7197
7324
  security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
7198
7325
  security_group_removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
7326
+ serverless_v2_scaling_configuration: typing.Optional[typing.Union[ServerlessV2ScalingConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
7199
7327
  storage_encrypted: typing.Optional[builtins.bool] = None,
7200
7328
  storage_type: typing.Optional[StorageType] = None,
7201
7329
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -378,6 +378,27 @@ class CfnCluster(
378
378
 
379
379
  jsii.create(self.__class__, self, [scope, id, props])
380
380
 
381
+ @jsii.member(jsii_name="fromIdentifier")
382
+ @builtins.classmethod
383
+ def from_identifier(
384
+ cls,
385
+ scope: _constructs_77d1e7e8.Construct,
386
+ id: builtins.str,
387
+ identifier: builtins.str,
388
+ ) -> IClusterRef:
389
+ '''Creates a new IClusterRef from a identifier.
390
+
391
+ :param scope: -
392
+ :param id: -
393
+ :param identifier: -
394
+ '''
395
+ if __debug__:
396
+ type_hints = typing.get_type_hints(_typecheckingstub__bccb1b24da44362c4f4e80968f320da6e8a1b50c7b1913648f91026e37e545ce)
397
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
398
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
399
+ check_type(argname="argument identifier", value=identifier, expected_type=type_hints["identifier"])
400
+ return typing.cast(IClusterRef, jsii.sinvoke(cls, "fromIdentifier", [scope, id, identifier]))
401
+
381
402
  @jsii.member(jsii_name="inspect")
382
403
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
383
404
  '''Examines the CloudFormation resource and discloses attributes.
@@ -755,6 +776,14 @@ def _typecheckingstub__b82b76673b1942e60f823768c857e13a61b0491cdd1ca21c1f2a574e9
755
776
  """Type checking stubs"""
756
777
  pass
757
778
 
779
+ def _typecheckingstub__bccb1b24da44362c4f4e80968f320da6e8a1b50c7b1913648f91026e37e545ce(
780
+ scope: _constructs_77d1e7e8.Construct,
781
+ id: builtins.str,
782
+ identifier: builtins.str,
783
+ ) -> None:
784
+ """Type checking stubs"""
785
+ pass
786
+
758
787
  def _typecheckingstub__b05414cc6a0a47d76a5604395b89b41d7f04f08f9b28ec25471d8d9dfd914483(
759
788
  inspector: _TreeInspector_488e0dd5,
760
789
  ) -> None: