/* * 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 RestoreDBClusterFromSnapshot operation. /// Creates a new cluster from a snapshot or cluster snapshot. /// /// /// /// If a snapshot is specified, the target cluster is created from the source DB snapshot /// with a default configuration and default security group. /// /// /// /// If a cluster snapshot is specified, the target cluster is created from the source /// cluster restore point with the same configuration as the original source DB cluster, /// except that the new cluster is created with the default security group. /// /// public partial class RestoreDBClusterFromSnapshotRequest : AmazonDocDBRequest { private List _availabilityZones = new List(); 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 _kmsKeyId; private int? _port; private string _snapshotIdentifier; private List _tags = new List(); private List _vpcSecurityGroupIds = new List(); /// /// Gets and sets the property AvailabilityZones. /// /// Provides the list of Amazon EC2 Availability Zones that instances in the restored /// DB 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 DBClusterIdentifier. /// /// The name of the cluster to create from the snapshot or cluster snapshot. This parameter /// isn't case sensitive. /// /// /// /// 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-snapshot-id /// ///
[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 DB cluster parameter group to associate with this DB cluster. /// /// /// /// Type: String.       Required: No. /// /// /// /// If this argument is omitted, the default DB cluster parameter group is used. If supplied, /// must match the name of an existing default DB cluster parameter group. The string /// must consist of from 1 to 255 letters, numbers or hyphens. Its first character must /// be a letter, and it cannot end with a hyphen or contain two consecutive hyphens. /// /// 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. /// /// The name of the subnet group to use for the new cluster. /// /// /// /// Constraints: If provided, must match the name of an existing DBSubnetGroup. /// /// /// /// 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 must be enabled for exporting to Amazon CloudWatch Logs. /// /// 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 database engine to use for the new cluster. /// /// /// /// Default: The same as source. /// /// /// /// Constraint: Must be compatible with the engine of the source. /// /// [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 of the database engine to use for the new cluster. /// /// 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 KmsKeyId. /// /// The KMS key identifier to use when restoring an encrypted cluster from a DB snapshot /// or cluster snapshot. /// /// /// /// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. /// If you are restoring a cluster with the same Amazon Web Services account that owns /// the KMS encryption key used to encrypt the new cluster, then you can use the KMS key /// alias instead of the ARN for the KMS encryption key. /// /// /// /// If you do not specify a value for the KmsKeyId parameter, then the following /// occurs: /// ///
  • /// /// If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, /// then the restored cluster is encrypted using the KMS key that was used to encrypt /// the snapshot or the cluster snapshot. /// ///
  • /// /// If the snapshot or the cluster snapshot in SnapshotIdentifier is not /// encrypted, then the restored DB cluster is not encrypted. /// ///
///
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 Port. /// /// The port number on which the new cluster accepts connections. /// /// /// /// Constraints: Must be a value from 1150 to 65535. /// /// /// /// Default: The same port as the original cluster. /// /// 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 SnapshotIdentifier. /// /// The identifier for the snapshot or cluster snapshot to restore from. /// /// /// /// You can use either the name or the Amazon Resource Name (ARN) to specify a cluster /// snapshot. However, you can use only the ARN to specify a snapshot. /// /// /// /// Constraints: /// ///
  • /// /// Must match the identifier of an existing snapshot. /// ///
///
[AWSProperty(Required=true)] public string SnapshotIdentifier { get { return this._snapshotIdentifier; } set { this._snapshotIdentifier = value; } } // Check to see if SnapshotIdentifier property is set internal bool IsSetSnapshotIdentifier() { return this._snapshotIdentifier != null; } /// /// Gets and sets the property Tags. /// /// The tags to be assigned to the restored 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 virtual private cloud (VPC) security groups that the new cluster will belong /// to. /// /// 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; } } }