aws-cdk-lib 2.200.2__py3-none-any.whl → 2.202.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 (62) hide show
  1. aws_cdk/__init__.py +129 -37
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.202.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +227 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +38 -38
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  16. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  18. aws_cdk/aws_connect/__init__.py +5 -5
  19. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  20. aws_cdk/aws_datasync/__init__.py +189 -160
  21. aws_cdk/aws_datazone/__init__.py +512 -170
  22. aws_cdk/aws_deadline/__init__.py +32 -4
  23. aws_cdk/aws_dsql/__init__.py +150 -10
  24. aws_cdk/aws_ec2/__init__.py +1191 -304
  25. aws_cdk/aws_ecs/__init__.py +94 -11
  26. aws_cdk/aws_efs/__init__.py +103 -12
  27. aws_cdk/aws_eks/__init__.py +337 -168
  28. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  29. aws_cdk/aws_emr/__init__.py +10 -4
  30. aws_cdk/aws_entityresolution/__init__.py +25 -10
  31. aws_cdk/aws_evs/__init__.py +2204 -0
  32. aws_cdk/aws_fsx/__init__.py +7 -7
  33. aws_cdk/aws_glue/__init__.py +58 -24
  34. aws_cdk/aws_iam/__init__.py +3 -3
  35. aws_cdk/aws_kms/__init__.py +10 -4
  36. aws_cdk/aws_lambda/__init__.py +1167 -55
  37. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  38. aws_cdk/aws_lightsail/__init__.py +17 -13
  39. aws_cdk/aws_logs/__init__.py +1 -0
  40. aws_cdk/aws_msk/__init__.py +21 -2
  41. aws_cdk/aws_mwaa/__init__.py +45 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  44. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  45. aws_cdk/aws_rds/__init__.py +287 -87
  46. aws_cdk/aws_s3/__init__.py +39 -15
  47. aws_cdk/aws_sagemaker/__init__.py +223 -3
  48. aws_cdk/aws_securityhub/__init__.py +18 -34
  49. aws_cdk/aws_ssm/__init__.py +83 -1
  50. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  51. aws_cdk/aws_synthetics/__init__.py +74 -0
  52. aws_cdk/aws_transfer/__init__.py +3 -3
  53. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  54. aws_cdk/aws_wafv2/__init__.py +770 -7
  55. aws_cdk/cx_api/__init__.py +14 -0
  56. aws_cdk/pipelines/__init__.py +147 -38
  57. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/METADATA +3 -3
  58. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/RECORD +62 -61
  59. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/LICENSE +0 -0
  60. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/NOTICE +0 -0
  61. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/WHEEL +0 -0
  62. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.202.0.dist-info}/top_level.txt +0 -0
