Class DatabaseCluster
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.rds.DatabaseClusterBase
software.amazon.awscdk.services.rds.DatabaseCluster
- All Implemented Interfaces:
IResource
,IConnectable
,IDatabaseCluster
,ISecretAttachmentTarget
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.104.0 (build e79254c)",
date="2024-12-17T21:37:37.991Z")
@Stability(Stable)
public class DatabaseCluster
extends DatabaseClusterBase
Create a clustered database with a given number of instances.
Example:
Vpc vpc; DatabaseCluster cluster = DatabaseCluster.Builder.create(this, "Database") .engine(DatabaseClusterEngine.auroraMysql(AuroraMysqlClusterEngineProps.builder().version(AuroraMysqlEngineVersion.VER_3_01_0).build())) .writer(ClusterInstance.provisioned("writer", ProvisionedClusterInstanceProps.builder() .instanceType(InstanceType.of(InstanceClass.R6G, InstanceSize.XLARGE4)) .build())) .serverlessV2MinCapacity(6.5) .serverlessV2MaxCapacity(64) .readers(List.of(ClusterInstance.serverlessV2("reader1", ServerlessV2ClusterInstanceProps.builder().scaleWithWriter(true).build()), ClusterInstance.serverlessV2("reader2"))) .vpc(vpc) .build();
-
Nested Class Summary
Nested 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.services.rds.IDatabaseCluster
IDatabaseCluster.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default
-
Constructor Summary
ModifierConstructorDescriptionprotected
DatabaseCluster
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
DatabaseCluster
(software.amazon.jsii.JsiiObjectRef objRef) DatabaseCluster
(software.constructs.Construct scope, String id, DatabaseClusterProps 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.static IDatabaseCluster
fromDatabaseClusterAttributes
(software.constructs.Construct scope, String id, DatabaseClusterAttributes attrs) Import an existing DatabaseCluster from properties.The log group is created whencloudwatchLogsExports
is set.The endpoint to use for read/write operations.Identifier of the cluster.Endpoint to use for load-balanced read-only operations.The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP.Access to the network connections.protected Boolean
The engine for this Cluster.protected Boolean
Endpoints which address each individual replica.Identifiers of the replicas.The IAM role for the enhanced monitoring.Application for multi user rotation to this cluster.protected CfnDBClusterProps
The AWS KMS key for encryption of Performance Insights data.The amount of time, in days, to retain Performance Insights data.Whether Performance Insights is enabled at cluster level.The secret attached to this cluster.protected List<ISecurityGroup>
protected Number
protected Number
Application for single user rotation of the master password to this cluster.protected ISubnetGroup
getVpc()
The VPC network to place the cluster in.The cluster's subnets.This value is represented as a percentage.This value is represented as a percentage.As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster.As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster.protected void
setEnableDataApi
(Boolean value) protected void
setHasServerlessInstance
(Boolean value) Methods inherited from class software.amazon.awscdk.services.rds.DatabaseClusterBase
addProxy, asSecretAttachmentTarget, getClusterArn, grantConnect, grantDataApiAccess, metric, metric, metricCPUUtilization, metricCPUUtilization, metricDatabaseConnections, metricDatabaseConnections, metricDeadlocks, metricDeadlocks, metricEngineUptime, metricEngineUptime, metricFreeableMemory, metricFreeableMemory, metricFreeLocalStorage, metricFreeLocalStorage, metricNetworkReceiveThroughput, metricNetworkReceiveThroughput, metricNetworkThroughput, metricNetworkThroughput, metricNetworkTransmitThroughput, metricNetworkTransmitThroughput, metricSnapshotStorageUsed, metricSnapshotStorageUsed, metricTotalBackupStorageBilled, metricTotalBackupStorageBilled, metricVolumeBytesUsed, metricVolumeBytesUsed, metricVolumeReadIOPs, metricVolumeReadIOPs, metricVolumeWriteIOPs, metricVolumeWriteIOPs
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
-
DatabaseCluster
protected DatabaseCluster(software.amazon.jsii.JsiiObjectRef objRef) -
DatabaseCluster
protected DatabaseCluster(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
DatabaseCluster
@Stability(Stable) public DatabaseCluster(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull DatabaseClusterProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.
-
-
Method Details
-
fromDatabaseClusterAttributes
@Stability(Stable) @NotNull public static IDatabaseCluster fromDatabaseClusterAttributes(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull DatabaseClusterAttributes 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. -
metricACUUtilization
This value is represented as a percentage.It's calculated as the value of the ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster.
If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can. Consider increasing the maximum ACU setting for the cluster.
- Parameters:
props
-
-
metricACUUtilization
This value is represented as a percentage.It's calculated as the value of the ServerlessDatabaseCapacity metric divided by the maximum ACU value of the DB cluster.
If this metric approaches a value of 100.0, the DB instance has scaled up as high as it can. Consider increasing the maximum ACU setting for the cluster.
-
metricServerlessDatabaseCapacity
@Stability(Stable) @NotNull public Metric metricServerlessDatabaseCapacity(@Nullable MetricOptions props) As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster.- Parameters:
props
-
-
metricServerlessDatabaseCapacity
As a cluster-level metric, it represents the average of the ServerlessDatabaseCapacity values of all the Aurora Serverless v2 DB instances in the cluster. -
getCloudwatchLogGroups
The log group is created whencloudwatchLogsExports
is set.Each export value will create a separate log group.
-
getClusterEndpoint
The endpoint to use for read/write operations.- Specified by:
getClusterEndpoint
in interfaceIDatabaseCluster
- Specified by:
getClusterEndpoint
in classDatabaseClusterBase
-
getClusterIdentifier
Identifier of the cluster.- Specified by:
getClusterIdentifier
in interfaceIDatabaseCluster
- Specified by:
getClusterIdentifier
in classDatabaseClusterBase
-
getClusterReadEndpoint
Endpoint to use for load-balanced read-only operations.- Specified by:
getClusterReadEndpoint
in interfaceIDatabaseCluster
- Specified by:
getClusterReadEndpoint
in classDatabaseClusterBase
-
getClusterResourceIdentifier
The immutable identifier for the cluster; for example: cluster-ABCD1234EFGH5678IJKL90MNOP.This AWS Region-unique identifier is used in things like IAM authentication policies.
- Specified by:
getClusterResourceIdentifier
in interfaceIDatabaseCluster
- Specified by:
getClusterResourceIdentifier
in classDatabaseClusterBase
-
getConnections
Access to the network connections.- Specified by:
getConnections
in interfaceIConnectable
- Specified by:
getConnections
in classDatabaseClusterBase
-
getInstanceEndpoints
Endpoints which address each individual replica.- Specified by:
getInstanceEndpoints
in interfaceIDatabaseCluster
- Specified by:
getInstanceEndpoints
in classDatabaseClusterBase
-
getInstanceIdentifiers
Identifiers of the replicas.- Specified by:
getInstanceIdentifiers
in interfaceIDatabaseCluster
- Specified by:
getInstanceIdentifiers
in classDatabaseClusterBase
-
getMultiUserRotationApplication
Application for multi user rotation to this cluster. -
getNewCfnProps
-
getPerformanceInsightsEnabled
Whether Performance Insights is enabled at cluster level. -
getSecurityGroups
-
getServerlessV2MaxCapacity
-
getServerlessV2MinCapacity
-
getSingleUserRotationApplication
Application for single user rotation of the master password to this cluster. -
getSubnetGroup
-
getVpc
The VPC network to place the cluster in. -
getEngine
The engine for this Cluster.Never undefined.
- Specified by:
getEngine
in interfaceIDatabaseCluster
- Specified by:
getEngine
in classDatabaseClusterBase
-
getMonitoringRole
The IAM role for the enhanced monitoring. -
getPerformanceInsightEncryptionKey
The AWS KMS key for encryption of Performance Insights data. -
getPerformanceInsightRetention
The amount of time, in days, to retain Performance Insights data. -
getSecret
The secret attached to this cluster.- Specified by:
getSecret
in classDatabaseClusterBase
-
getVpcSubnets
The cluster's subnets. -
getEnableDataApi
- Specified by:
getEnableDataApi
in classDatabaseClusterBase
-
setEnableDataApi
- Specified by:
setEnableDataApi
in classDatabaseClusterBase
-
getHasServerlessInstance
-
setHasServerlessInstance
-