ServerlessClusterProps

class aws_cdk.aws_rds.ServerlessClusterProps(*, engine, backup_retention=None, cluster_identifier=None, credentials=None, default_database_name=None, deletion_protection=None, enable_data_api=None, parameter_group=None, removal_policy=None, scaling=None, security_groups=None, storage_encryption_key=None, subnet_group=None, vpc=None, vpc_subnets=None)

Bases: object

Properties for a new Aurora Serverless Cluster.

Parameters
  • engine (IClusterEngine) – What kind of database to start.

  • backup_retention (Optional[Duration]) – The number of days during which automatic DB snapshots are retained. Automatic backup retention cannot be disabled on serverless clusters. Must be a value from 1 day to 35 days. Default: Duration.days(1)

  • cluster_identifier (Optional[str]) – An optional identifier for the cluster. Default: - A name is automatically generated.

  • credentials (Optional[Credentials]) – Credentials for the administrative user. Default: - A username of ‘admin’ and SecretsManager-generated password

  • default_database_name (Optional[str]) – Name of a database which is automatically created inside the cluster. Default: - Database is not created in cluster.

  • deletion_protection (Optional[bool]) – Indicates whether the DB cluster should have deletion protection enabled. Default: - true if removalPolicy is RETAIN, false otherwise

  • enable_data_api (Optional[bool]) – Whether to enable the Data API. Default: false

  • parameter_group (Optional[IParameterGroup]) – Additional parameters to pass to the database engine. Default: - no parameter group.

  • removal_policy (Optional[RemovalPolicy]) – The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update. Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data)

  • scaling (Union[ServerlessScalingOptions, Dict[str, Any], None]) – Scaling configuration of an Aurora Serverless database cluster. Default: - Serverless cluster is automatically paused after 5 minutes of being idle. minimum capacity: 2 ACU maximum capacity: 16 ACU

  • security_groups (Optional[Sequence[ISecurityGroup]]) – Security group. Default: - a new security group is created if vpc was provided. If the vpc property was not provided, no VPC security groups will be associated with the DB cluster.

  • storage_encryption_key (Optional[IKey]) – The KMS key for storage encryption. Default: - the default master key will be used for storage encryption

  • subnet_group (Optional[ISubnetGroup]) – Existing subnet group for the cluster. Default: - a new subnet group is created if vpc was provided. If the vpc property was not provided, no subnet group will be associated with the DB cluster

  • vpc (Optional[IVpc]) – The VPC that this Aurora Serverless cluster has been created in. Default: - the default VPC in the account and region will be used

  • vpc_subnets (Union[SubnetSelection, Dict[str, Any], None]) – Where to place the instances within the VPC. If provided, the vpc property must also be specified. Default: - the VPC default strategy if not specified.

ExampleMetadata

infused

Example:

# vpc: ec2.Vpc

# code: lambda.Code


cluster = rds.ServerlessCluster(self, "AnotherCluster",
    engine=rds.DatabaseClusterEngine.AURORA_MYSQL,
    vpc=vpc,  # this parameter is optional for serverless Clusters
    enable_data_api=True
)
fn = lambda_.Function(self, "MyFunction",
    runtime=lambda_.Runtime.NODEJS_14_X,
    handler="index.handler",
    code=code,
    environment={
        "CLUSTER_ARN": cluster.cluster_arn,
        "SECRET_ARN": cluster.secret.secret_arn
    }
)
cluster.grant_data_api_access(fn)

Attributes

backup_retention

The number of days during which automatic DB snapshots are retained.

Automatic backup retention cannot be disabled on serverless clusters. Must be a value from 1 day to 35 days.

Default

Duration.days(1)

cluster_identifier

An optional identifier for the cluster.

Default
  • A name is automatically generated.

credentials

Credentials for the administrative user.

Default
  • A username of ‘admin’ and SecretsManager-generated password

default_database_name

Name of a database which is automatically created inside the cluster.

Default
  • Database is not created in cluster.

deletion_protection

Indicates whether the DB cluster should have deletion protection enabled.

Default
  • true if removalPolicy is RETAIN, false otherwise

enable_data_api

Whether to enable the Data API.

Default

false

See

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html

engine

What kind of database to start.

parameter_group

Additional parameters to pass to the database engine.

Default
  • no parameter group.

removal_policy

The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.

Default
  • RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data)

scaling

Scaling configuration of an Aurora Serverless database cluster.

Default

  • Serverless cluster is automatically paused after 5 minutes of being idle.

minimum capacity: 2 ACU maximum capacity: 16 ACU

security_groups

Security group.

Default

  • a new security group is created if vpc was provided.

If the vpc property was not provided, no VPC security groups will be associated with the DB cluster.

storage_encryption_key

The KMS key for storage encryption.

Default
  • the default master key will be used for storage encryption

subnet_group

Existing subnet group for the cluster.

Default

  • a new subnet group is created if vpc was provided.

If the vpc property was not provided, no subnet group will be associated with the DB cluster

vpc

The VPC that this Aurora Serverless cluster has been created in.

Default
  • the default VPC in the account and region will be used

vpc_subnets

Where to place the instances within the VPC.

If provided, the vpc property must also be specified.

Default
  • the VPC default strategy if not specified.