Show / Hide Table of Contents

Interface IServerlessClusterProps

Properties for a new Aurora Serverless v1 Cluster.

Namespace: Amazon.CDK.AWS.RDS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IServerlessClusterProps
Syntax (vb)
Public Interface IServerlessClusterProps
Remarks

ExampleMetadata: infused

Examples
// Build a data source for AppSync to access the database.
            GraphqlApi api;
            // Create username and password secret for DB Cluster
            var secret = new DatabaseSecret(this, "AuroraSecret", new DatabaseSecretProps {
                Username = "clusteradmin"
            });

            // The VPC to place the cluster in
            var vpc = new Vpc(this, "AuroraVpc");

            // Create the serverless cluster, provide all values needed to customise the database.
            var cluster = new ServerlessCluster(this, "AuroraCluster", new ServerlessClusterProps {
                Engine = DatabaseClusterEngine.AURORA_MYSQL,
                Vpc = vpc,
                Credentials = new Dictionary<string, string> { { "username", "clusteradmin" } },
                ClusterIdentifier = "db-endpoint-test",
                DefaultDatabaseName = "demos"
            });
            var rdsDS = api.AddRdsDataSource("rds", cluster, secret, "demos");

            // Set up a resolver for an RDS query.
            rdsDS.CreateResolver("QueryGetDemosRdsResolver", new BaseResolverProps {
                TypeName = "Query",
                FieldName = "getDemosRds",
                RequestMappingTemplate = MappingTemplate.FromString(@"
                  {
                    ""version"": ""2018-05-29"",
                    ""statements"": [
                      ""SELECT * FROM demos""
                    ]
                  }
                  "),
                ResponseMappingTemplate = MappingTemplate.FromString(@"
                    $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])
                  ")
            });

            // Set up a resolver for an RDS mutation.
            rdsDS.CreateResolver("MutationAddDemoRdsResolver", new BaseResolverProps {
                TypeName = "Mutation",
                FieldName = "addDemoRds",
                RequestMappingTemplate = MappingTemplate.FromString(@"
                  {
                    ""version"": ""2018-05-29"",
                    ""statements"": [
                      ""INSERT INTO demos VALUES (:id, :version)"",
                      ""SELECT * WHERE id = :id""
                    ],
                    ""variableMap"": {
                      "":id"": $util.toJson($util.autoId()),
                      "":version"": $util.toJson($ctx.args.version)
                    }
                  }
                  "),
                ResponseMappingTemplate = MappingTemplate.FromString(@"
                    $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])
                  ")
            });

Synopsis

Properties

BackupRetention

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

ClusterIdentifier

An optional identifier for the cluster.

CopyTagsToSnapshot

Whether to copy tags to the snapshot when a snapshot is created.

Credentials

Credentials for the administrative user.

DefaultDatabaseName

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

DeletionProtection

Indicates whether the DB cluster should have deletion protection enabled.

EnableDataApi

Whether to enable the Data API.

Engine

What kind of database to start.

ParameterGroup

Additional parameters to pass to the database engine.

RemovalPolicy

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

Scaling

Scaling configuration of an Aurora Serverless database cluster.

SecurityGroups

Security group.

StorageEncryptionKey

The KMS key for storage encryption.

SubnetGroup

Existing subnet group for the cluster.

Vpc

The VPC that this Aurora Serverless v1 Cluster has been created in.

VpcSubnets

Where to place the instances within the VPC.

Properties

BackupRetention

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

Duration? BackupRetention { get; }
Property Value

Duration

Remarks

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

Default: Duration.days(1)

ClusterIdentifier

An optional identifier for the cluster.

string? ClusterIdentifier { get; }
Property Value

string

Remarks

Default: - A name is automatically generated.

CopyTagsToSnapshot

Whether to copy tags to the snapshot when a snapshot is created.

bool? CopyTagsToSnapshot { get; }
Property Value

bool?

Remarks

Default: - true

Credentials

Credentials for the administrative user.

Credentials? Credentials { get; }
Property Value

Credentials

Remarks

Default: - A username of 'admin' and SecretsManager-generated password

DefaultDatabaseName

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

string? DefaultDatabaseName { get; }
Property Value

string

Remarks

Default: - Database is not created in cluster.

DeletionProtection

Indicates whether the DB cluster should have deletion protection enabled.

bool? DeletionProtection { get; }
Property Value

bool?

Remarks

Default: - true if removalPolicy is RETAIN, false otherwise

EnableDataApi

Whether to enable the Data API.

bool? EnableDataApi { get; }
Property Value

bool?

Remarks

Default: false

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

Engine

What kind of database to start.

IClusterEngine Engine { get; }
Property Value

IClusterEngine

Remarks

ExampleMetadata: infused

ParameterGroup

Additional parameters to pass to the database engine.

IParameterGroup? ParameterGroup { get; }
Property Value

IParameterGroup

Remarks

Default: - no parameter group.

RemovalPolicy

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

RemovalPolicy? RemovalPolicy { get; }
Property Value

RemovalPolicy?

Remarks

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

Scaling

Scaling configuration of an Aurora Serverless database cluster.

IServerlessScalingOptions? Scaling { get; }
Property Value

IServerlessScalingOptions

Remarks

Default: - Serverless cluster is automatically paused after 5 minutes of being idle. minimum capacity: 2 ACU maximum capacity: 16 ACU

SecurityGroups

Security group.

ISecurityGroup[]? SecurityGroups { get; }
Property Value

ISecurityGroup[]

Remarks

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.

StorageEncryptionKey

The KMS key for storage encryption.

IKey? StorageEncryptionKey { get; }
Property Value

IKey

Remarks

Default: - the default master key will be used for storage encryption

SubnetGroup

Existing subnet group for the cluster.

ISubnetGroup? SubnetGroup { get; }
Property Value

ISubnetGroup

Remarks

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 v1 Cluster has been created in.

IVpc? Vpc { get; }
Property Value

IVpc

Remarks

Default: - the default VPC in the account and region will be used

VpcSubnets

Where to place the instances within the VPC.

ISubnetSelection? VpcSubnets { get; }
Property Value

ISubnetSelection

Remarks

If provided, the vpc property must also be specified.

Default: - the VPC default strategy if not specified.

Back to top Generated by DocFX