@@ -292,9 +292,21 @@ things.
292
292
  > *Info* More complete details can be found [in the docs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html#aurora-serverless-v2-examples-setting-capacity-range-for-cluster)
293
293
 
294
294
  You can also set minimum capacity to zero ACUs and automatically pause,
295
- if they don't have any connections initiated by user activity within a specified time period.
295
+ if they don't have any connections initiated by user activity within a time period specified by `serverlessV2AutoPauseDuration` (300 seconds by default).
296
296
  For more information, see [Scaling to Zero ACUs with automatic pause and resume for Aurora Serverless v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html).
297
297
 
298
+ ```python
299
+ # vpc: ec2.Vpc
300
+
301
+ cluster = rds.DatabaseCluster(self, "Database",
302
+ engine=rds.DatabaseClusterEngine.aurora_mysql(version=rds.AuroraMysqlEngineVersion.VER_3_08_0),
303
+ writer=rds.ClusterInstance.serverless_v2("writer"),
304
+ serverless_v2_min_capacity=0,
305
+ serverless_v2_auto_pause_duration=Duration.hours(1),
306
+ vpc=vpc
307
+ )
308
+ ```
309
+
298
310
  Another way that you control the capacity/scaling of your serverless v2 reader
299
311
  instances is based on the [promotion tier](https://aws.amazon.com/blogs/aws/additional-failover-control-for-amazon-aurora/)
300
312
  which can be between 0-15. Any serverless v2 instance in the 0-1 tiers will scale alongside the
@@ -612,6 +624,19 @@ rds.DatabaseInstanceReadReplica(self, "ReadReplica",
612
624
  )
613
625
  ```
614
626
 
627
+ Or you can [restore a DB instance from a Multi-AZ DB cluster snapshot](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromMultiAZDBClusterSnapshot.html)
628
+
629
+ ```python
630
+ # vpc: ec2.Vpc
631
+
632
+
633
+ rds.DatabaseInstanceFromSnapshot(self, "Instance",
634
+ cluster_snapshot_identifier="my-cluster-snapshot",
635
+ engine=rds.DatabaseInstanceEngine.postgres(version=rds.PostgresEngineVersion.VER_16_3),
636
+ vpc=vpc
637
+ )
638
+ ```
639
+
615
640
  Automatic backups of read replica instances are only supported for MySQL and MariaDB. By default,
616
641
  automatic backups are disabled for read replicas and can only be enabled (using `backupRetention`)
617
642
  if also enabled on the source instance.
@@ -1180,7 +1205,7 @@ proxy.grant_connect(role, "admin")
1180
1205
  See [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html) for setup instructions.
1181
1206
 
1182
1207
  To specify the details of authentication used by a proxy to log in as a specific database
1183
- user use the `clientPasswordAuthType` property:
1208
+ user use the `clientPasswordAuthType` property:
1184
1209
 
1185
1210
  ```python
1186
1211
  # vpc: ec2.Vpc
@@ -3246,7 +3271,11 @@ class AuroraPostgresClusterEngineProps:
3246
3271
  @jsii.data_type(
3247
3272
  jsii_type="aws-cdk-lib.aws_rds.AuroraPostgresEngineFeatures",
3248
3273
  jsii_struct_bases=[],
3249
- name_mapping={"s3_export": "s3Export", "s3_import": "s3Import"},
3274
+ name_mapping={
3275
+ "s3_export": "s3Export",
3276
+ "s3_import": "s3Import",
3277
+ "serverless_v2_auto_pause_supported": "serverlessV2AutoPauseSupported",
3278
+ },
3250
3279
  )
3251
3280
  class AuroraPostgresEngineFeatures:
3252
3281
  def __init__(
@@ -3254,11 +3283,13 @@ class AuroraPostgresEngineFeatures:
3254
3283
  *,
3255
3284
  s3_export: typing.Optional[builtins.bool] = None,
3256
3285
  s3_import: typing.Optional[builtins.bool] = None,
3286
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
3257
3287
  ) -> None:
3258
3288
  '''Features supported by this version of the Aurora Postgres cluster engine.
3259
3289
 
3260
3290
  :param s3_export: Whether this version of the Aurora Postgres cluster engine supports the S3 data export feature. Default: false
3261
3291
  :param s3_import: Whether this version of the Aurora Postgres cluster engine supports the S3 data import feature. Default: false
3292
+ :param serverless_v2_auto_pause_supported: Whether this version of the Aurora Postgres cluster engine supports the Aurora SeverlessV2 auto-pause feature. Default: false
3262
3293
 
3263
3294
  :exampleMetadata: fixture=_generated
3264
3295
 
@@ -3270,18 +3301,22 @@ class AuroraPostgresEngineFeatures:
3270
3301
 
3271
3302
  aurora_postgres_engine_features = rds.AuroraPostgresEngineFeatures(
3272
3303
  s3_export=False,
3273
- s3_import=False
3304
+ s3_import=False,
3305
+ serverless_v2_auto_pause_supported=False
3274
3306
  )
3275
3307
  '''
3276
3308
  if __debug__:
3277
3309
  type_hints = typing.get_type_hints(_typecheckingstub__b814dd981cca1ca2c5c82455e0e07de3c617842b40c164fd2d5e0c0ceea436fe)
3278
3310
  check_type(argname="argument s3_export", value=s3_export, expected_type=type_hints["s3_export"])
3279
3311
  check_type(argname="argument s3_import", value=s3_import, expected_type=type_hints["s3_import"])
3312
+ check_type(argname="argument serverless_v2_auto_pause_supported", value=serverless_v2_auto_pause_supported, expected_type=type_hints["serverless_v2_auto_pause_supported"])
3280
3313
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3281
3314
  if s3_export is not None:
3282
3315
  self._values["s3_export"] = s3_export
3283
3316
  if s3_import is not None:
3284
3317
  self._values["s3_import"] = s3_import
3318
+ if serverless_v2_auto_pause_supported is not None:
3319
+ self._values["serverless_v2_auto_pause_supported"] = serverless_v2_auto_pause_supported
3285
3320
 
3286
3321
  @builtins.property
3287
3322
  def s3_export(self) -> typing.Optional[builtins.bool]:
@@ -3301,6 +3336,17 @@ class AuroraPostgresEngineFeatures:
3301
3336
  result = self._values.get("s3_import")
3302
3337
  return typing.cast(typing.Optional[builtins.bool], result)
3303
3338
 
3339
+ @builtins.property
3340
+ def serverless_v2_auto_pause_supported(self) -> typing.Optional[builtins.bool]:
3341
+ '''Whether this version of the Aurora Postgres cluster engine supports the Aurora SeverlessV2 auto-pause feature.
3342
+
3343
+ :default: false
3344
+
3345
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html#auto-pause-prereqs
3346
+ '''
3347
+ result = self._values.get("serverless_v2_auto_pause_supported")
3348
+ return typing.cast(typing.Optional[builtins.bool], result)
3349
+
3304
3350
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3305
3351
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3306
3352
 
@@ -3353,6 +3399,7 @@ class AuroraPostgresEngineVersion(
3353
3399
  *,
3354
3400
  s3_export: typing.Optional[builtins.bool] = None,
3355
3401
  s3_import: typing.Optional[builtins.bool] = None,
3402
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
3356
3403
  ) -> "AuroraPostgresEngineVersion":
3357
3404
  '''Create a new AuroraPostgresEngineVersion with an arbitrary version.
3358
3405
 
@@ -3360,13 +3407,16 @@ class AuroraPostgresEngineVersion(
3360
3407
  :param aurora_postgres_major_version: the major version of the engine, for example "9.6".
3361
3408
  :param s3_export: Whether this version of the Aurora Postgres cluster engine supports the S3 data export feature. Default: false
3362
3409
  :param s3_import: Whether this version of the Aurora Postgres cluster engine supports the S3 data import feature. Default: false
3410
+ :param serverless_v2_auto_pause_supported: Whether this version of the Aurora Postgres cluster engine supports the Aurora SeverlessV2 auto-pause feature. Default: false
3363
3411
  '''
3364
3412
  if __debug__:
3365
3413
  type_hints = typing.get_type_hints(_typecheckingstub__98ade0032a588940a6a5692a85f772441fd63ea4236e4018d1aa1b1ef7177eae)
3366
3414
  check_type(argname="argument aurora_postgres_full_version", value=aurora_postgres_full_version, expected_type=type_hints["aurora_postgres_full_version"])
3367
3415
  check_type(argname="argument aurora_postgres_major_version", value=aurora_postgres_major_version, expected_type=type_hints["aurora_postgres_major_version"])
3368
3416
  aurora_postgres_features = AuroraPostgresEngineFeatures(
3369
- s3_export=s3_export, s3_import=s3_import
3417
+ s3_export=s3_export,
3418
+ s3_import=s3_import,
3419
+ serverless_v2_auto_pause_supported=serverless_v2_auto_pause_supported,
3370
3420
  )
3371
3421
 
3372
3422
  return typing.cast("AuroraPostgresEngineVersion", jsii.sinvoke(cls, "of", [aurora_postgres_full_version, aurora_postgres_major_version, aurora_postgres_features]))
@@ -15131,8 +15181,8 @@ class CfnDBProxyTargetGroup(
15131
15181
  ) -> None:
15132
15182
  '''Specifies the settings that control the size and behavior of the connection pool associated with a ``DBProxyTargetGroup`` .
15133
15183
 
15134
- :param connection_borrow_timeout: The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions. Default: ``120`` Constraints: - Must be between 0 and 3600.
15135
- :param init_query: Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with ``SET`` statements to make sure that each connection has identical settings. Make sure that the query you add is valid. To include multiple variables in a single ``SET`` statement, use comma separators. For example: ``SET variable1=value1, variable2=value2`` For multiple statements, use semicolons as the separator. Default: no initialization query
15184
+ :param connection_borrow_timeout: The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions. Default: ``120`` Constraints: - Must be between 0 and 300.
15185
+ :param init_query: Add an initialization query, or modify the current one. You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with ``SET`` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator. For example: ``SET variable1=value1, variable2=value2`` Default: no initialization query .. epigraph:: Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.
15136
15186
  :param max_connections_percent: The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the ``max_connections`` setting for the RDS DB instance or Aurora DB cluster used by the target group. If you specify ``MaxIdleConnectionsPercent`` , then you must also include a value for this parameter. Default: ``10`` for RDS for Microsoft SQL Server, and ``100`` for all other engines Constraints: - Must be between 1 and 100.
15137
15187
  :param max_idle_connections_percent: A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the ``max_connections`` setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database. If you specify this parameter, then you must also include a value for ``MaxConnectionsPercent`` . Default: The default value is half of the value of ``MaxConnectionsPercent`` . For example, if ``MaxConnectionsPercent`` is 80, then the default value of ``MaxIdleConnectionsPercent`` is 40. If the value of ``MaxConnectionsPercent`` isn't specified, then for SQL Server, ``MaxIdleConnectionsPercent`` is ``5`` , and for all other engines, the default is ``50`` . Constraints: - Must be between 0 and the value of ``MaxConnectionsPercent`` .
15138
15188
  :param session_pinning_filters: Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Default: no session pinning filters
@@ -15183,7 +15233,7 @@ class CfnDBProxyTargetGroup(
15183
15233
 
15184
15234
  Constraints:
15185
15235
 
15186
- - Must be between 0 and 3600.
15236
+ - Must be between 0 and 300.
15187
15237
 
15188
15238
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-connectionborrowtimeout
15189
15239
  '''
@@ -15194,13 +15244,14 @@ class CfnDBProxyTargetGroup(
15194
15244
  def init_query(self) -> typing.Optional[builtins.str]:
15195
15245
  '''Add an initialization query, or modify the current one.
15196
15246
 
15197
- You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with ``SET`` statements to make sure that each connection has identical settings. Make sure that the query you add is valid. To include multiple variables in a single ``SET`` statement, use comma separators.
15247
+ You can specify one or more SQL statements for the proxy to run when opening each new database connection. The setting is typically used with ``SET`` statements to make sure that each connection has identical settings. Make sure the query added here is valid. This is an optional field, so you can choose to leave it empty. For including multiple variables in a single SET statement, use a comma separator.
15198
15248
 
15199
15249
  For example: ``SET variable1=value1, variable2=value2``
15200
15250
 
15201
- For multiple statements, use semicolons as the separator.
15202
-
15203
15251
  Default: no initialization query
15252
+ .. epigraph::
15253
+
15254
+ Since you can access initialization query as part of target group configuration, it is not protected by authentication or cryptographic methods. Anyone with access to view or manage your proxy target group configuration can view the initialization query. You should not add sensitive data, such as passwords or long-lived encryption keys, to this option.
15204
15255
 
15205
15256
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat.html#cfn-rds-dbproxytargetgroup-connectionpoolconfigurationinfoformat-initquery
15206
15257
  '''
@@ -16194,7 +16245,7 @@ class CfnDBShardGroup(
16194
16245
  :param id: Construct identifier for this resource (unique in its scope).
16195
16246
  :param db_cluster_identifier: The name of the primary DB cluster for the DB shard group.
16196
16247
  :param max_acu: The maximum capacity of the DB shard group in Aurora capacity units (ACUs).
16197
- :param compute_redundancy: Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:. - 0 - Creates a DB shard group without a standby DB shard group. This is the default value. - 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ). - 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.
16248
+ :param compute_redundancy: Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following: - 0 - Creates a DB shard group without a standby DB data access shard. This is the default value. - 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ). - 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.
16198
16249
  :param db_shard_group_identifier: The name of the DB shard group.
16199
16250
  :param min_acu: The minimum capacity of the DB shard group in Aurora capacity units (ACUs).
16200
16251
  :param publicly_accessible: Specifies whether the DB shard group is publicly accessible. When the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it. When the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address. Default: The default behavior varies depending on whether ``DBSubnetGroupName`` is specified. If ``DBSubnetGroupName`` isn't specified, and ``PubliclyAccessible`` isn't specified, the following applies: - If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB shard group is private. - If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public. If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies: - If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB shard group is private. - If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.
@@ -16312,10 +16363,7 @@ class CfnDBShardGroup(
16312
16363
  @builtins.property
16313
16364
  @jsii.member(jsii_name="computeRedundancy")
16314
16365
  def compute_redundancy(self) -> typing.Optional[jsii.Number]:
16315
- '''Specifies whether to create standby DB shard groups for the DB shard group.
16316
-
16317
- Valid values are the following:.
16318
- '''
16366
+ '''Specifies whether to create standby standby DB data access shard for the DB shard group.'''
16319
16367
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "computeRedundancy"))
16320
16368
 
16321
16369
  @compute_redundancy.setter
@@ -16412,7 +16460,7 @@ class CfnDBShardGroupProps:
16412
16460
 
16413
16461
  :param db_cluster_identifier: The name of the primary DB cluster for the DB shard group.
16414
16462
  :param max_acu: The maximum capacity of the DB shard group in Aurora capacity units (ACUs).
16415
- :param compute_redundancy: Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:. - 0 - Creates a DB shard group without a standby DB shard group. This is the default value. - 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ). - 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.
16463
+ :param compute_redundancy: Specifies whether to create standby standby DB data access shard for the DB shard group. Valid values are the following: - 0 - Creates a DB shard group without a standby DB data access shard. This is the default value. - 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ). - 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.
16416
16464
  :param db_shard_group_identifier: The name of the DB shard group.
