/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the rds-2014-10-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.RDS.Model
{
///
/// Container for the parameters to the CreateDBCluster operation.
/// Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster.
///
///
///
/// If you create an Aurora DB cluster, the request creates an empty cluster. You must
/// explicitly create the writer instance for your DB cluster using the CreateDBInstance
/// operation. If you create a Multi-AZ DB cluster, the request creates a writer and two
/// reader DB instances for you, each in a different Availability Zone.
///
///
///
/// You can use the ReplicationSourceIdentifier
parameter to create an Amazon
/// Aurora DB cluster as a read replica of another DB cluster or Amazon RDS for MySQL
/// or PostgreSQL DB instance. For more information about Amazon Aurora, see What
/// is Amazon Aurora? in the Amazon Aurora User Guide.
///
///
///
/// You can also use the ReplicationSourceIdentifier
parameter to create
/// a Multi-AZ DB cluster read replica with an RDS for MySQL or PostgreSQL DB instance
/// as the source. For more information about Multi-AZ DB clusters, see Multi-AZ
/// DB cluster deployments in the Amazon RDS User Guide.
///
///
public partial class CreateDBClusterRequest : AmazonRDSRequest
{
private int? _allocatedStorage;
private bool? _autoMinorVersionUpgrade;
private List _availabilityZones = new List();
private long? _backtrackWindow;
private int? _backupRetentionPeriod;
private string _characterSetName;
private bool? _copyTagsToSnapshot;
private string _databaseName;
private string _dbClusterIdentifier;
private string _dbClusterInstanceClass;
private string _dbClusterParameterGroupName;
private string _dbSubnetGroupName;
private string _dbSystemId;
private bool? _deletionProtection;
private string _domain;
private string _domainIAMRoleName;
private List _enableCloudwatchLogsExports = new List();
private bool? _enableGlobalWriteForwarding;
private bool? _enableHttpEndpoint;
private bool? _enableIAMDatabaseAuthentication;
private bool? _enablePerformanceInsights;
private string _engine;
private string _engineMode;
private string _engineVersion;
private string _globalClusterIdentifier;
private int? _iops;
private string _kmsKeyId;
private bool? _manageMasterUserPassword;
private string _masterUsername;
private string _masterUserPassword;
private string _masterUserSecretKmsKeyId;
private int? _monitoringInterval;
private string _monitoringRoleArn;
private string _networkType;
private string _optionGroupName;
private string _performanceInsightsKMSKeyId;
private int? _performanceInsightsRetentionPeriod;
private int? _port;
private string _preferredBackupWindow;
private string _preferredMaintenanceWindow;
private string _preSignedUrl;
private bool? _publiclyAccessible;
private string _replicationSourceIdentifier;
private ScalingConfiguration _scalingConfiguration;
private ServerlessV2ScalingConfiguration _serverlessV2ScalingConfiguration;
private bool? _storageEncrypted;
private string _storageType;
private List _tags = new List();
private List _vpcSecurityGroupIds = new List();
///
/// Gets and sets the property AllocatedStorage.
///
/// The amount of storage in gibibytes (GiB) to allocate to each DB instance in the Multi-AZ
/// DB cluster.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
///
/// This setting is required to create a Multi-AZ DB cluster.
///
///
public int AllocatedStorage
{
get { return this._allocatedStorage.GetValueOrDefault(); }
set { this._allocatedStorage = value; }
}
// Check to see if AllocatedStorage property is set
internal bool IsSetAllocatedStorage()
{
return this._allocatedStorage.HasValue;
}
///
/// Gets and sets the property AutoMinorVersionUpgrade.
///
/// Specifies whether minor engine upgrades are applied automatically to the DB cluster
/// during the maintenance window. By default, minor engine upgrades are applied automatically.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
public bool AutoMinorVersionUpgrade
{
get { return this._autoMinorVersionUpgrade.GetValueOrDefault(); }
set { this._autoMinorVersionUpgrade = value; }
}
// Check to see if AutoMinorVersionUpgrade property is set
internal bool IsSetAutoMinorVersionUpgrade()
{
return this._autoMinorVersionUpgrade.HasValue;
}
///
/// Gets and sets the property AvailabilityZones.
///
/// A list of Availability Zones (AZs) where DB instances in the DB cluster can be created.
///
///
///
/// For information on Amazon Web Services Regions and Availability Zones, see Choosing
/// the Regions and Availability Zones in the Amazon Aurora User Guide.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public List AvailabilityZones
{
get { return this._availabilityZones; }
set { this._availabilityZones = value; }
}
// Check to see if AvailabilityZones property is set
internal bool IsSetAvailabilityZones()
{
return this._availabilityZones != null && this._availabilityZones.Count > 0;
}
///
/// Gets and sets the property BacktrackWindow.
///
/// The target backtrack window, in seconds. To disable backtracking, set this value to
/// 0
.
///
///
///
/// Valid for Cluster Type: Aurora MySQL DB clusters only
///
///
///
/// Default: 0
///
///
///
/// Constraints:
///
/// -
///
/// If specified, this value must be set to a number from 0 to 259,200 (72 hours).
///
///
///
public long BacktrackWindow
{
get { return this._backtrackWindow.GetValueOrDefault(); }
set { this._backtrackWindow = value; }
}
// Check to see if BacktrackWindow property is set
internal bool IsSetBacktrackWindow()
{
return this._backtrackWindow.HasValue;
}
///
/// Gets and sets the property BackupRetentionPeriod.
///
/// The number of days for which automated backups are retained.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Default: 1
///
///
///
/// Constraints:
///
/// -
///
/// Must be a value from 1 to 35.
///
///
///
public int BackupRetentionPeriod
{
get { return this._backupRetentionPeriod.GetValueOrDefault(); }
set { this._backupRetentionPeriod = value; }
}
// Check to see if BackupRetentionPeriod property is set
internal bool IsSetBackupRetentionPeriod()
{
return this._backupRetentionPeriod.HasValue;
}
///
/// Gets and sets the property CharacterSetName.
///
/// The name of the character set (CharacterSet
) to associate the DB cluster
/// with.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public string CharacterSetName
{
get { return this._characterSetName; }
set { this._characterSetName = value; }
}
// Check to see if CharacterSetName property is set
internal bool IsSetCharacterSetName()
{
return this._characterSetName != null;
}
///
/// Gets and sets the property CopyTagsToSnapshot.
///
/// Specifies whether to copy all tags from the DB cluster to snapshots of the DB cluster.
/// The default is not to copy them.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool CopyTagsToSnapshot
{
get { return this._copyTagsToSnapshot.GetValueOrDefault(); }
set { this._copyTagsToSnapshot = value; }
}
// Check to see if CopyTagsToSnapshot property is set
internal bool IsSetCopyTagsToSnapshot()
{
return this._copyTagsToSnapshot.HasValue;
}
///
/// Gets and sets the property DatabaseName.
///
/// The name for your database of up to 64 alphanumeric characters. If you don't provide
/// a name, Amazon RDS doesn't create a database in the DB cluster you are creating.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property DBClusterIdentifier.
///
/// The identifier for this DB cluster. This parameter is stored as a lowercase string.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 1 to 63 letters, numbers, or hyphens.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Can't end with a hyphen or contain two consecutive hyphens.
///
///
///
/// Example: my-cluster1
///
///
[AWSProperty(Required=true)]
public string DBClusterIdentifier
{
get { return this._dbClusterIdentifier; }
set { this._dbClusterIdentifier = value; }
}
// Check to see if DBClusterIdentifier property is set
internal bool IsSetDBClusterIdentifier()
{
return this._dbClusterIdentifier != null;
}
///
/// Gets and sets the property 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 Amazon Web Services Regions, or for all database engines.
///
///
///
/// 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 Cluster Type: Multi-AZ DB clusters only
///
///
public string DBClusterInstanceClass
{
get { return this._dbClusterInstanceClass; }
set { this._dbClusterInstanceClass = value; }
}
// Check to see if DBClusterInstanceClass property is set
internal bool IsSetDBClusterInstanceClass()
{
return this._dbClusterInstanceClass != null;
}
///
/// Gets and sets the property DBClusterParameterGroupName.
///
/// The name of the DB cluster parameter group to associate with this DB cluster. If you
/// don't specify a value, then the default DB cluster parameter group for the specified
/// DB engine and version is used.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// If supplied, must match the name of an existing DB cluster parameter group.
///
///
///
public string DBClusterParameterGroupName
{
get { return this._dbClusterParameterGroupName; }
set { this._dbClusterParameterGroupName = value; }
}
// Check to see if DBClusterParameterGroupName property is set
internal bool IsSetDBClusterParameterGroupName()
{
return this._dbClusterParameterGroupName != null;
}
///
/// Gets and sets the property DBSubnetGroupName.
///
/// A DB subnet group to associate with this DB cluster.
///
///
///
/// This setting is required to create a Multi-AZ DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// Must match the name of an existing DB subnet group.
///
///
-
///
/// Must not be
default
.
///
///
///
/// Example: mydbsubnetgroup
///
///
public string DBSubnetGroupName
{
get { return this._dbSubnetGroupName; }
set { this._dbSubnetGroupName = value; }
}
// Check to see if DBSubnetGroupName property is set
internal bool IsSetDBSubnetGroupName()
{
return this._dbSubnetGroupName != null;
}
///
/// Gets and sets the property DBSystemId.
///
/// Reserved for future use.
///
///
public string DBSystemId
{
get { return this._dbSystemId; }
set { this._dbSystemId = value; }
}
// Check to see if DBSystemId property is set
internal bool IsSetDBSystemId()
{
return this._dbSystemId != null;
}
///
/// Gets and sets the property DeletionProtection.
///
/// Specifies whether the DB cluster has deletion protection enabled. The database can't
/// be deleted when deletion protection is enabled. By default, deletion protection isn't
/// enabled.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool DeletionProtection
{
get { return this._deletionProtection.GetValueOrDefault(); }
set { this._deletionProtection = value; }
}
// Check to see if DeletionProtection property is set
internal bool IsSetDeletionProtection()
{
return this._deletionProtection.HasValue;
}
///
/// Gets and sets the property Domain.
///
/// The Active Directory directory ID to create the DB cluster in.
///
///
///
/// 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 Cluster Type: Aurora DB clusters only
///
///
public string Domain
{
get { return this._domain; }
set { this._domain = value; }
}
// Check to see if Domain property is set
internal bool IsSetDomain()
{
return this._domain != null;
}
///
/// Gets and sets the property DomainIAMRoleName.
///
/// The name of the IAM role to use when making API calls to the Directory Service.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public string DomainIAMRoleName
{
get { return this._domainIAMRoleName; }
set { this._domainIAMRoleName = value; }
}
// Check to see if DomainIAMRoleName property is set
internal bool IsSetDomainIAMRoleName()
{
return this._domainIAMRoleName != null;
}
///
/// Gets and sets the property EnableCloudwatchLogsExports.
///
/// The list of log types that need to be enabled for exporting to CloudWatch Logs.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// The following values are valid for each DB engine:
///
/// -
///
/// Aurora MySQL -
audit | error | general | slowquery
///
/// -
///
/// Aurora PostgreSQL -
postgresql
///
/// -
///
/// RDS for MySQL -
error | general | slowquery
///
/// -
///
/// RDS for PostgreSQL -
postgresql | upgrade
///
///
///
/// For more information about exporting CloudWatch Logs for Amazon RDS, see Publishing
/// Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.
///
///
///
/// For more information about exporting CloudWatch Logs for Amazon Aurora, see Publishing
/// Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.
///
///
public List EnableCloudwatchLogsExports
{
get { return this._enableCloudwatchLogsExports; }
set { this._enableCloudwatchLogsExports = value; }
}
// Check to see if EnableCloudwatchLogsExports property is set
internal bool IsSetEnableCloudwatchLogsExports()
{
return this._enableCloudwatchLogsExports != null && this._enableCloudwatchLogsExports.Count > 0;
}
///
/// Gets and sets the property EnableGlobalWriteForwarding.
///
/// Specifies whether to enable this DB cluster to forward write operations to the primary
/// cluster of a global cluster (Aurora global database). By default, write operations
/// are not allowed on Aurora DB clusters that are secondary clusters in an Aurora global
/// database.
///
///
///
/// You can set this value only on Aurora DB clusters that are members of an Aurora global
/// database. With this parameter enabled, a secondary cluster can forward writes to the
/// current primary cluster, and the resulting changes are replicated back to this cluster.
/// For the primary DB cluster of an Aurora global database, this value is used immediately
/// if the primary is demoted by a global cluster API operation, but it does nothing until
/// then.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public bool EnableGlobalWriteForwarding
{
get { return this._enableGlobalWriteForwarding.GetValueOrDefault(); }
set { this._enableGlobalWriteForwarding = value; }
}
// Check to see if EnableGlobalWriteForwarding property is set
internal bool IsSetEnableGlobalWriteForwarding()
{
return this._enableGlobalWriteForwarding.HasValue;
}
///
/// Gets and sets the property EnableHttpEndpoint.
///
/// Specifies whether to enable the HTTP endpoint for an Aurora Serverless v1 DB cluster.
/// 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 v1 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 v1 in the Amazon Aurora User Guide.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public bool EnableHttpEndpoint
{
get { return this._enableHttpEndpoint.GetValueOrDefault(); }
set { this._enableHttpEndpoint = value; }
}
// Check to see if EnableHttpEndpoint property is set
internal bool IsSetEnableHttpEndpoint()
{
return this._enableHttpEndpoint.HasValue;
}
///
/// Gets and sets the property EnableIAMDatabaseAuthentication.
///
/// Specifies whether to enable mapping of Amazon Web Services Identity and Access Management
/// (IAM) accounts to database accounts. By default, mapping isn't enabled.
///
///
///
/// For more information, see
/// IAM Database Authentication in the Amazon Aurora User Guide.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public bool EnableIAMDatabaseAuthentication
{
get { return this._enableIAMDatabaseAuthentication.GetValueOrDefault(); }
set { this._enableIAMDatabaseAuthentication = value; }
}
// Check to see if EnableIAMDatabaseAuthentication property is set
internal bool IsSetEnableIAMDatabaseAuthentication()
{
return this._enableIAMDatabaseAuthentication.HasValue;
}
///
/// Gets and sets the property EnablePerformanceInsights.
///
/// Specifies whether to turn on Performance Insights for the DB cluster.
///
///
///
/// For more information, see
/// Using Amazon Performance Insights in the Amazon RDS User Guide.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
public bool EnablePerformanceInsights
{
get { return this._enablePerformanceInsights.GetValueOrDefault(); }
set { this._enablePerformanceInsights = value; }
}
// Check to see if EnablePerformanceInsights property is set
internal bool IsSetEnablePerformanceInsights()
{
return this._enablePerformanceInsights.HasValue;
}
///
/// Gets and sets the property Engine.
///
/// The database engine to use for this DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Valid Values: aurora-mysql | aurora-postgresql | mysql | postgres
///
///
[AWSProperty(Required=true)]
public string Engine
{
get { return this._engine; }
set { this._engine = value; }
}
// Check to see if Engine property is set
internal bool IsSetEngine()
{
return this._engine != null;
}
///
/// Gets and sets the property EngineMode.
///
/// The DB engine mode of the DB cluster, either provisioned
or serverless
.
///
///
///
/// The serverless
engine mode only applies for Aurora Serverless v1 DB clusters.
///
///
///
/// For information about limitations and requirements for Serverless DB clusters, see
/// the following sections in the Amazon Aurora User Guide:
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public string EngineMode
{
get { return this._engineMode; }
set { this._engineMode = value; }
}
// Check to see if EngineMode property is set
internal bool IsSetEngineMode()
{
return this._engineMode != null;
}
///
/// Gets and sets the property EngineVersion.
///
/// The version number of the database engine to use.
///
///
///
/// To list all of the available engine versions for Aurora MySQL version 2 (5.7-compatible)
/// and version 3 (MySQL 8.0-compatible), use the following command:
///
///
///
/// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
///
///
///
///
/// You can supply either 5.7
or 8.0
to use the default engine
/// version for Aurora MySQL version 2 or version 3, respectively.
///
///
///
/// 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"
///
///
///
///
/// To list all of the available engine versions for RDS for MySQL, use the following
/// command:
///
///
///
/// aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"
///
///
///
///
/// To list all of the available engine versions for RDS for PostgreSQL, use the following
/// command:
///
///
///
/// aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"
///
///
///
///
/// For information about a specific engine, see the following topics:
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property GlobalClusterIdentifier.
///
/// The global cluster ID of an Aurora cluster that becomes the primary cluster in the
/// new global database cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public string GlobalClusterIdentifier
{
get { return this._globalClusterIdentifier; }
set { this._globalClusterIdentifier = value; }
}
// Check to see if GlobalClusterIdentifier property is set
internal bool IsSetGlobalClusterIdentifier()
{
return this._globalClusterIdentifier != null;
}
///
/// Gets and sets the property 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.
///
///
///
/// 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.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
///
/// Constraints:
///
/// -
///
/// Must be a multiple between .5 and 50 of the storage amount for the DB cluster.
///
///
///
public int Iops
{
get { return this._iops.GetValueOrDefault(); }
set { this._iops = value; }
}
// Check to see if Iops property is set
internal bool IsSetIops()
{
return this._iops.HasValue;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The Amazon Web Services KMS key identifier for an encrypted DB cluster.
///
///
///
/// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.
///
///
///
/// When a KMS key isn't specified in KmsKeyId
:
///
/// -
///
/// If
ReplicationSourceIdentifier
identifies an encrypted source, then Amazon
/// RDS uses the KMS key used to encrypt the source. Otherwise, Amazon RDS uses your default
/// KMS key.
///
/// -
///
/// If the
StorageEncrypted
parameter is enabled and ReplicationSourceIdentifier
/// isn't specified, then Amazon RDS uses your default KMS key.
///
///
///
/// There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services
/// account has a different default KMS key for each Amazon Web Services Region.
///
///
///
/// If you create a read replica of an encrypted DB cluster in another Amazon Web Services
/// Region, make sure to set KmsKeyId
to a KMS key identifier that is valid
/// in the destination Amazon Web Services Region. This KMS key is used to encrypt the
/// read replica in that Amazon Web Services Region.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property ManageMasterUserPassword.
///
/// Specifies whether to manage the master user password with Amazon Web Services Secrets
/// Manager.
///
///
///
/// For more information, see Password
/// management with Amazon Web Services Secrets Manager in the Amazon RDS User
/// Guide and Password
/// management with Amazon Web Services Secrets Manager in the Amazon Aurora User
/// Guide.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// Can't manage the master user password with Amazon Web Services Secrets Manager if
///
MasterUserPassword
is specified.
///
///
///
public bool ManageMasterUserPassword
{
get { return this._manageMasterUserPassword.GetValueOrDefault(); }
set { this._manageMasterUserPassword = value; }
}
// Check to see if ManageMasterUserPassword property is set
internal bool IsSetManageMasterUserPassword()
{
return this._manageMasterUserPassword.HasValue;
}
///
/// Gets and sets the property MasterUsername.
///
/// The name of the master user for the DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// Must be 1 to 16 letters or numbers.
///
///
-
///
/// First character must be a letter.
///
///
-
///
/// Can't be a reserved word for the chosen database engine.
///
///
///
public string MasterUsername
{
get { return this._masterUsername; }
set { this._masterUsername = value; }
}
// Check to see if MasterUsername property is set
internal bool IsSetMasterUsername()
{
return this._masterUsername != null;
}
///
/// Gets and sets the property MasterUserPassword.
///
/// The password for the master database user.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Constraints:
///
/// -
///
/// Must contain from 8 to 41 characters.
///
///
-
///
/// Can contain any printable ASCII character except "/", """, or "@".
///
///
-
///
/// Can't be specified if
ManageMasterUserPassword
is turned on.
///
///
///
public string MasterUserPassword
{
get { return this._masterUserPassword; }
set { this._masterUserPassword = value; }
}
// Check to see if MasterUserPassword property is set
internal bool IsSetMasterUserPassword()
{
return this._masterUserPassword != null;
}
///
/// Gets and sets the property MasterUserSecretKmsKeyId.
///
/// The Amazon Web Services KMS key identifier to encrypt a secret that is automatically
/// generated and managed in Amazon Web Services Secrets Manager.
///
///
///
/// This setting is valid only if the master user password is managed by RDS in Amazon
/// Web Services Secrets Manager for the DB cluster.
///
///
///
/// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias
/// name for the KMS key. To use a KMS key in a different Amazon Web Services account,
/// specify the key ARN or alias ARN.
///
///
///
/// If you don't specify MasterUserSecretKmsKeyId
, then the aws/secretsmanager
/// KMS key is used to encrypt the secret. If the secret is in a different Amazon Web
/// Services account, then you can't use the aws/secretsmanager
KMS key to
/// encrypt the secret, and you must use a customer managed KMS key.
///
///
///
/// There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services
/// account has a different default KMS key for each Amazon Web Services Region.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string MasterUserSecretKmsKeyId
{
get { return this._masterUserSecretKmsKeyId; }
set { this._masterUserSecretKmsKeyId = value; }
}
// Check to see if MasterUserSecretKmsKeyId property is set
internal bool IsSetMasterUserSecretKmsKeyId()
{
return this._masterUserSecretKmsKeyId != null;
}
///
/// Gets and sets the property MonitoringInterval.
///
/// The interval, in seconds, between points when Enhanced Monitoring metrics are collected
/// for the DB cluster. To turn off collecting Enhanced Monitoring metrics, specify 0
.
///
///
///
/// If MonitoringRoleArn
is specified, also set MonitoringInterval
/// to a value other than 0
.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
///
/// Valid Values: 0 | 1 | 5 | 10 | 15 | 30 | 60
///
///
///
/// Default: 0
///
///
public int MonitoringInterval
{
get { return this._monitoringInterval.GetValueOrDefault(); }
set { this._monitoringInterval = value; }
}
// Check to see if MonitoringInterval property is set
internal bool IsSetMonitoringInterval()
{
return this._monitoringInterval.HasValue;
}
///
/// Gets and sets the property MonitoringRoleArn.
///
/// The Amazon Resource Name (ARN) for the IAM role that permits RDS to send Enhanced
/// Monitoring metrics to Amazon CloudWatch Logs. 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 Cluster Type: Multi-AZ DB clusters only
///
///
public string MonitoringRoleArn
{
get { return this._monitoringRoleArn; }
set { this._monitoringRoleArn = value; }
}
// Check to see if MonitoringRoleArn property is set
internal bool IsSetMonitoringRoleArn()
{
return this._monitoringRoleArn != null;
}
///
/// Gets and sets the property NetworkType.
///
/// The network type of the DB cluster.
///
///
///
/// 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 the IPv6 protocols (DUAL
).
///
///
///
/// For more information, see
/// Working with a DB instance in a VPC in the Amazon Aurora User Guide.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
///
/// Valid Values: IPV4 | DUAL
///
///
public string NetworkType
{
get { return this._networkType; }
set { this._networkType = value; }
}
// Check to see if NetworkType property is set
internal bool IsSetNetworkType()
{
return this._networkType != null;
}
///
/// Gets and sets the property OptionGroupName.
///
/// The option group to associate the DB cluster with.
///
///
///
/// DB clusters are associated with a default option group that can't be modified.
///
///
public string OptionGroupName
{
get { return this._optionGroupName; }
set { this._optionGroupName = value; }
}
// Check to see if OptionGroupName property is set
internal bool IsSetOptionGroupName()
{
return this._optionGroupName != null;
}
///
/// Gets and sets the property PerformanceInsightsKMSKeyId.
///
/// The Amazon Web Services KMS key identifier for encryption of Performance Insights
/// data.
///
///
///
/// The Amazon Web Services 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 Amazon Web Services
/// account. Your Amazon Web Services account has a different default KMS key for each
/// Amazon Web Services Region.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
public string PerformanceInsightsKMSKeyId
{
get { return this._performanceInsightsKMSKeyId; }
set { this._performanceInsightsKMSKeyId = value; }
}
// Check to see if PerformanceInsightsKMSKeyId property is set
internal bool IsSetPerformanceInsightsKMSKeyId()
{
return this._performanceInsightsKMSKeyId != null;
}
///
/// Gets and sets the property PerformanceInsightsRetentionPeriod.
///
/// The number of days to retain Performance Insights data.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
///
/// Valid Values:
///
/// -
///
///
7
///
/// -
///
/// month * 31, where month is a number of months from 1-23. Examples:
///
93
(3 months * 31), 341
(11 months * 31), 589
/// (19 months * 31)
///
/// -
///
///
731
///
///
///
/// Default: 7
days
///
///
///
/// If you specify a retention period that isn't valid, such as 94
, Amazon
/// RDS issues an error.
///
///
public int PerformanceInsightsRetentionPeriod
{
get { return this._performanceInsightsRetentionPeriod.GetValueOrDefault(); }
set { this._performanceInsightsRetentionPeriod = value; }
}
// Check to see if PerformanceInsightsRetentionPeriod property is set
internal bool IsSetPerformanceInsightsRetentionPeriod()
{
return this._performanceInsightsRetentionPeriod.HasValue;
}
///
/// Gets and sets the property Port.
///
/// The port number on which the instances in the DB cluster accept connections.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Valid Values: 1150-65535
///
///
///
/// Default:
///
/// -
///
/// RDS for MySQL and Aurora MySQL -
3306
///
/// -
///
/// RDS for PostgreSQL and Aurora PostgreSQL -
5432
///
///
///
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property PreferredBackupWindow.
///
/// The daily time range during which automated backups are created if automated backups
/// are enabled using the BackupRetentionPeriod
parameter.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// The default is a 30-minute window selected at random from an 8-hour block of time
/// for each Amazon Web Services Region. To view the time blocks available, see
/// Backup window in the Amazon Aurora User Guide.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format
hh24:mi-hh24:mi
.
///
/// -
///
/// Must be in Universal Coordinated Time (UTC).
///
///
-
///
/// Must not conflict with the preferred maintenance window.
///
///
-
///
/// Must be at least 30 minutes.
///
///
///
public string PreferredBackupWindow
{
get { return this._preferredBackupWindow; }
set { this._preferredBackupWindow = value; }
}
// Check to see if PreferredBackupWindow property is set
internal bool IsSetPreferredBackupWindow()
{
return this._preferredBackupWindow != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// The weekly time range during which system maintenance can occur.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// The default is a 30-minute window selected at random from an 8-hour block of time
/// for each Amazon Web Services 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.
///
///
///
/// Constraints:
///
/// -
///
/// Must be in the format
ddd:hh24:mi-ddd:hh24:mi
.
///
/// -
///
/// Days must be one of
Mon | Tue | Wed | Thu | Fri | Sat | Sun
.
///
/// -
///
/// Must be in Universal Coordinated Time (UTC).
///
///
-
///
/// Must be at least 30 minutes.
///
///
///
public string PreferredMaintenanceWindow
{
get { return this._preferredMaintenanceWindow; }
set { this._preferredMaintenanceWindow = value; }
}
// Check to see if PreferredMaintenanceWindow property is set
internal bool IsSetPreferredMaintenanceWindow()
{
return this._preferredMaintenanceWindow != null;
}
///
/// Gets and sets the property PreSignedUrl.
///
/// When you are replicating a DB cluster from one Amazon Web Services GovCloud (US) Region
/// to another, an URL that contains a Signature Version 4 signed request for the CreateDBCluster
/// operation to be called in the source Amazon Web Services Region where the DB cluster
/// is replicated from. Specify PreSignedUrl
only when you are performing
/// cross-Region replication from an encrypted DB cluster.
///
///
///
/// The presigned URL must be a valid request for the CreateDBCluster
API
/// operation that can run in the source Amazon Web Services Region that contains the
/// encrypted DB cluster to copy.
///
///
///
/// The presigned URL request must contain the following parameter values:
///
/// -
///
///
KmsKeyId
- The KMS key identifier for the KMS key to use to encrypt
/// the copy of the DB cluster in the destination Amazon Web Services Region. This should
/// refer to the same KMS key for both the CreateDBCluster
operation that
/// is called in the destination Amazon Web Services Region, and the operation contained
/// in the presigned URL.
///
/// -
///
///
DestinationRegion
- The name of the Amazon Web Services Region that
/// Aurora read replica will be created in.
///
/// -
///
///
ReplicationSourceIdentifier
- The DB cluster identifier for the encrypted
/// DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN)
/// format for the source Amazon Web Services Region. For example, if you are copying
/// an encrypted DB cluster from the us-west-2 Amazon Web Services Region, then your ReplicationSourceIdentifier
/// would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1
.
///
///
///
/// To learn how to generate a Signature Version 4 signed request, see
/// Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version
/// 4) and
/// Signature Version 4 Signing Process.
///
///
///
/// If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion
/// (or --source-region
for the CLI) instead of specifying PreSignedUrl
/// manually. Specifying SourceRegion
autogenerates a presigned URL that
/// is a valid request for the operation that can run in the source Amazon Web Services
/// Region.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public string PreSignedUrl
{
get { return this._preSignedUrl; }
set { this._preSignedUrl = value; }
}
// Check to see if PreSignedUrl property is set
internal bool IsSetPreSignedUrl()
{
return this._preSignedUrl != null;
}
///
/// Gets and sets the property PubliclyAccessible.
///
/// Specifies whether the DB cluster is publicly accessible.
///
///
///
/// 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.
///
///
///
/// Valid for Cluster Type: Multi-AZ DB clusters only
///
///
///
/// 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 the default VPC in the target Region doesn’t have an internet gateway attached
/// to it, the DB cluster is private.
///
///
-
///
/// If the default VPC in the target Region has an internet gateway attached to it, the
/// DB cluster is public.
///
///
///
/// If DBSubnetGroupName
is specified, and PubliclyAccessible
/// isn't specified, the following applies:
///
/// -
///
/// If the subnets are part of a VPC that doesn’t have an internet gateway attached to
/// it, the DB cluster is private.
///
///
-
///
/// If the subnets are part of a VPC that has an internet gateway attached to it, the
/// DB cluster is public.
///
///
///
public bool PubliclyAccessible
{
get { return this._publiclyAccessible.GetValueOrDefault(); }
set { this._publiclyAccessible = value; }
}
// Check to see if PubliclyAccessible property is set
internal bool IsSetPubliclyAccessible()
{
return this._publiclyAccessible.HasValue;
}
///
/// Gets and sets the property ReplicationSourceIdentifier.
///
/// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB
/// cluster is created as a read replica.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public string ReplicationSourceIdentifier
{
get { return this._replicationSourceIdentifier; }
set { this._replicationSourceIdentifier = value; }
}
// Check to see if ReplicationSourceIdentifier property is set
internal bool IsSetReplicationSourceIdentifier()
{
return this._replicationSourceIdentifier != null;
}
///
/// Gets and sets the property ScalingConfiguration.
///
/// For DB clusters in serverless
DB engine mode, the scaling properties
/// of the DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters only
///
///
public ScalingConfiguration ScalingConfiguration
{
get { return this._scalingConfiguration; }
set { this._scalingConfiguration = value; }
}
// Check to see if ScalingConfiguration property is set
internal bool IsSetScalingConfiguration()
{
return this._scalingConfiguration != null;
}
///
/// Gets and sets the property ServerlessV2ScalingConfiguration.
///
public ServerlessV2ScalingConfiguration ServerlessV2ScalingConfiguration
{
get { return this._serverlessV2ScalingConfiguration; }
set { this._serverlessV2ScalingConfiguration = value; }
}
// Check to see if ServerlessV2ScalingConfiguration property is set
internal bool IsSetServerlessV2ScalingConfiguration()
{
return this._serverlessV2ScalingConfiguration != null;
}
///
/// Gets and sets the property StorageEncrypted.
///
/// Specifies whether the DB cluster is encrypted.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public bool StorageEncrypted
{
get { return this._storageEncrypted.GetValueOrDefault(); }
set { this._storageEncrypted = value; }
}
// Check to see if StorageEncrypted property is set
internal bool IsSetStorageEncrypted()
{
return this._storageEncrypted.HasValue;
}
///
/// Gets and sets the property StorageType.
///
/// The storage type to associate with the DB cluster.
///
///
///
/// For information on storage types for Aurora DB clusters, see Storage
/// configurations for Amazon Aurora DB clusters. For information on storage types
/// for Multi-AZ DB clusters, see Settings
/// for creating Multi-AZ DB clusters.
///
///
///
/// 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 for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
///
/// Valid Values:
///
/// -
///
/// Aurora DB clusters -
aurora | aurora-iopt1
///
/// -
///
/// Multi-AZ DB clusters -
io1
///
///
///
/// Default:
///
/// -
///
/// Aurora DB clusters -
aurora
///
/// -
///
/// Multi-AZ DB clusters -
io1
///
///
///
public string StorageType
{
get { return this._storageType; }
set { this._storageType = value; }
}
// Check to see if StorageType property is set
internal bool IsSetStorageType()
{
return this._storageType != null;
}
///
/// Gets and sets the property Tags.
///
/// Tags to assign to the DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public List Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property VpcSecurityGroupIds.
///
/// A list of EC2 VPC security groups to associate with this DB cluster.
///
///
///
/// Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
///
///
public List VpcSecurityGroupIds
{
get { return this._vpcSecurityGroupIds; }
set { this._vpcSecurityGroupIds = value; }
}
// Check to see if VpcSecurityGroupIds property is set
internal bool IsSetVpcSecurityGroupIds()
{
return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0;
}
}
}