Class CfnDBCluster
A CloudFormation AWS::RDS::DBCluster
.
Inherited Members
Namespace: Amazon.CDK.AWS.RDS
Assembly: Amazon.CDK.AWS.RDS.dll
Syntax (csharp)
public class CfnDBCluster : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnDBCluster
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
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:
After you restore a DB cluster with a SnapshotIdentifier
property, you must specify the same SnapshotIdentifier
property 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 the SnapshotIdentifier
property, 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 specified SnapshotIdentifier
property, and the original DB cluster is deleted.
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
. 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 .
CloudformationResource: AWS::RDS::DBCluster
Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.RDS;
var cfnDBCluster = new CfnDBCluster(this, "MyCfnDBCluster", new CfnDBClusterProps {
AllocatedStorage = 123,
AssociatedRoles = new [] { new DBClusterRoleProperty {
RoleArn = "roleArn",
// the properties below are optional
FeatureName = "featureName"
} },
AutoMinorVersionUpgrade = false,
AvailabilityZones = new [] { "availabilityZones" },
BacktrackWindow = 123,
BackupRetentionPeriod = 123,
CopyTagsToSnapshot = false,
DatabaseName = "databaseName",
DbClusterIdentifier = "dbClusterIdentifier",
DbClusterInstanceClass = "dbClusterInstanceClass",
DbClusterParameterGroupName = "dbClusterParameterGroupName",
DbInstanceParameterGroupName = "dbInstanceParameterGroupName",
DbSubnetGroupName = "dbSubnetGroupName",
DbSystemId = "dbSystemId",
DeletionProtection = false,
Domain = "domain",
DomainIamRoleName = "domainIamRoleName",
EnableCloudwatchLogsExports = new [] { "enableCloudwatchLogsExports" },
EnableHttpEndpoint = false,
EnableIamDatabaseAuthentication = false,
Engine = "engine",
EngineMode = "engineMode",
EngineVersion = "engineVersion",
GlobalClusterIdentifier = "globalClusterIdentifier",
Iops = 123,
KmsKeyId = "kmsKeyId",
ManageMasterUserPassword = false,
MasterUsername = "masterUsername",
MasterUserPassword = "masterUserPassword",
MasterUserSecret = new MasterUserSecretProperty {
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 = new ScalingConfigurationProperty {
AutoPause = false,
MaxCapacity = 123,
MinCapacity = 123,
SecondsBeforeTimeout = 123,
SecondsUntilAutoPause = 123,
TimeoutAction = "timeoutAction"
},
ServerlessV2ScalingConfiguration = new ServerlessV2ScalingConfigurationProperty {
MaxCapacity = 123,
MinCapacity = 123
},
SnapshotIdentifier = "snapshotIdentifier",
SourceDbClusterIdentifier = "sourceDbClusterIdentifier",
SourceRegion = "sourceRegion",
StorageEncrypted = false,
StorageType = "storageType",
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
UseLatestRestorableTime = false,
VpcSecurityGroupIds = new [] { "vpcSecurityGroupIds" }
});
Synopsis
Constructors
CfnDBCluster(Construct, String, ICfnDBClusterProps) | Create a new |
CfnDBCluster(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnDBCluster(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
Properties
AllocatedStorage | The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster. |
AssociatedRoles | Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. |
AttrDbClusterArn | The Amazon Resource Name (ARN) for the DB cluster. |
AttrDbClusterResourceId | The AWS Region -unique, immutable identifier for the DB cluster. |
AttrEndpointAddress | The connection endpoint for the DB cluster. |
AttrEndpointPort | The port number that will accept connections on this DB cluster. |
AttrMasterUserSecretSecretArn | The Amazon Resource Name (ARN) of the secret. |
AttrReadEndpointAddress | The reader endpoint for the DB cluster. |
AutoMinorVersionUpgrade | A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window. |
AvailabilityZones | A list of Availability Zones (AZs) where instances in the DB cluster can be created. |
BacktrackWindow | The target backtrack window, in seconds. To disable backtracking, set this value to 0. |
BackupRetentionPeriod | The number of days for which automated backups are retained. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
CopyTagsToSnapshot | A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. |
DatabaseName | The name of your database. |
DbClusterIdentifier | The DB cluster identifier. This parameter is stored as a lowercase string. |
DbClusterInstanceClass | The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all AWS Regions , or for all database engines. |
DbClusterParameterGroupName | The name of the DB cluster parameter group to associate with this DB cluster. |
DbInstanceParameterGroupName | The name of the DB parameter group to apply to all instances of the DB cluster. |
DbSubnetGroupName | A DB subnet group that you want to associate with this DB cluster. |
DbSystemId | Reserved for future use. |
DeletionProtection | A value that indicates whether the DB cluster has deletion protection enabled. |
Domain | Indicates the directory ID of the Active Directory to create the DB cluster. |
DomainIamRoleName | Specifies the name of the IAM role to use when making API calls to the Directory Service. |
EnableCloudwatchLogsExports | The list of log types that need to be enabled for exporting to CloudWatch Logs. |
EnableHttpEndpoint | A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. |
EnableIamDatabaseAuthentication | A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. |
Engine | The name of the database engine to be used for this DB cluster. |
EngineMode | The DB engine mode of the DB cluster, either |
EngineVersion | The version number of the database engine to use. |
GlobalClusterIdentifier | If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster. |
Iops | The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. |
KmsKeyId | The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as |
ManageMasterUserPassword | A value that indicates whether to manage the master user password with AWS Secrets Manager. |
MasterUsername | The name of the master user for the DB cluster. |
MasterUserPassword | The master password for the DB instance. |
MasterUserSecret | Contains the secret managed by RDS in AWS Secrets Manager for the master user password. |
MonitoringInterval | The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster. |
MonitoringRoleArn | The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs. |
NetworkType | The network type of the DB cluster. |
PerformanceInsightsEnabled | A value that indicates whether to turn on Performance Insights for the DB cluster. |
PerformanceInsightsKmsKeyId | The AWS KMS key identifier for encryption of Performance Insights data. |
PerformanceInsightsRetentionPeriod | The number of days to retain Performance Insights data. The default is 7 days. The following values are valid:. |
Port | The port number on which the DB instances in the DB cluster accept connections. |
PreferredBackupWindow | The daily time range during which automated backups are created. |
PreferredMaintenanceWindow | The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). |
PubliclyAccessible | A value that indicates whether the DB cluster is publicly accessible. |
ReplicationSourceIdentifier | The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica. |
RestoreToTime | The date and time to restore the DB cluster to. |
RestoreType | The type of restore to be performed. You can specify one of the following values:. |
ScalingConfiguration | The |
ServerlessV2ScalingConfiguration | The |
SnapshotIdentifier | The identifier for the DB snapshot or DB cluster snapshot to restore from. |
SourceDbClusterIdentifier | When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore. |
SourceRegion | The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, |
StorageEncrypted | Indicates whether the DB cluster is encrypted. |
StorageType | Specifies the storage type to be associated with the DB cluster. |
Tags | An optional array of key-value pairs to apply to this DB cluster. |
UseLatestRestorableTime | A value that indicates whether to restore the DB cluster to the latest restorable backup time. |
VpcSecurityGroupIds | A list of EC2 VPC security groups to associate with this DB cluster. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnDBCluster(Construct, String, ICfnDBClusterProps)
Create a new AWS::RDS::DBCluster
.
public CfnDBCluster(Construct scope, string id, ICfnDBClusterProps props = null)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnDBClusterProps
- resource properties.
CfnDBCluster(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnDBCluster(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnDBCluster(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnDBCluster(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
Properties
AllocatedStorage
The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ DB cluster.
public virtual Nullable<double> AllocatedStorage { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
This setting is required to create a Multi-AZ DB cluster.
Valid for: Multi-AZ DB clusters only
AssociatedRoles
Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster.
public virtual object AssociatedRoles { get; set; }
Property Value
System.Object
Remarks
IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon Web Services on your behalf.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
AttrDbClusterArn
The Amazon Resource Name (ARN) for the DB cluster.
public virtual string AttrDbClusterArn { get; }
Property Value
System.String
Remarks
CloudformationAttribute: DBClusterArn
AttrDbClusterResourceId
The AWS Region -unique, immutable identifier for the DB cluster.
public virtual string AttrDbClusterResourceId { get; }
Property Value
System.String
Remarks
This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed.
CloudformationAttribute: DBClusterResourceId
AttrEndpointAddress
The connection endpoint for the DB cluster.
public virtual string AttrEndpointAddress { get; }
Property Value
System.String
Remarks
For example: mystack-mydbcluster-123456789012.us-east-2.rds.amazonaws.com
CloudformationAttribute: Endpoint.Address
AttrEndpointPort
The port number that will accept connections on this DB cluster.
public virtual string AttrEndpointPort { get; }
Property Value
System.String
Remarks
For example: 3306
CloudformationAttribute: Endpoint.Port
AttrMasterUserSecretSecretArn
The Amazon Resource Name (ARN) of the secret.
public virtual string AttrMasterUserSecretSecretArn { get; }
Property Value
System.String
Remarks
CloudformationAttribute: MasterUserSecret.SecretArn
AttrReadEndpointAddress
The reader endpoint for the DB cluster.
public virtual string AttrReadEndpointAddress { get; }
Property Value
System.String
Remarks
For example: mystack-mydbcluster-ro-123456789012.us-east-2.rds.amazonaws.com
CloudformationAttribute: ReadEndpoint.Address
AutoMinorVersionUpgrade
A value that indicates whether minor engine upgrades are applied automatically to the DB cluster during the maintenance window.
public virtual object AutoMinorVersionUpgrade { get; set; }
Property Value
System.Object
Remarks
By default, minor engine upgrades are applied automatically.
Valid for: Multi-AZ DB clusters only
AvailabilityZones
A list of Availability Zones (AZs) where instances in the DB cluster can be created.
public virtual string[] AvailabilityZones { get; set; }
Property Value
System.String[]
Remarks
For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide .
Valid for: Aurora DB clusters only
BacktrackWindow
The target backtrack window, in seconds. To disable backtracking, set this value to 0.
public virtual Nullable<double> BacktrackWindow { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Currently, Backtrack is only supported for Aurora MySQL DB clusters.
Default: 0
Constraints:
Valid for: Aurora MySQL DB clusters only
BackupRetentionPeriod
The number of days for which automated backups are retained.
public virtual Nullable<double> BackupRetentionPeriod { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Default: 1
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
CopyTagsToSnapshot
A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster.
public virtual object CopyTagsToSnapshot { get; set; }
Property Value
System.Object
Remarks
The default is not to copy them.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
DatabaseName
The name of your database.
public virtual string DatabaseName { get; set; }
Property Value
System.String
Remarks
If you don't provide a name, then Amazon RDS won't create a database in this DB cluster. For naming constraints, see Naming Constraints in the Amazon Aurora User Guide .
Valid for: Aurora DB clusters and Multi-AZ DB clusters
DbClusterIdentifier
The DB cluster identifier. This parameter is stored as a lowercase string.
public virtual string DbClusterIdentifier { get; set; }
Property Value
System.String
Remarks
Constraints:
Example: my-cluster1
Valid for: Aurora DB clusters and Multi-AZ DB clusters
DbClusterInstanceClass
The compute and memory capacity of each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all AWS Regions , or for all database engines.
public virtual string DbClusterInstanceClass { get; set; }
Property Value
System.String
Remarks
For the full list of DB instance classes and availability for your engine, see DB instance class in the Amazon RDS User Guide .
This setting is required to create a Multi-AZ DB cluster.
Valid for: Multi-AZ DB clusters only
DbClusterParameterGroupName
The name of the DB cluster parameter group to associate with this DB cluster.
public virtual string DbClusterParameterGroupName { get; set; }
Property Value
System.String
Remarks
If you apply a parameter group to an existing DB cluster, then its DB instances might need to reboot. This can result in an outage while the DB instances are rebooting.
If you apply a change to parameter group associated with a stopped DB cluster, then the update stack waits until the DB cluster is started.
To list all of the available DB cluster parameter group names, use the following command:
aws rds describe-db-cluster-parameter-groups --query "DBClusterParameterGroups[].DBClusterParameterGroupName" --output text
Valid for: Aurora DB clusters and Multi-AZ DB clusters
DbInstanceParameterGroupName
The name of the DB parameter group to apply to all instances of the DB cluster.
public virtual string DbInstanceParameterGroupName { get; set; }
Property Value
System.String
Remarks
When you apply a parameter group using the DBInstanceParameterGroupName
parameter, the DB cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than during the next maintenance window.
Default: The existing name setting
Constraints:
DbSubnetGroupName
A DB subnet group that you want to associate with this DB cluster.
public virtual string DbSubnetGroupName { get; set; }
Property Value
System.String
Remarks
If you are restoring a DB cluster to a point in time with RestoreType
set to copy-on-write
, and don't specify a DB subnet group name, then the DB cluster is restored with a default DB subnet group.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
DbSystemId
Reserved for future use.
public virtual string DbSystemId { get; set; }
Property Value
System.String
Remarks
DeletionProtection
A value that indicates whether the DB cluster has deletion protection enabled.
public virtual object DeletionProtection { get; set; }
Property Value
System.Object
Remarks
The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
Domain
Indicates the directory ID of the Active Directory to create the DB cluster.
public virtual string Domain { get; set; }
Property Value
System.String
Remarks
For Amazon Aurora DB clusters, Amazon RDS can use Kerberos authentication to authenticate users that connect to the DB cluster.
For more information, see Kerberos authentication in the Amazon Aurora User Guide .
Valid for: Aurora DB clusters only
DomainIamRoleName
Specifies the name of the IAM role to use when making API calls to the Directory Service.
public virtual string DomainIamRoleName { get; set; }
Property Value
System.String
Remarks
Valid for: Aurora DB clusters only
EnableCloudwatchLogsExports
The list of log types that need to be enabled for exporting to CloudWatch Logs.
public virtual string[] EnableCloudwatchLogsExports { get; set; }
Property Value
System.String[]
Remarks
The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide .
Aurora MySQL
Valid values: audit
, error
, general
, slowquery
Aurora PostgreSQL
Valid values: postgresql
Valid for: Aurora DB clusters and Multi-AZ DB clusters
EnableHttpEndpoint
A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster.
public virtual object EnableHttpEndpoint { get; set; }
Property Value
System.Object
Remarks
By default, the HTTP endpoint is disabled.
When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.
For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide .
Valid for: Aurora DB clusters only
EnableIamDatabaseAuthentication
A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
public virtual object EnableIamDatabaseAuthentication { get; set; }
Property Value
System.Object
Remarks
By default, mapping is disabled.
For more information, see IAM Database Authentication in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters only
Engine
The name of the database engine to be used for this DB cluster.
public virtual string Engine { get; set; }
Property Value
System.String
Remarks
Valid Values:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
EngineMode
The DB engine mode of the DB cluster, either provisioned
, serverless
, parallelquery
, global
, or multimaster
.
public virtual string EngineMode { get; set; }
Property Value
System.String
Remarks
The serverless
engine mode only applies for Aurora Serverless v1 DB clusters.
The parallelquery
engine mode isn't required for Aurora MySQL version 1.23 and higher 1.x versions, and version 2.09 and higher 2.x versions.
The global
engine mode isn't required for Aurora MySQL version 1.22 and higher 1.x versions, and global
engine mode isn't required for any 2.x versions.
The multimaster
engine mode only applies for DB clusters created with Aurora MySQL version 5.6.10a.
For Aurora PostgreSQL, the global
engine mode isn't required, and both the parallelquery
and the multimaster
engine modes currently aren't supported.
Limitations and requirements apply to some DB engine modes. For more information, see the following sections in the Amazon Aurora User Guide :
Valid for: Aurora DB clusters only
EngineVersion
The version number of the database engine to use.
public virtual string EngineVersion { get; set; }
Property Value
System.String
Remarks
To list all of the available engine versions for aurora
(for MySQL 5.6-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
To list all of the available engine versions for aurora-mysql
(for MySQL 5.7-compatible Aurora), use the following command:
aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
To list all of the available engine versions for aurora-postgresql
, use the following command:
aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
Valid for: Aurora DB clusters and Multi-AZ DB clusters
GlobalClusterIdentifier
If you are configuring an Aurora global database cluster and want your Aurora DB cluster to be a secondary member in the global database cluster, specify the global cluster ID of the global database cluster.
public virtual string GlobalClusterIdentifier { get; set; }
Property Value
System.String
Remarks
To define the primary database cluster of the global cluster, use the AWS::RDS::GlobalCluster resource.
If you aren't configuring a global database cluster, don't specify this property.
To remove the DB cluster from a global database cluster, specify an empty value for the GlobalClusterIdentifier
property.
For information about Aurora global databases, see Working with Amazon Aurora Global Databases in the Amazon Aurora User Guide .
Valid for: Aurora DB clusters only
Iops
The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster.
public virtual Nullable<double> Iops { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
For information about valid IOPS values, see Provisioned IOPS storage in the Amazon RDS User Guide .
This setting is required to create a Multi-AZ DB cluster.
Constraints: Must be a multiple between .5 and 50 of the storage amount for the DB cluster.
Valid for: Multi-AZ DB clusters only
KmsKeyId
The Amazon Resource Name (ARN) of the AWS KMS key that is used to encrypt the database instances in the DB cluster, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef
.
public virtual string KmsKeyId { get; set; }
Property Value
System.String
Remarks
If you enable the StorageEncrypted
property but don't specify this property, the default KMS key is used. If you specify this property, you must set the StorageEncrypted
property to true
.
If you specify the SnapshotIdentifier
property, the StorageEncrypted
property value is inherited from the snapshot, and if the DB cluster is encrypted, the specified KmsKeyId
property is used.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
ManageMasterUserPassword
A value that indicates whether to manage the master user password with AWS Secrets Manager.
public virtual object ManageMasterUserPassword { get; set; }
Property Value
System.Object
Remarks
For more information, see Password management with AWS Secrets Manager in the Amazon RDS User Guide and Password management with AWS Secrets Manager in the Amazon Aurora User Guide.
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
MasterUsername
The name of the master user for the DB cluster.
public virtual string MasterUsername { get; set; }
Property Value
System.String
Remarks
If you specify the SourceDBClusterIdentifier
, SnapshotIdentifier
, or GlobalClusterIdentifier
property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
MasterUserPassword
The master password for the DB instance.
public virtual string MasterUserPassword { get; set; }
Property Value
System.String
Remarks
If you specify the SourceDBClusterIdentifier
, SnapshotIdentifier
, or GlobalClusterIdentifier
property, don't specify this property. The value is inherited from the source DB cluster, the snapshot, or the primary DB cluster for the global database cluster, respectively.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
MasterUserSecret
Contains the secret managed by RDS in AWS Secrets Manager for the master user password.
public virtual object MasterUserSecret { get; set; }
Property Value
System.Object
Remarks
For more information, see Password management with AWS Secrets Manager in the Amazon RDS User Guide and Password management with AWS Secrets Manager in the Amazon Aurora User Guide.
MonitoringInterval
The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB cluster.
public virtual Nullable<double> MonitoringInterval { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
To turn off collecting Enhanced Monitoring metrics, specify 0. The default is 0.
If MonitoringRoleArn
is specified, also set MonitoringInterval
to a value other than 0.
Valid Values: 0, 1, 5, 10, 15, 30, 60
Valid for: Multi-AZ DB clusters only
MonitoringRoleArn
The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.
public virtual string MonitoringRoleArn { get; set; }
Property Value
System.String
Remarks
An example is arn:aws:iam:123456789012:role/emaccess
. For information on creating a monitoring role, see Setting up and enabling Enhanced Monitoring in the Amazon RDS User Guide .
If MonitoringInterval
is set to a value other than 0, supply a MonitoringRoleArn
value.
Valid for: Multi-AZ DB clusters only
NetworkType
The network type of the DB cluster.
public virtual string NetworkType { get; set; }
Property Value
System.String
Remarks
Valid values:
The network type is determined by the DBSubnetGroup
specified for the DB cluster. A DBSubnetGroup
can support only the IPv4 protocol or the IPv4 and IPv6 protocols ( DUAL
).
For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.
Valid for: Aurora DB clusters only
PerformanceInsightsEnabled
A value that indicates whether to turn on Performance Insights for the DB cluster.
public virtual object PerformanceInsightsEnabled { get; set; }
Property Value
System.Object
Remarks
For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide .
Valid for: Multi-AZ DB clusters only
PerformanceInsightsKmsKeyId
The AWS KMS key identifier for encryption of Performance Insights data.
public virtual string PerformanceInsightsKmsKeyId { get; set; }
Property Value
System.String
Remarks
The AWS KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.
If you don't specify a value for PerformanceInsightsKMSKeyId
, then Amazon RDS uses your default KMS key. There is a default KMS key for your AWS account . Your AWS account has a different default KMS key for each AWS Region .
Valid for: Multi-AZ DB clusters only
PerformanceInsightsRetentionPeriod
The number of days to retain Performance Insights data. The default is 7 days. The following values are valid:.
public virtual Nullable<double> PerformanceInsightsRetentionPeriod { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
For example, the following values are valid:
If you specify a retention period such as 94, which isn't a valid value, RDS issues an error.
Valid for: Multi-AZ DB clusters only
Port
The port number on which the DB instances in the DB cluster accept connections.
public virtual Nullable<double> Port { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Default:
The <code>No interruption</code> on update behavior only applies to DB clusters. If you are updating a DB instance, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port">Port</a> for the AWS::RDS::DBInstance resource.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
PreferredBackupWindow
The daily time range during which automated backups are created.
public virtual string PreferredBackupWindow { get; set; }
Property Value
System.String
Remarks
For more information, see Backup Window in the Amazon Aurora User Guide.
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
PreferredMaintenanceWindow
The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).
public virtual string PreferredMaintenanceWindow { get; set; }
Property Value
System.String
Remarks
Format: ddd:hh24:mi-ddd:hh24:mi
The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.
Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Constraints: Minimum 30-minute window.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
PubliclyAccessible
A value that indicates whether the DB cluster is publicly accessible.
public virtual object PubliclyAccessible { get; set; }
Property Value
System.Object
Remarks
When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.
When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.
Default: The default behavior varies depending on whether DBSubnetGroupName
is specified.
If DBSubnetGroupName
isn't specified, and PubliclyAccessible
isn't specified, the following applies:
If DBSubnetGroupName
is specified, and PubliclyAccessible
isn't specified, the following applies:
Valid for: Multi-AZ DB clusters only
ReplicationSourceIdentifier
The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.
public virtual string ReplicationSourceIdentifier { get; set; }
Property Value
System.String
Remarks
Valid for: Aurora DB clusters only
RestoreToTime
The date and time to restore the DB cluster to.
public virtual string RestoreToTime { get; set; }
Property Value
System.String
Remarks
Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
Constraints:
Example: 2015-03-07T23:45:00Z
Valid for: Aurora DB clusters and Multi-AZ DB clusters
RestoreType
The type of restore to be performed. You can specify one of the following values:.
public virtual string RestoreType { get; set; }
Property Value
System.String
Remarks
Constraints: You can't specify copy-on-write
if the engine version of the source DB cluster is earlier than 1.11.
If you don't specify a RestoreType
value, then the new DB cluster is restored as a full copy of the source DB cluster.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
ScalingConfiguration
The ScalingConfiguration
property type specifies the scaling configuration of an Aurora Serverless DB cluster.
public virtual object ScalingConfiguration { get; set; }
Property Value
System.Object
Remarks
This property is only supported for Aurora Serverless v1. For Aurora Serverless v2, use ServerlessV2ScalingConfiguration
property.
Valid for: Aurora DB clusters only
ServerlessV2ScalingConfiguration
The ServerlessV2ScalingConfiguration
property type specifies the scaling configuration of an Aurora Serverless V2 DB cluster.
public virtual object ServerlessV2ScalingConfiguration { get; set; }
Property Value
System.Object
Remarks
This property is only supported for Aurora Serverless v2. For Aurora Serverless v1, use ScalingConfiguration
property.
Valid for: Aurora DB clusters only
SnapshotIdentifier
The identifier for the DB snapshot or DB cluster snapshot to restore from.
public virtual string SnapshotIdentifier { get; set; }
Property Value
System.String
Remarks
You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.
After you restore a DB cluster with a SnapshotIdentifier
property, you must specify the same SnapshotIdentifier
property for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. However, if you don't specify the SnapshotIdentifier
property, 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 specified SnapshotIdentifier
property, and the original DB cluster is deleted.
If you specify the SnapshotIdentifier
property to restore a DB cluster (as opposed to specifying it for DB cluster updates), then don't specify the following properties:
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
SourceDbClusterIdentifier
When restoring a DB cluster to a point in time, the identifier of the source DB cluster from which to restore.
public virtual string SourceDbClusterIdentifier { get; set; }
Property Value
System.String
Remarks
Constraints:
Valid for: Aurora DB clusters and Multi-AZ DB clusters
SourceRegion
The AWS Region which contains the source DB cluster when replicating a DB cluster. For example, us-east-1
.
public virtual string SourceRegion { get; set; }
Property Value
System.String
Remarks
Valid for: Aurora DB clusters only
StorageEncrypted
Indicates whether the DB cluster is encrypted.
public virtual object StorageEncrypted { get; set; }
Property Value
System.Object
Remarks
If you specify the KmsKeyId
property, then you must enable encryption.
If you specify the SourceDBClusterIdentifier
property, don't specify this property. The value is inherited from the source DB cluster, and if the DB cluster is encrypted, the specified KmsKeyId
property is used.
If you specify the SnapshotIdentifier
and the specified snapshot is encrypted, don't specify this property. The value is inherited from the snapshot, and the specified KmsKeyId
property is used.
If you specify the SnapshotIdentifier
and the specified snapshot isn't encrypted, you can use this property to specify that the restored DB cluster is encrypted. Specify the KmsKeyId
property for the KMS key to use for encryption. If you don't want the restored DB cluster to be encrypted, then don't set this property or set it to false
.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
StorageType
Specifies the storage type to be associated with the DB cluster.
public virtual string StorageType { get; set; }
Property Value
System.String
Remarks
This setting is required to create a Multi-AZ DB cluster.
When specified for a Multi-AZ DB cluster, a value for the Iops
parameter is required.
Valid values: aurora
, aurora-iopt1
(Aurora DB clusters); io1
(Multi-AZ DB clusters)
Default: aurora
(Aurora DB clusters); io1
(Multi-AZ DB clusters)
Valid for: Aurora DB clusters and Multi-AZ DB clusters
For more information on storage types for Aurora DB clusters, see Storage configurations for Amazon Aurora DB clusters . For more information on storage types for Multi-AZ DB clusters, see Settings for creating Multi-AZ DB clusters .
Tags
An optional array of key-value pairs to apply to this DB cluster.
public virtual TagManager Tags { get; }
Property Value
Remarks
Valid for: Aurora DB clusters and Multi-AZ DB clusters
UseLatestRestorableTime
A value that indicates whether to restore the DB cluster to the latest restorable backup time.
public virtual object UseLatestRestorableTime { get; set; }
Property Value
System.Object
Remarks
By default, the DB cluster is not restored to the latest restorable backup time.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
VpcSecurityGroupIds
A list of EC2 VPC security groups to associate with this DB cluster.
public virtual string[] VpcSecurityGroupIds { get; set; }
Property Value
System.String[]
Remarks
If you plan to update the resource, don't specify VPC security groups in a shared VPC.
Valid for: Aurora DB clusters and Multi-AZ DB clusters
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
- tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>