16417
16465
  :param min_acu: The minimum capacity of the DB shard group in Aurora capacity units (ACUs).
16418
16466
  :param publicly_accessible: Specifies whether the DB shard group is publicly accessible. When the DB shard group is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB shard group's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB shard group's VPC. Access to the DB shard group is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB shard group doesn't permit it. When the DB shard group isn't publicly accessible, it is an internal DB shard group with a DNS name that resolves to a private IP address. Default: The default behavior varies depending on whether ``DBSubnetGroupName`` is specified. If ``DBSubnetGroupName`` isn't specified, and ``PubliclyAccessible`` isn't specified, the following applies: - If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB shard group is private. - If the default VPC in the target Region has an internet gateway attached to it, the DB shard group is public. If ``DBSubnetGroupName`` is specified, and ``PubliclyAccessible`` isn't specified, the following applies: - If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB shard group is private. - If the subnets are part of a VPC that has an internet gateway attached to it, the DB shard group is public.
@@ -16488,11 +16536,13 @@ class CfnDBShardGroupProps:
16488
16536
 
16489
16537
  @builtins.property
16490
16538
  def compute_redundancy(self) -> typing.Optional[jsii.Number]:
16491
- '''Specifies whether to create standby DB shard groups for the DB shard group. Valid values are the following:.
16539
+ '''Specifies whether to create standby standby DB data access shard for the DB shard group.
16492
16540
 
16493
- - 0 - Creates a DB shard group without a standby DB shard group. This is the default value.
16494
- - 1 - Creates a DB shard group with a standby DB shard group in a different Availability Zone (AZ).
16495
- - 2 - Creates a DB shard group with two standby DB shard groups in two different AZs.
16541
+ Valid values are the following:
16542
+
16543
+ - 0 - Creates a DB shard group without a standby DB data access shard. This is the default value.
16544
+ - 1 - Creates a DB shard group with a standby DB data access shard in a different Availability Zone (AZ).
16545
+ - 2 - Creates a DB shard group with two standby DB data access shard in two different AZs.
16496
16546
 
16497
16547
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbshardgroup.html#cfn-rds-dbshardgroup-computeredundancy
16498
16548
  '''
@@ -18990,7 +19040,8 @@ class ClusterEngineConfig:
18990
19040
  cluster_engine_config = rds.ClusterEngineConfig(
18991
19041
  features=rds.ClusterEngineFeatures(
18992
19042
  s3_export="s3Export",
18993
- s3_import="s3Import"
19043
+ s3_import="s3Import",
19044
+ serverless_v2_auto_pause_supported=False
18994
19045
  ),
18995
19046
  parameter_group=parameter_group,
18996
19047
  port=123
@@ -19055,7 +19106,11 @@ class ClusterEngineConfig:
19055
19106
  @jsii.data_type(
19056
19107
  jsii_type="aws-cdk-lib.aws_rds.ClusterEngineFeatures",
19057
19108
  jsii_struct_bases=[],
19058
- name_mapping={"s3_export": "s3Export", "s3_import": "s3Import"},
19109
+ name_mapping={
19110
+ "s3_export": "s3Export",
19111
+ "s3_import": "s3Import",
19112
+ "serverless_v2_auto_pause_supported": "serverlessV2AutoPauseSupported",
19113
+ },
19059
19114
  )
19060
19115
  class ClusterEngineFeatures:
19061
19116
  def __init__(
@@ -19063,11 +19118,13 @@ class ClusterEngineFeatures:
19063
19118
  *,
19064
19119
  s3_export: typing.Optional[builtins.str] = None,
19065
19120
  s3_import: typing.Optional[builtins.str] = None,
19121
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
19066
19122
  ) -> None:
19067
19123
  '''Represents Database Engine features.
19068
19124
 
19069
19125
  :param s3_export: Feature name for the DB instance that the IAM role to export to S3 bucket is to be associated with. Default: - no s3Export feature name
19070
19126
  :param s3_import: Feature name for the DB instance that the IAM role to access the S3 bucket for import is to be associated with. Default: - no s3Import feature name
19127
+ :param serverless_v2_auto_pause_supported: Whether the DB cluster engine supports the Aurora ServerlessV2 auto-pause feature. Default: false
19071
19128
 
19072
19129
  :exampleMetadata: fixture=_generated
19073
19130
 
@@ -19079,18 +19136,22 @@ class ClusterEngineFeatures:
19079
19136
 
19080
19137
  cluster_engine_features = rds.ClusterEngineFeatures(
19081
19138
  s3_export="s3Export",
19082
- s3_import="s3Import"
19139
+ s3_import="s3Import",
19140
+ serverless_v2_auto_pause_supported=False
19083
19141
  )
