/* * 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-elastic-2022-11-28.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.DocDBElastic.Model { /// /// Container for the parameters to the RestoreClusterFromSnapshot operation. /// Restores a Elastic DocumentDB cluster from a snapshot. /// public partial class RestoreClusterFromSnapshotRequest : AmazonDocDBElasticRequest { private string _clusterName; private string _kmsKeyId; private string _snapshotArn; private List _subnetIds = new List(); private Dictionary _tags = new Dictionary(); private List _vpcSecurityGroupIds = new List(); /// /// Gets and sets the property ClusterName. /// /// The name of the Elastic DocumentDB cluster. /// /// [AWSProperty(Required=true)] public string ClusterName { get { return this._clusterName; } set { this._clusterName = value; } } // Check to see if ClusterName property is set internal bool IsSetClusterName() { return this._clusterName != null; } /// /// Gets and sets the property KmsKeyId. /// /// The KMS key identifier to use to encrypt the new Elastic DocumentDB 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 account that owns this KMS encryption /// key, you can use the KMS key alias instead of the ARN as the KMS encryption key. /// /// /// /// If an encryption key is not specified here, Elastic DocumentDB uses the default encryption /// key that KMS creates for your account. Your account has a different default encryption /// key for each Amazon Region. /// /// 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 SnapshotArn. /// /// The arn of the Elastic DocumentDB snapshot. /// /// [AWSProperty(Required=true)] public string SnapshotArn { get { return this._snapshotArn; } set { this._snapshotArn = value; } } // Check to see if SnapshotArn property is set internal bool IsSetSnapshotArn() { return this._snapshotArn != null; } /// /// Gets and sets the property SubnetIds. /// /// The Amazon EC2 subnet IDs for the Elastic DocumentDB cluster. /// /// public List SubnetIds { get { return this._subnetIds; } set { this._subnetIds = value; } } // Check to see if SubnetIds property is set internal bool IsSetSubnetIds() { return this._subnetIds != null && this._subnetIds.Count > 0; } /// /// Gets and sets the property Tags. /// /// A list of the tag names to be assigned to the restored DB cluster, in the form of /// an array of key-value pairs in which the key is the tag name and the value is the /// key value. /// /// public Dictionary 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 the Elastic DocumentDB 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; } } }