/* * 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 CopyDBClusterSnapshot operation. /// Copies a snapshot of a cluster. /// /// /// /// To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier /// must be the Amazon Resource Name (ARN) of the shared cluster snapshot. You can only /// copy a shared DB cluster snapshot, whether encrypted or not, in the same Amazon Web /// Services Region. /// /// /// /// To cancel the copy operation after it is in progress, delete the target cluster snapshot /// identified by TargetDBClusterSnapshotIdentifier while that cluster snapshot /// is in the copying status. /// /// public partial class CopyDBClusterSnapshotRequest : AmazonDocDBRequest { private bool? _copyTags; private string _kmsKeyId; private string _preSignedUrl; private string _sourceDBClusterSnapshotIdentifier; private List _tags = new List(); private string _targetDBClusterSnapshotIdentifier; /// /// Gets and sets the property CopyTags. /// /// Set to true to copy all tags from the source cluster snapshot to the /// target cluster snapshot, and otherwise false. The default is false. /// /// public bool CopyTags { get { return this._copyTags.GetValueOrDefault(); } set { this._copyTags = value; } } // Check to see if CopyTags property is set internal bool IsSetCopyTags() { return this._copyTags.HasValue; } /// /// Gets and sets the property KmsKeyId. /// /// The KMS key ID for an encrypted cluster snapshot. The KMS key ID is the Amazon Resource /// Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key. /// /// /// /// If you copy an encrypted cluster snapshot from your Amazon Web Services account, you /// can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption /// key. If you don't specify a value for KmsKeyId, then the copy of the /// cluster snapshot is encrypted with the same KMS key as the source cluster snapshot. /// /// /// /// If you copy an encrypted cluster snapshot that is shared from another Amazon Web Services /// account, then you must specify a value for KmsKeyId. /// /// /// /// To copy an encrypted cluster snapshot to another Amazon Web Services Region, set KmsKeyId /// to the KMS key ID that you want to use to encrypt the copy of the cluster snapshot /// in the destination Region. KMS encryption keys are specific to the Amazon Web Services /// Region that they are created in, and you can't use encryption keys from one Amazon /// Web Services Region in another Amazon Web Services Region. /// /// /// /// If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId /// parameter, an error is returned. /// /// 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 PreSignedUrl. /// /// The URL that contains a Signature Version 4 signed request for theCopyDBClusterSnapshot /// API action in the Amazon Web Services Region that contains the source cluster snapshot /// to copy. You must use the PreSignedUrl parameter when copying a cluster /// snapshot from another Amazon Web Services Region. /// /// /// /// 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 pre-signed URL that /// is a valid request for the operation that can be executed in the source Amazon Web /// Services Region. /// /// /// /// The presigned URL must be a valid request for the CopyDBClusterSnapshot /// API action that can be executed in the source Amazon Web Services Region that contains /// the cluster snapshot to be copied. The presigned URL request must contain the following /// parameter values: /// ///
  • /// /// SourceRegion - The ID of the region that contains the snapshot to be /// copied. /// ///
  • /// /// SourceDBClusterSnapshotIdentifier - The identifier for the the encrypted /// cluster snapshot 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 cluster snapshot from the us-east-1 Amazon Web Services Region, then /// your SourceDBClusterSnapshotIdentifier looks something like the following: /// arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot. /// ///
  • /// /// TargetDBClusterSnapshotIdentifier - The identifier for the new cluster /// snapshot to be created. This parameter isn't case sensitive. /// ///
///
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 SourceDBClusterSnapshotIdentifier. /// /// The identifier of the cluster snapshot to copy. This parameter is not case sensitive. /// /// /// /// Constraints: /// ///
  • /// /// Must specify a valid system snapshot in the available state. /// ///
  • /// /// If the source snapshot is in the same Amazon Web Services Region as the copy, specify /// a valid snapshot identifier. /// ///
  • /// /// If the source snapshot is in a different Amazon Web Services Region than the copy, /// specify a valid cluster snapshot ARN. /// ///
/// /// Example: my-cluster-snapshot1 /// ///
[AWSProperty(Required=true)] public string SourceDBClusterSnapshotIdentifier { get { return this._sourceDBClusterSnapshotIdentifier; } set { this._sourceDBClusterSnapshotIdentifier = value; } } // Check to see if SourceDBClusterSnapshotIdentifier property is set internal bool IsSetSourceDBClusterSnapshotIdentifier() { return this._sourceDBClusterSnapshotIdentifier != null; } /// /// Gets and sets the property Tags. /// /// The tags to be assigned to the cluster snapshot. /// /// 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 TargetDBClusterSnapshotIdentifier. /// /// The identifier of the new cluster snapshot to create from the source cluster snapshot. /// This parameter is not 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-cluster-snapshot2 /// ///
[AWSProperty(Required=true)] public string TargetDBClusterSnapshotIdentifier { get { return this._targetDBClusterSnapshotIdentifier; } set { this._targetDBClusterSnapshotIdentifier = value; } } // Check to see if TargetDBClusterSnapshotIdentifier property is set internal bool IsSetTargetDBClusterSnapshotIdentifier() { return this._targetDBClusterSnapshotIdentifier != null; } } }