19084
19142
  '''
19085
19143
  if __debug__:
19086
19144
  type_hints = typing.get_type_hints(_typecheckingstub__81f8847ffafe411308c4aa088976b7b6144a8df723e598bfb7c8321f44b4a587)
19087
19145
  check_type(argname="argument s3_export", value=s3_export, expected_type=type_hints["s3_export"])
19088
19146
  check_type(argname="argument s3_import", value=s3_import, expected_type=type_hints["s3_import"])
19147
+ check_type(argname="argument serverless_v2_auto_pause_supported", value=serverless_v2_auto_pause_supported, expected_type=type_hints["serverless_v2_auto_pause_supported"])
19089
19148
  self._values: typing.Dict[builtins.str, typing.Any] = {}
19090
19149
  if s3_export is not None:
19091
19150
  self._values["s3_export"] = s3_export
19092
19151
  if s3_import is not None:
19093
19152
  self._values["s3_import"] = s3_import
19153
+ if serverless_v2_auto_pause_supported is not None:
19154
+ self._values["serverless_v2_auto_pause_supported"] = serverless_v2_auto_pause_supported
19094
19155
 
19095
19156
  @builtins.property
19096
19157
  def s3_export(self) -> typing.Optional[builtins.str]:
@@ -19110,6 +19171,15 @@ class ClusterEngineFeatures:
19110
19171
  result = self._values.get("s3_import")
19111
19172
  return typing.cast(typing.Optional[builtins.str], result)
19112
19173
 
19174
+ @builtins.property
19175
+ def serverless_v2_auto_pause_supported(self) -> typing.Optional[builtins.bool]:
19176
+ '''Whether the DB cluster engine supports the Aurora ServerlessV2 auto-pause feature.
19177
+
19178
+ :default: false
19179
+ '''
19180
+ result = self._values.get("serverless_v2_auto_pause_supported")
19181
+ return typing.cast(typing.Optional[builtins.bool], result)
19182
+
19113
19183
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
19114
19184
  return isinstance(rhs, self.__class__) and rhs._values == self._values
19115
19185
 
@@ -21307,6 +21377,7 @@ class DatabaseClusterEngine(
21307
21377
  "s3_import_buckets": "s3ImportBuckets",
21308
21378
  "s3_import_role": "s3ImportRole",
21309
21379
  "security_groups": "securityGroups",
21380
+ "serverless_v2_auto_pause_duration": "serverlessV2AutoPauseDuration",
21310
21381
  "serverless_v2_max_capacity": "serverlessV2MaxCapacity",
21311
21382
  "serverless_v2_min_capacity": "serverlessV2MinCapacity",
21312
21383
  "snapshot_credentials": "snapshotCredentials",
@@ -21367,6 +21438,7 @@ class DatabaseClusterFromSnapshotProps:
21367
21438
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
21368
21439
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
21369
21440
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
21441
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
21370
21442
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
21371
21443
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
21372
21444
  snapshot_credentials: typing.Optional["SnapshotCredentials"] = None,
@@ -21424,6 +21496,7 @@ class DatabaseClusterFromSnapshotProps:
21424
21496
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
21425
21497
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
21426
21498
  :param security_groups: Security group. Default: - a new security group is created.
21499
+ :param serverless_v2_auto_pause_duration: Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours). Default: - The default is 300 seconds (5 minutes).
21427
21500
  :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
21428
21501
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5. Default: 0.5
21429
21502
  :param snapshot_credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
@@ -21500,6 +21573,7 @@ class DatabaseClusterFromSnapshotProps:
21500
21573
  check_type(argname="argument s3_import_buckets", value=s3_import_buckets, expected_type=type_hints["s3_import_buckets"])
21501
21574
  check_type(argname="argument s3_import_role", value=s3_import_role, expected_type=type_hints["s3_import_role"])
21502
21575
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
21576
+ check_type(argname="argument serverless_v2_auto_pause_duration", value=serverless_v2_auto_pause_duration, expected_type=type_hints["serverless_v2_auto_pause_duration"])
21503
21577
  check_type(argname="argument serverless_v2_max_capacity", value=serverless_v2_max_capacity, expected_type=type_hints["serverless_v2_max_capacity"])
21504
21578
  check_type(argname="argument serverless_v2_min_capacity", value=serverless_v2_min_capacity, expected_type=type_hints["serverless_v2_min_capacity"])
21505
21579
  check_type(argname="argument snapshot_credentials", value=snapshot_credentials, expected_type=type_hints["snapshot_credentials"])
@@ -21598,6 +21672,8 @@ class DatabaseClusterFromSnapshotProps:
21598
21672
  self._values["s3_import_role"] = s3_import_role
21599
21673
  if security_groups is not None:
21600
21674
  self._values["security_groups"] = security_groups
21675
+ if serverless_v2_auto_pause_duration is not None:
21676
+ self._values["serverless_v2_auto_pause_duration"] = serverless_v2_auto_pause_duration
21601
21677
  if serverless_v2_max_capacity is not None:
21602
21678
  self._values["serverless_v2_max_capacity"] = serverless_v2_max_capacity
21603
21679
  if serverless_v2_min_capacity is not None:
@@ -22135,6 +22211,19 @@ class DatabaseClusterFromSnapshotProps:
22135
22211
  result = self._values.get("security_groups")
22136
22212
  return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
22137
22213
 
22214
+ @builtins.property
22215
+ def serverless_v2_auto_pause_duration(self) -> typing.Optional[_Duration_4839e8c3]:
22216
+ '''Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.
22217
+
22218
+ The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours).
22219
+
22220
+ :default: - The default is 300 seconds (5 minutes).
22221
+
22222
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html
22223
+ '''
22224
+ result = self._values.get("serverless_v2_auto_pause_duration")
22225
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
22226
+
22138
22227
  @builtins.property
22139
22228
  def serverless_v2_max_capacity(self) -> typing.Optional[jsii.Number]:
22140
22229
  '''The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
@@ -22305,6 +22394,7 @@ class DatabaseClusterFromSnapshotProps:
22305
22394
  "s3_import_buckets": "s3ImportBuckets",
22306
22395
  "s3_import_role": "s3ImportRole",
22307
22396
  "security_groups": "securityGroups",
22397
+ "serverless_v2_auto_pause_duration": "serverlessV2AutoPauseDuration",
22308
22398
  "serverless_v2_max_capacity": "serverlessV2MaxCapacity",
22309
22399
  "serverless_v2_min_capacity": "serverlessV2MinCapacity",
22310
22400
  "storage_encrypted": "storageEncrypted",
@@ -22364,6 +22454,7 @@ class DatabaseClusterProps:
22364
22454
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
22365
22455
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
22366
22456
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
22457
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
22367
22458
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
22368
22459
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
22369
22460
  storage_encrypted: typing.Optional[builtins.bool] = None,
@@ -22420,6 +22511,7 @@ class DatabaseClusterProps:
22420
22511
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
22421
22512
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
22422
22513
  :param security_groups: Security group. Default: - a new security group is created.
22514
+ :param serverless_v2_auto_pause_duration: Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours). Default: - The default is 300 seconds (5 minutes).
22423
22515
  :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
22424
22516
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5. Default: 0.5
22425
22517
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
@@ -22437,20 +22529,19 @@ class DatabaseClusterProps:
22437
22529
  # vpc: ec2.Vpc
22438
22530
 
