Class ServerlessCluster
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.rds.ServerlessCluster
- All Implemented Interfaces:
IResource
,IConnectable
,IServerlessCluster
,ISecretAttachmentTarget
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.102.0 (build e354887)",
date="2024-08-29T22:54:24.660Z")
@Stability(Stable)
public class ServerlessCluster
extends Resource
implements IServerlessCluster
Create an Aurora Serverless v1 Cluster.
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("QueryGetDemosRdsResolver", 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("MutationAddDemoRdsResolver", 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());
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.rds.IServerlessCluster
IServerlessCluster.Jsii$Default, IServerlessCluster.Jsii$Proxy
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ServerlessCluster
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
ServerlessCluster
(software.amazon.jsii.JsiiObjectRef objRef) ServerlessCluster
(software.constructs.Construct scope, String id, ServerlessClusterProps props) -
Method Summary
Modifier and TypeMethodDescriptionaddRotationMultiUser
(String id, RotationMultiUserOptions options) Adds the multi user rotation to this cluster.Adds the single user rotation of the master password to this cluster.Adds the single user rotation of the master password to this cluster.Renders the secret attachment target specifications.static IServerlessCluster
fromServerlessClusterAttributes
(software.constructs.Construct scope, String id, ServerlessClusterAttributes attrs) Import an existing DatabaseCluster from properties.The ARN of the cluster.The endpoint to use for read/write operations.Identifier of the cluster.The endpoint to use for read/write operations.Access to the network connections.protected Boolean
protected CfnDBClusterProps
The secret attached to this cluster.protected List<ISecurityGroup>
grantDataApiAccess
(IGrantable grantee) Grant the given identity to access to the Data API, including read access to the secret attached to the cluster if present.protected void
setEnableDataApi
(Boolean value) Methods inherited from class software.amazon.awscdk.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isOwnedResource, isResource
Methods inherited from class software.constructs.Construct
getNode, isConstruct, toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.constructs.IConstruct
getNode
Methods inherited from interface software.amazon.awscdk.IResource
applyRemovalPolicy, getEnv, getStack
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Constructor Details
-
ServerlessCluster
protected ServerlessCluster(software.amazon.jsii.JsiiObjectRef objRef) -
ServerlessCluster
protected ServerlessCluster(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
ServerlessCluster
@Stability(Stable) public ServerlessCluster(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull ServerlessClusterProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.
-
-
Method Details
-
fromServerlessClusterAttributes
@Stability(Stable) @NotNull public static IServerlessCluster fromServerlessClusterAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull ServerlessClusterAttributes attrs) Import an existing DatabaseCluster from properties.- Parameters:
scope
- This parameter is required.id
- This parameter is required.attrs
- This parameter is required.
-
addRotationMultiUser
@Stability(Stable) @NotNull public SecretRotation addRotationMultiUser(@NotNull String id, @NotNull RotationMultiUserOptions options) Adds the multi user rotation to this cluster.- Parameters:
id
- This parameter is required.options
- This parameter is required.
-
addRotationSingleUser
@Stability(Stable) @NotNull public SecretRotation addRotationSingleUser(@Nullable RotationSingleUserOptions options) Adds the single user rotation of the master password to this cluster.- Parameters:
options
-
-
addRotationSingleUser
Adds the single user rotation of the master password to this cluster. -
asSecretAttachmentTarget
Renders the secret attachment target specifications.- Specified by:
asSecretAttachmentTarget
in interfaceISecretAttachmentTarget
-
grantDataApiAccess
Grant the given identity to access to the Data API, including read access to the secret attached to the cluster if present.- Specified by:
grantDataApiAccess
in interfaceIServerlessCluster
- Parameters:
grantee
- The principal to grant access to. This parameter is required.
-
getClusterArn
The ARN of the cluster.- Specified by:
getClusterArn
in interfaceIServerlessCluster
-
getClusterEndpoint
The endpoint to use for read/write operations.- Specified by:
getClusterEndpoint
in interfaceIServerlessCluster
-
getClusterIdentifier
Identifier of the cluster.- Specified by:
getClusterIdentifier
in interfaceIServerlessCluster
-
getClusterReadEndpoint
The endpoint to use for read/write operations.- Specified by:
getClusterReadEndpoint
in interfaceIServerlessCluster
-
getConnections
Access to the network connections.- Specified by:
getConnections
in interfaceIConnectable
-
getNewCfnProps
-
getSecurityGroups
-
getSecret
The secret attached to this cluster. -
getEnableDataApi
-
setEnableDataApi
-