@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:41.507Z") @Stability(value=Stable) public interface ServerlessClusterProps extends software.amazon.jsii.JsiiSerializable
Example:
// Build a data source for AppSync to access the database.
GraphqlApi api;
// Create username and password secret for DB Cluster
DatabaseSecret secret = DatabaseSecret.Builder.create(this, "AuroraSecret")
.username("clusteradmin")
.build();
// The VPC to place the cluster in
Vpc vpc = new Vpc(this, "AuroraVpc");
// Create the serverless cluster, provide all values needed to customise the database.
ServerlessCluster cluster = ServerlessCluster.Builder.create(this, "AuroraCluster")
.engine(DatabaseClusterEngine.AURORA_MYSQL)
.vpc(vpc)
.credentials(Map.of("username", "clusteradmin"))
.clusterIdentifier("db-endpoint-test")
.defaultDatabaseName("demos")
.build();
RdsDataSource rdsDS = api.addRdsDataSource("rds", cluster, secret, "demos");
// Set up a resolver for an RDS query.
rdsDS.createResolver(BaseResolverProps.builder()
.typeName("Query")
.fieldName("getDemosRds")
.requestMappingTemplate(MappingTemplate.fromString("\n {\n \"version\": \"2018-05-29\",\n \"statements\": [\n \"SELECT * FROM demos\"\n ]\n }\n "))
.responseMappingTemplate(MappingTemplate.fromString("\n $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])\n "))
.build());
// Set up a resolver for an RDS mutation.
rdsDS.createResolver(BaseResolverProps.builder()
.typeName("Mutation")
.fieldName("addDemoRds")
.requestMappingTemplate(MappingTemplate.fromString("\n {\n \"version\": \"2018-05-29\",\n \"statements\": [\n \"INSERT INTO demos VALUES (:id, :version)\",\n \"SELECT * WHERE id = :id\"\n ],\n \"variableMap\": {\n \":id\": $util.toJson($util.autoId()),\n \":version\": $util.toJson($ctx.args.version)\n }\n }\n "))
.responseMappingTemplate(MappingTemplate.fromString("\n $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])\n "))
.build());
| Modifier and Type | Interface and Description |
|---|---|
static class |
ServerlessClusterProps.Builder
A builder for
ServerlessClusterProps |
static class |
ServerlessClusterProps.Jsii$Proxy
An implementation for
ServerlessClusterProps |
| Modifier and Type | Method and Description |
|---|---|
static ServerlessClusterProps.Builder |
builder() |
default Duration |
getBackupRetention()
The number of days during which automatic DB snapshots are retained.
|
default String |
getClusterIdentifier()
An optional identifier for the cluster.
|
default Boolean |
getCopyTagsToSnapshot()
Whether to copy tags to the snapshot when a snapshot is created.
|
default Credentials |
getCredentials()
Credentials for the administrative user.
|
default String |
getDefaultDatabaseName()
Name of a database which is automatically created inside the cluster.
|
default Boolean |
getDeletionProtection()
Indicates whether the DB cluster should have deletion protection enabled.
|
default Boolean |
getEnableDataApi()
Whether to enable the Data API.
|
IClusterEngine |
getEngine()
What kind of database to start.
|
default IParameterGroup |
getParameterGroup()
Additional parameters to pass to the database engine.
|
default RemovalPolicy |
getRemovalPolicy()
The removal policy to apply when the cluster and its instances are removed from the stack or replaced during an update.
|
default ServerlessScalingOptions |
getScaling()
Scaling configuration of an Aurora Serverless database cluster.
|
default List<ISecurityGroup> |
getSecurityGroups()
Security group.
|
default IKey |
getStorageEncryptionKey()
The KMS key for storage encryption.
|
default ISubnetGroup |
getSubnetGroup()
Existing subnet group for the cluster.
|
default IVpc |
getVpc()
The VPC that this Aurora Serverless cluster has been created in.
|
default SubnetSelection |
getVpcSubnets()
Where to place the instances within the VPC.
|
@Stability(value=Stable) @NotNull IClusterEngine getEngine()
@Stability(value=Stable) @Nullable default Duration getBackupRetention()
Automatic backup retention cannot be disabled on serverless clusters. Must be a value from 1 day to 35 days.
Default: Duration.days(1)
@Stability(value=Stable) @Nullable default String getClusterIdentifier()
Default: - A name is automatically generated.
@Stability(value=Stable) @Nullable default Boolean getCopyTagsToSnapshot()
Default: - true
@Stability(value=Stable) @Nullable default Credentials getCredentials()
Default: - A username of 'admin' and SecretsManager-generated password
@Stability(value=Stable) @Nullable default String getDefaultDatabaseName()
Default: - Database is not created in cluster.
@Stability(value=Stable) @Nullable default Boolean getDeletionProtection()
Default: - true if removalPolicy is RETAIN, false otherwise
@Stability(value=Stable) @Nullable default Boolean getEnableDataApi()
Default: false
@Stability(value=Stable) @Nullable default IParameterGroup getParameterGroup()
Default: - no parameter group.
@Stability(value=Stable) @Nullable default RemovalPolicy getRemovalPolicy()
Default: - RemovalPolicy.SNAPSHOT (remove the cluster and instances, but retain a snapshot of the data)
@Stability(value=Stable) @Nullable default ServerlessScalingOptions getScaling()
Default: - Serverless cluster is automatically paused after 5 minutes of being idle. minimum capacity: 2 ACU maximum capacity: 16 ACU
@Stability(value=Stable) @Nullable default List<ISecurityGroup> getSecurityGroups()
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.
@Stability(value=Stable) @Nullable default IKey getStorageEncryptionKey()
Default: - the default master key will be used for storage encryption
@Stability(value=Stable) @Nullable default ISubnetGroup getSubnetGroup()
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
@Stability(value=Stable) @Nullable default IVpc getVpc()
Default: - the default VPC in the account and region will be used
@Stability(value=Stable) @Nullable default SubnetSelection getVpcSubnets()
If provided, the vpc property must also be specified.
Default: - the VPC default strategy if not specified.
@Stability(value=Stable) static ServerlessClusterProps.Builder builder()
ServerlessClusterProps.Builder of ServerlessClusterPropsCopyright © 2022. All rights reserved.