22439
22531
  cluster = rds.DatabaseCluster(self, "Database",
22440
- engine=rds.DatabaseClusterEngine.aurora_mysql(version=rds.AuroraMysqlEngineVersion.VER_3_01_0),
22441
- credentials=rds.Credentials.from_generated_secret("clusteradmin"), # Optional - will default to 'admin' username and generated password
22442
- writer=rds.ClusterInstance.provisioned("writer",
22443
- publicly_accessible=False
22444
- ),
22445
- readers=[
22446
- rds.ClusterInstance.provisioned("reader1", promotion_tier=1),
22447
- rds.ClusterInstance.serverless_v2("reader2")
22448
- ],
22449
- vpc_subnets=ec2.SubnetSelection(
22450
- subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS
22532
+ engine=rds.DatabaseClusterEngine.aurora_mysql(
22533
+ version=rds.AuroraMysqlEngineVersion.VER_3_03_0
22451
22534
  ),
22535
+ writer=rds.ClusterInstance.provisioned("writer"),
22452
22536
  vpc=vpc
22453
22537
  )
22538
+
22539
+ proxy = rds.DatabaseProxy(self, "Proxy",
22540
+ proxy_target=rds.ProxyTarget.from_cluster(cluster),
22541
+ secrets=[cluster.secret],
22542
+ vpc=vpc,
22543
+ client_password_auth_type=rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD
22544
+ )
22454
22545
  '''
22455
22546
  if isinstance(backup, dict):
22456
22547
  backup = BackupProps(**backup)
@@ -22504,6 +22595,7 @@ class DatabaseClusterProps:
22504
22595
  check_type(argname="argument s3_import_buckets", value=s3_import_buckets, expected_type=type_hints["s3_import_buckets"])
22505
22596
  check_type(argname="argument s3_import_role", value=s3_import_role, expected_type=type_hints["s3_import_role"])
22506
22597
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
22598
+ check_type(argname="argument serverless_v2_auto_pause_duration", value=serverless_v2_auto_pause_duration, expected_type=type_hints["serverless_v2_auto_pause_duration"])
22507
22599
  check_type(argname="argument serverless_v2_max_capacity", value=serverless_v2_max_capacity, expected_type=type_hints["serverless_v2_max_capacity"])
22508
22600
  check_type(argname="argument serverless_v2_min_capacity", value=serverless_v2_min_capacity, expected_type=type_hints["serverless_v2_min_capacity"])
22509
22601
  check_type(argname="argument storage_encrypted", value=storage_encrypted, expected_type=type_hints["storage_encrypted"])
@@ -22602,6 +22694,8 @@ class DatabaseClusterProps:
22602
22694
  self._values["s3_import_role"] = s3_import_role
22603
22695
  if security_groups is not None:
22604
22696
  self._values["security_groups"] = security_groups
22697
+ if serverless_v2_auto_pause_duration is not None:
22698
+ self._values["serverless_v2_auto_pause_duration"] = serverless_v2_auto_pause_duration
22605
22699
  if serverless_v2_max_capacity is not None:
22606
22700
  self._values["serverless_v2_max_capacity"] = serverless_v2_max_capacity
22607
22701
  if serverless_v2_min_capacity is not None:
@@ -23125,6 +23219,19 @@ class DatabaseClusterProps:
23125
23219
  result = self._values.get("security_groups")
23126
23220
  return typing.cast(typing.Optional[typing.List[_ISecurityGroup_acf8a799]], result)
23127
23221
 
23222
+ @builtins.property
23223
+ def serverless_v2_auto_pause_duration(self) -> typing.Optional[_Duration_4839e8c3]:
23224
+ '''Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it.
23225
+
23226
+ The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours).
23227
+
23228
+ :default: - The default is 300 seconds (5 minutes).
23229
+
23230
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-auto-pause.html
23231
+ '''
23232
+ result = self._values.get("serverless_v2_auto_pause_duration")
23233
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
23234
+
23128
23235
  @builtins.property
23129
23236
  def serverless_v2_max_capacity(self) -> typing.Optional[jsii.Number]:
23130
23237
  '''The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster.
