/* * 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; } } }