class CfnDBClusterPropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.RDS.Mixins.CfnDBClusterPropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsrds/mixins#CfnDBClusterPropsMixin |
Java | software.amazon.awscdk.mixins.preview.services.rds.mixins.CfnDBClusterPropsMixin |
Python | aws_cdk.mixins_preview.aws_rds.mixins.CfnDBClusterPropsMixin |
TypeScript | @aws-cdk/mixins-preview » aws_rds » mixins » CfnDBClusterPropsMixin |
Implements
IMixin
Extends
Mixin
The AWS::RDS::DBCluster resource creates an Amazon Aurora DB cluster or Multi-AZ DB cluster.
For more information about creating an Aurora DB cluster, see Creating an Amazon Aurora DB cluster in the Amazon Aurora User Guide .
For more information about creating a Multi-AZ DB cluster, see Creating a Multi-AZ DB cluster in the Amazon RDS User Guide .
You can only create this resource in AWS Regions where Amazon Aurora or Multi-AZ DB clusters are supported.
Updating DB clusters
When properties labeled " Update requires: Replacement " are updated, AWS CloudFormation first creates a replacement DB cluster, then changes references from other dependent resources to point to the replacement DB cluster, and finally deletes the old DB cluster.
We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when AWS CloudFormation replaces your DB cluster. To preserve your data, perform the following procedure:
- Deactivate any applications that are using the DB cluster so that there's no activity on the DB instance.
- Create a snapshot of the DB cluster. For more information, see Creating a DB cluster snapshot .
- If you want to restore your DB cluster using a DB cluster snapshot, modify the updated template with your DB cluster changes and add the
SnapshotIdentifierproperty with the ID of the DB cluster snapshot that you want to use.After you restore a DB cluster with a
SnapshotIdentifierproperty, you must specify the sameSnapshotIdentifierproperty for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the DB cluster snapshot again, and the data in the database is not changed. However, if you don't specify theSnapshotIdentifierproperty, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, a new DB cluster is restored from the specifiedSnapshotIdentifierproperty, and the original DB cluster is deleted.
- Update the stack.
Currently, when you are updating the stack for an Aurora Serverless DB cluster, you can't include changes to any other properties when you specify one of the following properties: PreferredBackupWindow , PreferredMaintenanceWindow , and Port . This limitation doesn't apply to provisioned DB clusters.
For more information about updating other properties of this resource, see [ModifyDBCluster](https://docs.aws.amazon.com//AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) . For more information about updating stacks, see AWS CloudFormation Stacks Updates .
Deleting DB clusters
The default DeletionPolicy for AWS::RDS::DBCluster resources is Snapshot . For more information about how AWS CloudFormation deletes resources, see DeletionPolicy Attribute .
See also: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins } from '@aws-cdk/mixins-preview';
import { mixins as rds_mixins } from '@aws-cdk/mixins-preview/aws-rds';
const cfnDBClusterPropsMixin = new rds_mixins.CfnDBClusterPropsMixin({
allocatedStorage: 123,
associatedRoles: [{
featureName: 'featureName',
roleArn: 'roleArn',
}],
autoMinorVersionUpgrade: false,
availabilityZones: ['availabilityZones'],
backtrackWindow: 123,
backupRetentionPeriod: 123,
clusterScalabilityType: 'clusterScalabilityType',
copyTagsToSnapshot: false,
databaseInsightsMode: 'databaseInsightsMode',
databaseName: 'databaseName',
dbClusterIdentifier: 'dbClusterIdentifier',
dbClusterInstanceClass: 'dbClusterInstanceClass',
dbClusterParameterGroupName: 'dbClusterParameterGroupName',
dbInstanceParameterGroupName: 'dbInstanceParameterGroupName',
dbSubnetGroupName: 'dbSubnetGroupName',
dbSystemId: 'dbSystemId',
deleteAutomatedBackups: false,
deletionProtection: false,
domain: 'domain',
domainIamRoleName: 'domainIamRoleName',
enableCloudwatchLogsExports: ['enableCloudwatchLogsExports'],
enableGlobalWriteForwarding: false,
enableHttpEndpoint: false,
enableIamDatabaseAuthentication: false,
enableLocalWriteForwarding: false,
engine: 'engine',
engineLifecycleSupport: 'engineLifecycleSupport',
engineMode: 'engineMode',
engineVersion: 'engineVersion',
globalClusterIdentifier: 'globalClusterIdentifier',
iops: 123,
kmsKeyId: 'kmsKeyId',
manageMasterUserPassword: false,
masterUserAuthenticationType: 'masterUserAuthenticationType',
masterUsername: 'masterUsername',
masterUserPassword: 'masterUserPassword',
masterUserSecret: {
kmsKeyId: 'kmsKeyId',
secretArn: 'secretArn',
},
monitoringInterval: 123,
monitoringRoleArn: 'monitoringRoleArn',
networkType: 'networkType',
performanceInsightsEnabled: false,
performanceInsightsKmsKeyId: 'performanceInsightsKmsKeyId',
performanceInsightsRetentionPeriod: 123,
port: 123,
preferredBackupWindow: 'preferredBackupWindow',
preferredMaintenanceWindow: 'preferredMaintenanceWindow',
publiclyAccessible: false,
replicationSourceIdentifier: 'replicationSourceIdentifier',
restoreToTime: 'restoreToTime',
restoreType: 'restoreType',
scalingConfiguration: {
autoPause: false,
maxCapacity: 123,
minCapacity: 123,
secondsBeforeTimeout: 123,
secondsUntilAutoPause: 123,
timeoutAction: 'timeoutAction',
},
serverlessV2ScalingConfiguration: {
maxCapacity: 123,
minCapacity: 123,
secondsUntilAutoPause: 123,
},
snapshotIdentifier: 'snapshotIdentifier',
sourceDbClusterIdentifier: 'sourceDbClusterIdentifier',
sourceDbClusterResourceId: 'sourceDbClusterResourceId',
sourceRegion: 'sourceRegion',
storageEncrypted: false,
storageType: 'storageType',
tags: [{
key: 'key',
value: 'value',
}],
useLatestRestorableTime: false,
vpcSecurityGroupIds: ['vpcSecurityGroupIds'],
}, /* all optional props */ {
strategy: mixins.PropertyMergeStrategy.OVERRIDE,
});
Initializer
new CfnDBClusterPropsMixin(props: CfnDBClusterMixinProps, options?: CfnPropertyMixinOptions)
Parameters
- props
Cfn— L1 properties to apply.DBCluster Mixin Props - options
Cfn— Mixin options.Property Mixin Options
Create a mixin to apply properties to AWS::RDS::DBCluster.
Properties
| Name | Type | Description |
|---|---|---|
| props | Cfn | |
| strategy | Property | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
Property
static CFN_PROPERTY_KEYS
Type:
string[]
Methods
| Name | Description |
|---|---|
| apply | Apply the mixin properties to the construct. |
| supports(construct) | Check if this mixin supports the given construct. |
applyTo(construct)
public applyTo(construct: IConstruct): IConstruct
Parameters
- construct
IConstruct
Returns
Apply the mixin properties to the construct.
supports(construct)
public supports(construct: IConstruct): boolean
Parameters
- construct
IConstruct
Returns
boolean
Check if this mixin supports the given construct.

.NET
Go
Java
Python
TypeScript