@@ -31642,6 +31749,12 @@ class MariaDbEngineVersion(
31642
31749
  '''Version "10.11.11".'''
31643
31750
  return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_11_11"))
31644
31751
 
31752
+ @jsii.python.classproperty
31753
+ @jsii.member(jsii_name="VER_10_11_13")
31754
+ def VER_10_11_13(cls) -> "MariaDbEngineVersion":
31755
+ '''Version "10.11.13".'''
31756
+ return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_11_13"))
31757
+
31645
31758
  @jsii.python.classproperty
31646
31759
  @jsii.member(jsii_name="VER_10_11_4")
31647
31760
  def VER_10_11_4(cls) -> "MariaDbEngineVersion":
@@ -32288,6 +32401,12 @@ class MariaDbEngineVersion(
32288
32401
  '''Version "10.5.28".'''
32289
32402
  return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_5_28"))
32290
32403
 
32404
+ @jsii.python.classproperty
32405
+ @jsii.member(jsii_name="VER_10_5_29")
32406
+ def VER_10_5_29(cls) -> "MariaDbEngineVersion":
32407
+ '''Version "10.5.29".'''
32408
+ return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_5_29"))
32409
+
32291
32410
  @jsii.python.classproperty
32292
32411
  @jsii.member(jsii_name="VER_10_5_8")
32293
32412
  def VER_10_5_8(cls) -> "MariaDbEngineVersion":
@@ -32403,6 +32522,12 @@ class MariaDbEngineVersion(
32403
32522
  '''Version "10.6.21".'''
32404
32523
  return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_6_21"))
32405
32524
 
32525
+ @jsii.python.classproperty
32526
+ @jsii.member(jsii_name="VER_10_6_22")
32527
+ def VER_10_6_22(cls) -> "MariaDbEngineVersion":
32528
+ '''Version "10.6.22".'''
32529
+ return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_10_6_22"))
32530
+
32406
32531
  @jsii.python.classproperty
32407
32532
  @jsii.member(jsii_name="VER_10_6_5")
32408
32533
  def VER_10_6_5(cls) -> "MariaDbEngineVersion":
@@ -32454,6 +32579,12 @@ class MariaDbEngineVersion(
32454
32579
  '''Version "11.4.5".'''
32455
32580
  return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_11_4_5"))
32456
32581
 
32582
+ @jsii.python.classproperty
32583
+ @jsii.member(jsii_name="VER_11_4_7")
32584
+ def VER_11_4_7(cls) -> "MariaDbEngineVersion":
32585
+ '''Version "11.4.7".'''
32586
+ return typing.cast("MariaDbEngineVersion", jsii.sget(cls, "VER_11_4_7"))
32587
+
32457
32588
  @builtins.property
32458
32589
  @jsii.member(jsii_name="mariaDbFullVersion")
32459
32590
  def maria_db_full_version(self) -> builtins.str:
@@ -35928,6 +36059,12 @@ class PostgresEngineVersion(
35928
36059
  '''Version "11.22-RDS.20241121".'''
35929
36060
  return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20241121"))
35930
36061
 
36062
+ @jsii.python.classproperty
36063
+ @jsii.member(jsii_name="VER_11_22_RDS_20250508")
36064
+ def VER_11_22_RDS_20250508(cls) -> "PostgresEngineVersion":
36065
+ '''Version "11.22-rds.20250508".'''
36066
+ return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_11_22_RDS_20250508"))
36067
+
35931
36068
  @jsii.python.classproperty
35932
36069
  @jsii.member(jsii_name="VER_11_4")
35933
36070
  def VER_11_4(cls) -> "PostgresEngineVersion":
@@ -36149,6 +36286,12 @@ class PostgresEngineVersion(
36149
36286
  '''Version "12.22".'''
36150
36287
  return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_12_22"))
36151
36288
 
36289
+ @jsii.python.classproperty
36290
+ @jsii.member(jsii_name="VER_12_22_RDS_20250508")
36291
+ def VER_12_22_RDS_20250508(cls) -> "PostgresEngineVersion":
36292
+ '''Version "12.22-rds.20250508".'''
36293
+ return typing.cast("PostgresEngineVersion", jsii.sget(cls, "VER_12_22_RDS_20250508"))
36294
+
36152
36295
  @jsii.python.classproperty
36153
36296
  @jsii.member(jsii_name="VER_12_3")
36154
36297
  def VER_12_3(cls) -> "PostgresEngineVersion":
@@ -42677,6 +42820,7 @@ class DatabaseClusterFromSnapshot(
42677
42820
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
42678
42821
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
42679
42822
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
42823
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
42680
42824
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
42681
42825
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
42682
42826
  snapshot_credentials: typing.Optional[SnapshotCredentials] = None,
@@ -42735,6 +42879,7 @@ class DatabaseClusterFromSnapshot(
42735
42879
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
42736
42880
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
42737
42881
  :param security_groups: Security group. Default: - a new security group is created.
42882
+ :param serverless_v2_auto_pause_duration: Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours). Default: - The default is 300 seconds (5 minutes).
42738
42883
  :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
42739
42884
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5. Default: 0.5
42740
42885
  :param snapshot_credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
@@ -42795,6 +42940,7 @@ class DatabaseClusterFromSnapshot(
42795
42940
  s3_import_buckets=s3_import_buckets,
42796
42941
  s3_import_role=s3_import_role,
42797
42942
  security_groups=security_groups,
42943
+ serverless_v2_auto_pause_duration=serverless_v2_auto_pause_duration,
42798
42944
  serverless_v2_max_capacity=serverless_v2_max_capacity,
42799
42945
  serverless_v2_min_capacity=serverless_v2_min_capacity,
42800
42946
  snapshot_credentials=snapshot_credentials,
@@ -43127,6 +43273,11 @@ class DatabaseClusterFromSnapshot(
43127
43273
  '''The secret attached to this cluster.'''
43128
43274
  return typing.cast(typing.Optional[_ISecret_6e020e6a], jsii.get(self, "secret"))
43129
43275
 
43276
+ @builtins.property
43277
+ @jsii.member(jsii_name="serverlessV2AutoPauseDuration")
43278
+ def _serverless_v2_auto_pause_duration(self) -> typing.Optional[_Duration_4839e8c3]:
43279
+ return typing.cast(typing.Optional[_Duration_4839e8c3], jsii.get(self, "serverlessV2AutoPauseDuration"))
43280
+
43130
43281
  @builtins.property
43131
43282
  @jsii.member(jsii_name="vpcSubnets")
43132
43283
  def vpc_subnets(self) -> typing.Optional[_SubnetSelection_e57d76df]:
@@ -43886,19 +44037,18 @@ class DatabaseInstanceFromSnapshot(
43886
44037
 
43887
44038
  # vpc: ec2.Vpc
43888
44039
 
43889
- # source_instance: rds.DatabaseInstance
44040
+ engine = rds.DatabaseInstanceEngine.postgres(version=rds.PostgresEngineVersion.VER_16_3)
44041
+ my_key = kms.Key(self, "MyKey")
43890
44042
 
43891
- rds.DatabaseInstanceFromSnapshot(self, "Instance",
43892
- snapshot_identifier="my-snapshot",
43893
- engine=rds.DatabaseInstanceEngine.postgres(version=rds.PostgresEngineVersion.VER_16_3),
43894
- # optional, defaults to m5.large
43895
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.LARGE),
43896
- vpc=vpc
43897
- )
43898
- rds.DatabaseInstanceReadReplica(self, "ReadReplica",
43899
- source_database_instance=source_instance,
43900
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.LARGE),
43901
- vpc=vpc
44043
+ rds.DatabaseInstanceFromSnapshot(self, "InstanceFromSnapshotWithCustomizedSecret",
44044
+ engine=engine,
44045
+ vpc=vpc,
44046
+ snapshot_identifier="mySnapshot",
44047
+ credentials=rds.SnapshotCredentials.from_generated_secret("username",
44048
+ encryption_key=my_key,
44049
+ exclude_characters="!&*^#@()",
44050
+ replica_regions=[secretsmanager.ReplicaRegion(region="eu-west-1"), secretsmanager.ReplicaRegion(region="eu-west-2")]
44051
+ )
43902
44052
  )
43903
44053
  '''
43904
44054
 
@@ -43907,8 +44057,9 @@ class DatabaseInstanceFromSnapshot(
43907
44057
  scope: _constructs_77d1e7e8.Construct,
43908
44058
  id: builtins.str,
43909
44059
  *,
43910
- snapshot_identifier: builtins.str,
44060
+ cluster_snapshot_identifier: typing.Optional[builtins.str] = None,
43911
44061
  credentials: typing.Optional[SnapshotCredentials] = None,
44062
+ snapshot_identifier: typing.Optional[builtins.str] = None,
43912
44063
  engine: IInstanceEngine,
43913
44064
  allocated_storage: typing.Optional[jsii.Number] = None,
43914
44065
  allow_major_version_upgrade: typing.Optional[builtins.bool] = None,
@@ -43963,8 +44114,9 @@ class DatabaseInstanceFromSnapshot(
43963
44114
  '''
43964
44115
  :param scope: -
43965
44116
  :param id: -
43966
- :param snapshot_identifier: The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.
44117
+ :param cluster_snapshot_identifier: The identifier for the Multi-AZ DB cluster snapshot to restore from. For more information on Multi-AZ DB clusters, see `Multi-AZ DB cluster deployments <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html>`_ in the *Amazon RDS User Guide* . Constraints: - Can't be specified when ``snapshotIdentifier`` is specified. - Must be specified when ``snapshotIdentifier`` isn't specified. - If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``clusterSnapshotIdentifier`` must be the ARN of the shared snapshot. - Can't be the identifier of an Aurora DB cluster snapshot. Default: - None
43967
44118
  :param credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
44119
+ :param snapshot_identifier: The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. Constraints: - Can't be specified when ``clusterSnapshotIdentifier`` is specified. - Must be specified when ``clusterSnapshotIdentifier`` isn't specified. Default: - None
43968
44120
  :param engine: The database engine.
43969
44121
  :param allocated_storage: The allocated storage size, specified in gibibytes (GiB). Default: 100
43970
44122
  :param allow_major_version_upgrade: Whether to allow major version upgrades. Default: false
@@ -44021,8 +44173,9 @@ class DatabaseInstanceFromSnapshot(
44021
44173
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
44022
44174
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
44023
44175
  props = DatabaseInstanceFromSnapshotProps(
44024
- snapshot_identifier=snapshot_identifier,
44176
+ cluster_snapshot_identifier=cluster_snapshot_identifier,
44025
44177
  credentials=credentials,
44178
+ snapshot_identifier=snapshot_identifier,
44026
44179
  engine=engine,
44027
44180
  allocated_storage=allocated_storage,
44028
44181
  allow_major_version_upgrade=allow_major_version_upgrade,
@@ -44333,8 +44486,9 @@ class DatabaseInstanceFromSnapshot(
44333
44486
  "license_model": "licenseModel",
44334
44487
  "parameters": "parameters",
44335
44488
  "timezone": "timezone",
44336
- "snapshot_identifier": "snapshotIdentifier",
44489
+ "cluster_snapshot_identifier": "clusterSnapshotIdentifier",
44337
44490
  "credentials": "credentials",
44491
+ "snapshot_identifier": "snapshotIdentifier",
44338
44492
  },
44339
44493
  )
44340
44494
  class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
@@ -44391,8 +44545,9 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
44391
44545
  license_model: typing.Optional[LicenseModel] = None,
44392
44546
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
44393
44547
  timezone: typing.Optional[builtins.str] = None,
44394
- snapshot_identifier: builtins.str,
44548
+ cluster_snapshot_identifier: typing.Optional[builtins.str] = None,
44395
44549
  credentials: typing.Optional[SnapshotCredentials] = None,
44550
+ snapshot_identifier: typing.Optional[builtins.str] = None,
44396
44551
  ) -> None:
44397
44552
  '''Construction properties for a DatabaseInstanceFromSnapshot.
44398
44553
 
@@ -44446,8 +44601,9 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
44446
44601
  :param license_model: The license model. Default: - RDS default license model
44447
44602
  :param parameters: The parameters in the DBParameterGroup to create automatically. You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup. Default: - None
44448
44603
  :param timezone: The time zone of the instance. This is currently supported only by Microsoft Sql Server. Default: - RDS default timezone
44449
- :param snapshot_identifier: The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.
44604
+ :param cluster_snapshot_identifier: The identifier for the Multi-AZ DB cluster snapshot to restore from. For more information on Multi-AZ DB clusters, see `Multi-AZ DB cluster deployments <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html>`_ in the *Amazon RDS User Guide* . Constraints: - Can't be specified when ``snapshotIdentifier`` is specified. - Must be specified when ``snapshotIdentifier`` isn't specified. - If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``clusterSnapshotIdentifier`` must be the ARN of the shared snapshot. - Can't be the identifier of an Aurora DB cluster snapshot. Default: - None
44450
44605
  :param credentials: Master user credentials. Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password. Default: - The existing username and password from the snapshot will be used.
44606
+ :param snapshot_identifier: The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. Constraints: - Can't be specified when ``clusterSnapshotIdentifier`` is specified. - Must be specified when ``clusterSnapshotIdentifier`` isn't specified. Default: - None
44451
44607
 
44452
44608
  :exampleMetadata: infused
44453
44609
 
@@ -44455,19 +44611,18 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
44455
44611
 
44456
44612
  # vpc: ec2.Vpc
44457
44613
 
44458
- # source_instance: rds.DatabaseInstance
44614
+ engine = rds.DatabaseInstanceEngine.postgres(version=rds.PostgresEngineVersion.VER_16_3)
44615
+ my_key = kms.Key(self, "MyKey")
44459
44616
 
44460
- rds.DatabaseInstanceFromSnapshot(self, "Instance",
44461
- snapshot_identifier="my-snapshot",
44462
- engine=rds.DatabaseInstanceEngine.postgres(version=rds.PostgresEngineVersion.VER_16_3),
44463
- # optional, defaults to m5.large
44464
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.LARGE),
44465
- vpc=vpc
44466
- )
44467
- rds.DatabaseInstanceReadReplica(self, "ReadReplica",
44468
- source_database_instance=source_instance,
44469
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.LARGE),
44470
- vpc=vpc
44617
+ rds.DatabaseInstanceFromSnapshot(self, "InstanceFromSnapshotWithCustomizedSecret",
44618
+ engine=engine,
44619
+ vpc=vpc,
44620
+ snapshot_identifier="mySnapshot",
44621
+ credentials=rds.SnapshotCredentials.from_generated_secret("username",
44622
+ encryption_key=my_key,
44623
+ exclude_characters="!&*^#@()",
44624
+ replica_regions=[secretsmanager.ReplicaRegion(region="eu-west-1"), secretsmanager.ReplicaRegion(region="eu-west-2")]
44625
+ )
44471
44626
  )
44472
44627
  '''
44473
44628
  if isinstance(processor_features, dict):
@@ -44526,12 +44681,12 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
44526
44681
  check_type(argname="argument license_model", value=license_model, expected_type=type_hints["license_model"])
44527
44682
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
44528
44683
  check_type(argname="argument timezone", value=timezone, expected_type=type_hints["timezone"])
44529
- check_type(argname="argument snapshot_identifier", value=snapshot_identifier, expected_type=type_hints["snapshot_identifier"])
44684
+ check_type(argname="argument cluster_snapshot_identifier", value=cluster_snapshot_identifier, expected_type=type_hints["cluster_snapshot_identifier"])
44530
44685
  check_type(argname="argument credentials", value=credentials, expected_type=type_hints["credentials"])
44686
+ check_type(argname="argument snapshot_identifier", value=snapshot_identifier, expected_type=type_hints["snapshot_identifier"])
44531
44687
  self._values: typing.Dict[builtins.str, typing.Any] = {
44532
44688
  "vpc": vpc,
44533
44689
  "engine": engine,
44534
- "snapshot_identifier": snapshot_identifier,
44535
44690
  }
44536
44691
  if apply_immediately is not None:
44537
44692
  self._values["apply_immediately"] = apply_immediately
@@ -44629,8 +44784,12 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
44629
44784
  self._values["parameters"] = parameters
44630
44785
  if timezone is not None:
44631
44786
  self._values["timezone"] = timezone
44787
+ if cluster_snapshot_identifier is not None:
44788
+ self._values["cluster_snapshot_identifier"] = cluster_snapshot_identifier
44632
44789
  if credentials is not None:
44633
44790
  self._values["credentials"] = credentials
44791
+ if snapshot_identifier is not None:
44792
+ self._values["snapshot_identifier"] = snapshot_identifier
44634
44793
 
44635
44794
  @builtins.property
44636
44795
  def vpc(self) -> _IVpc_f30d5663:
@@ -45191,15 +45350,24 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
45191
45350
  return typing.cast(typing.Optional[builtins.str], result)
45192
45351
 
45193
45352
  @builtins.property
45194
- def snapshot_identifier(self) -> builtins.str:
45195
- '''The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance.
45353
+ def cluster_snapshot_identifier(self) -> typing.Optional[builtins.str]:
45354
+ '''The identifier for the Multi-AZ DB cluster snapshot to restore from.
45196
45355
 
45197
- If you're restoring from a shared manual DB
45198
- snapshot, you must specify the ARN of the snapshot.
45356
+ For more information on Multi-AZ DB clusters, see `Multi-AZ DB cluster deployments <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html>`_ in the *Amazon RDS User Guide* .
45357
+
45358
+ Constraints:
45359
+
45360
+ - Can't be specified when ``snapshotIdentifier`` is specified.
45361
+ - Must be specified when ``snapshotIdentifier`` isn't specified.
45362
+ - If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``clusterSnapshotIdentifier`` must be the ARN of the shared snapshot.
45363
+ - Can't be the identifier of an Aurora DB cluster snapshot.
45364
+
45365
+ :default: - None
45366
+
45367
+ :see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromMultiAZDBClusterSnapshot.html
45199
45368
  '''
45200
- result = self._values.get("snapshot_identifier")
45201
- assert result is not None, "Required property 'snapshot_identifier' is missing"
45202
- return typing.cast(builtins.str, result)
45369
+ result = self._values.get("cluster_snapshot_identifier")
45370
+ return typing.cast(typing.Optional[builtins.str], result)
45203
45371
 
45204
45372
  @builtins.property
45205
45373
  def credentials(self) -> typing.Optional[SnapshotCredentials]:
@@ -45213,6 +45381,22 @@ class DatabaseInstanceFromSnapshotProps(DatabaseInstanceSourceProps):
45213
45381
  result = self._values.get("credentials")
45214
45382
  return typing.cast(typing.Optional[SnapshotCredentials], result)
45215
45383
 
45384
+ @builtins.property
45385
+ def snapshot_identifier(self) -> typing.Optional[builtins.str]:
45386
+ '''The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance.
45387
+
45388
+ If you're restoring from a shared manual DB
45389
+ snapshot, you must specify the ARN of the snapshot.
45390
+ Constraints:
45391
+
45392
+ - Can't be specified when ``clusterSnapshotIdentifier`` is specified.
45393
+ - Must be specified when ``clusterSnapshotIdentifier`` isn't specified.
45394
+
45395
+ :default: - None
45396
+ '''
45397
+ result = self._values.get("snapshot_identifier")
45398
+ return typing.cast(typing.Optional[builtins.str], result)
45399
+
45216
45400
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
45217
45401
  return isinstance(rhs, self.__class__) and rhs._values == self._values
45218
45402
 
@@ -46822,20 +47006,19 @@ class DatabaseCluster(
46822
47006
  # vpc: ec2.Vpc
46823
47007
 
46824
47008
  cluster = rds.DatabaseCluster(self, "Database",
46825
- engine=rds.DatabaseClusterEngine.aurora_mysql(version=rds.AuroraMysqlEngineVersion.VER_3_01_0),
46826
- credentials=rds.Credentials.from_generated_secret("clusteradmin"), # Optional - will default to 'admin' username and generated password
46827
- writer=rds.ClusterInstance.provisioned("writer",
46828
- publicly_accessible=False
46829
- ),
46830
- readers=[
46831
- rds.ClusterInstance.provisioned("reader1", promotion_tier=1),
46832
- rds.ClusterInstance.serverless_v2("reader2")
46833
- ],
46834
- vpc_subnets=ec2.SubnetSelection(
46835
- subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS
47009
+ engine=rds.DatabaseClusterEngine.aurora_mysql(
47010
+ version=rds.AuroraMysqlEngineVersion.VER_3_03_0
46836
47011
  ),
47012
+ writer=rds.ClusterInstance.provisioned("writer"),
46837
47013
  vpc=vpc
46838
47014
  )
47015
+
47016
+ proxy = rds.DatabaseProxy(self, "Proxy",
47017
+ proxy_target=rds.ProxyTarget.from_cluster(cluster),
47018
+ secrets=[cluster.secret],
47019
+ vpc=vpc,
47020
+ client_password_auth_type=rds.ClientPasswordAuthType.MYSQL_NATIVE_PASSWORD
47021
+ )
46839
47022
  '''
46840
47023
 
46841
47024
  def __init__(
@@ -46887,6 +47070,7 @@ class DatabaseCluster(
46887
47070
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
46888
47071
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
46889
47072
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
47073
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
46890
47074
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
46891
47075
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
46892
47076
  storage_encrypted: typing.Optional[builtins.bool] = None,
@@ -46944,6 +47128,7 @@ class DatabaseCluster(
46944
47128
  :param s3_import_buckets: S3 buckets that you want to load data from. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportRole`` is used. For MySQL: Default: - None
46945
47129
  :param s3_import_role: Role that will be associated with this DB cluster to enable S3 import. This feature is only supported by the Aurora database engine. This property must not be used if ``s3ImportBuckets`` is used. To use this property with Aurora PostgreSQL, it must be configured with the S3 import feature enabled when creating the DatabaseClusterEngine For MySQL: Default: - New role is created if ``s3ImportBuckets`` is set, no role is defined otherwise
46946
47130
  :param security_groups: Security group. Default: - a new security group is created.
47131
+ :param serverless_v2_auto_pause_duration: Specifies the duration an Aurora Serverless v2 DB instance must be idle before Aurora attempts to automatically pause it. The duration must be between 300 seconds (5 minutes) and 86,400 seconds (24 hours). Default: - The default is 300 seconds (5 minutes).
46947
47132
  :param serverless_v2_max_capacity: The maximum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 40, 40.5, 41, and so on. The largest value that you can use is 256. The maximum capacity must be higher than 0.5 ACUs. Default: 2
46948
47133
  :param serverless_v2_min_capacity: The minimum number of Aurora capacity units (ACUs) for a DB instance in an Aurora Serverless v2 cluster. You can specify ACU values in half-step increments, such as 8, 8.5, 9, and so on. The smallest value that you can use is 0. For Aurora versions that support the Aurora Serverless v2 auto-pause feature, the smallest value that you can use is 0. For versions that don't support Aurora Serverless v2 auto-pause, the smallest value that you can use is 0.5. Default: 0.5
46949
47134
  :param storage_encrypted: Whether to enable storage encryption. Default: - true if storageEncryptionKey is provided, false otherwise
@@ -47003,6 +47188,7 @@ class DatabaseCluster(
47003
47188
  s3_import_buckets=s3_import_buckets,
47004
47189
  s3_import_role=s3_import_role,
47005
47190
  security_groups=security_groups,
47191
+ serverless_v2_auto_pause_duration=serverless_v2_auto_pause_duration,
47006
47192
  serverless_v2_max_capacity=serverless_v2_max_capacity,
47007
47193
  serverless_v2_min_capacity=serverless_v2_min_capacity,
47008
47194
  storage_encrypted=storage_encrypted,
@@ -47389,6 +47575,11 @@ class DatabaseCluster(
47389
47575
  '''The secret attached to this cluster.'''
47390
47576
  return typing.cast(typing.Optional[_ISecret_6e020e6a], jsii.get(self, "secret"))
47391
47577
 
47578
+ @builtins.property
47579
+ @jsii.member(jsii_name="serverlessV2AutoPauseDuration")
47580
+ def _serverless_v2_auto_pause_duration(self) -> typing.Optional[_Duration_4839e8c3]:
47581
+ return typing.cast(typing.Optional[_Duration_4839e8c3], jsii.get(self, "serverlessV2AutoPauseDuration"))
47582
+
47392
47583
  @builtins.property
47393
47584
  @jsii.member(jsii_name="vpcSubnets")
47394
47585
  def vpc_subnets(self) -> typing.Optional[_SubnetSelection_e57d76df]:
@@ -48033,6 +48224,7 @@ def _typecheckingstub__b814dd981cca1ca2c5c82455e0e07de3c617842b40c164fd2d5e0c0ce
48033
48224
  *,
48034
48225
  s3_export: typing.Optional[builtins.bool] = None,
48035
48226
  s3_import: typing.Optional[builtins.bool] = None,
48227
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
48036
48228
  ) -> None:
48037
48229
  """Type checking stubs"""
48038
48230
  pass
@@ -48043,6 +48235,7 @@ def _typecheckingstub__98ade0032a588940a6a5692a85f772441fd63ea4236e4018d1aa1b1ef
48043
48235
  *,
48044
48236
  s3_export: typing.Optional[builtins.bool] = None,
48045
48237
  s3_import: typing.Optional[builtins.bool] = None,
48238
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
48046
48239
  ) -> None:
48047
48240
  """Type checking stubs"""
48048
48241
  pass
@@ -50507,6 +50700,7 @@ def _typecheckingstub__81f8847ffafe411308c4aa088976b7b6144a8df723e598bfb7c8321f4
50507
50700
  *,
50508
50701
  s3_export: typing.Optional[builtins.str] = None,
50509
50702
  s3_import: typing.Optional[builtins.str] = None,
50703
+ serverless_v2_auto_pause_supported: typing.Optional[builtins.bool] = None,
50510
50704
  ) -> None:
50511
50705
  """Type checking stubs"""
50512
50706
  pass
@@ -50710,6 +50904,7 @@ def _typecheckingstub__1e44b5aef872ca17869a17181382f06cd0166bdbe07e2c33701d3bf1e
50710
50904
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
50711
50905
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
50712
50906
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
50907
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
50713
50908
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
50714
50909
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
50715
50910
  snapshot_credentials: typing.Optional[SnapshotCredentials] = None,
@@ -50770,6 +50965,7 @@ def _typecheckingstub__a32e21c90ab65d3cfdb3b7ef2a0d741ba1528ec8824cd1817d1e485b4
50770
50965
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
50771
50966
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
50772
50967
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
50968
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
50773
50969
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
50774
50970
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
50775
50971
  storage_encrypted: typing.Optional[builtins.bool] = None,
@@ -52005,6 +52201,7 @@ def _typecheckingstub__d1a2e259091e12a41b0f5818df495769518e049ebcc89ed340ffc7ba4
52005
52201
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
52006
52202
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
52007
52203
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
52204
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
52008
52205
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
52009
52206
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
52010
52207
  snapshot_credentials: typing.Optional[SnapshotCredentials] = None,
@@ -52149,8 +52346,9 @@ def _typecheckingstub__dbf7e60a650d0a1bea1826814200716f46cd1f59eea36a42193653d7f
52149
52346
  scope: _constructs_77d1e7e8.Construct,
52150
52347
  id: builtins.str,
52151
52348
  *,
52152
- snapshot_identifier: builtins.str,
52349
+ cluster_snapshot_identifier: typing.Optional[builtins.str] = None,
52153
52350
  credentials: typing.Optional[SnapshotCredentials] = None,
52351
+ snapshot_identifier: typing.Optional[builtins.str] = None,
52154
52352
  engine: IInstanceEngine,
52155
52353
  allocated_storage: typing.Optional[jsii.Number] = None,
52156
52354
  allow_major_version_upgrade: typing.Optional[builtins.bool] = None,
@@ -52284,8 +52482,9 @@ def _typecheckingstub__f06d86058a0a7538eb7dbf55de032c8cf05f7fa7b4ab5d5c1d47f7617
52284
52482
  license_model: typing.Optional[LicenseModel] = None,
52285
52483
  parameters: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
52286
52484
  timezone: typing.Optional[builtins.str] = None,
52287
- snapshot_identifier: builtins.str,
52485
+ cluster_snapshot_identifier: typing.Optional[builtins.str] = None,
52288
52486
  credentials: typing.Optional[SnapshotCredentials] = None,
52487
+ snapshot_identifier: typing.Optional[builtins.str] = None,
52289
52488
  ) -> None:
52290
52489
  """Type checking stubs"""
52291
52490
  pass
@@ -52513,6 +52712,7 @@ def _typecheckingstub__c6184cbbefaa372690b9776dafecbf5857cf9bfbab91d1666aad22c56
52513
52712
  s3_import_buckets: typing.Optional[typing.Sequence[_IBucket_42e086fd]] = None,
52514
52713
  s3_import_role: typing.Optional[_IRole_235f5d8e] = None,
52515
52714
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
52715
+ serverless_v2_auto_pause_duration: typing.Optional[_Duration_4839e8c3] = None,
52516
52716
  serverless_v2_max_capacity: typing.Optional[jsii.Number] = None,
52517
52717
  serverless_v2_min_capacity: typing.Optional[jsii.Number] = None,
52518
52718
  storage_encrypted: typing.Optional[builtins.bool] = None,