/* * 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 docdb-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.DocDB.Model { /// /// Container for the parameters to the CreateDBCluster operation. /// Creates a new Amazon DocumentDB cluster. /// public partial class CreateDBClusterRequest : AmazonDocDBRequest { private List _availabilityZones = new List(); private int? _backupRetentionPeriod; private string _dbClusterIdentifier; private string _dbClusterParameterGroupName; private string _dbSubnetGroupName; private bool? _deletionProtection; private List _enableCloudwatchLogsExports = new List(); private string _engine; private string _engineVersion; private string _globalClusterIdentifier; private string _kmsKeyId; private string _masterUsername; private string _masterUserPassword; private int? _port; private string _preferredBackupWindow; private string _preferredMaintenanceWindow; private string _preSignedUrl; private bool? _storageEncrypted; private List _tags = new List(); private List _vpcSecurityGroupIds = new List(); /// /// Gets and sets the property AvailabilityZones. /// /// A list of Amazon EC2 Availability Zones that instances in the cluster can be created /// in. /// /// 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 BackupRetentionPeriod. /// /// The number of days for which automated backups are retained. You must specify a minimum /// value of 1. /// /// /// /// 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 DBClusterIdentifier. /// /// The cluster identifier. This parameter is stored as a lowercase string. /// /// /// /// Constraints: /// ///
  • /// /// Must contain from 1 to 63 letters, numbers, or hyphens. /// ///
  • /// /// The first character must be a letter. /// ///
  • /// /// Cannot end with a hyphen or contain two consecutive hyphens. /// ///
/// /// Example: my-cluster /// ///
[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 DBClusterParameterGroupName. /// /// The name of the cluster parameter group to associate with this cluster. /// /// 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 subnet group to associate with this cluster. /// /// /// /// Constraints: Must match the name of an existing DBSubnetGroup. Must not /// be default. /// /// /// /// Example: mySubnetgroup /// /// 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 DeletionProtection. /// /// Specifies whether this cluster can be deleted. If DeletionProtection /// is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection /// is disabled. DeletionProtection protects clusters from being accidentally /// deleted. /// /// 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 EnableCloudwatchLogsExports. /// /// A list of log types that need to be enabled for exporting to Amazon CloudWatch Logs. /// You can enable audit logs or profiler logs. For more information, see /// Auditing Amazon DocumentDB Events and /// Profiling Amazon DocumentDB Operations. /// /// 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 Engine. /// /// The name of the database engine to be used for this cluster. /// /// /// /// Valid values: docdb /// /// [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 EngineVersion. /// /// The version number of the database engine to use. The --engine-version /// will default to the latest major engine version. For production workloads, we recommend /// explicitly declaring this parameter with the intended major engine version. /// /// 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 cluster identifier of the new global cluster. /// /// [AWSProperty(Min=1, Max=255)] 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 KmsKeyId. /// /// The KMS key identifier for an encrypted cluster. /// /// /// /// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. /// If you are creating a cluster using the same Amazon Web Services account that owns /// the KMS encryption key that is used to encrypt the new cluster, you can use the KMS /// key alias instead of the ARN for the KMS encryption key. /// /// /// /// If an encryption key is not specified in KmsKeyId: /// ///
  • /// /// If the StorageEncrypted parameter is true, Amazon DocumentDB /// uses your default encryption key. /// ///
/// /// KMS creates the default encryption key for your Amazon Web Services account. Your /// Amazon Web Services account has a different default encryption key for each Amazon /// Web Services Regions. /// ///
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 MasterUsername. /// /// The name of the master user for the cluster. /// /// /// /// Constraints: /// ///
  • /// /// Must be from 1 to 63 letters or numbers. /// ///
  • /// /// The first character must be a letter. /// ///
  • /// /// Cannot 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. This password can contain any printable /// ASCII character except forward slash (/), double quote ("), or the "at" symbol (@). /// /// /// /// Constraints: Must contain from 8 to 100 characters. /// /// 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 Port. /// /// The port number on which the instances in the cluster accept connections. /// /// 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. /// /// /// /// The default is a 30-minute window selected at random from an 8-hour block of time /// for each Amazon Web Services Region. /// /// /// /// 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, in Universal Coordinated /// Time (UTC). /// /// /// /// 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 Amazon Web Services Region, occurring on a random day of the week. /// /// /// /// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun /// /// /// /// Constraints: Minimum 30-minute window. /// /// 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. /// /// Not currently supported. /// /// 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 StorageEncrypted. /// /// Specifies whether the cluster is encrypted. /// /// 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 Tags. /// /// The tags to be assigned to the cluster. /// /// 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 cluster. /// /// 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; } } }