/* * 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 CopyDBSnapshot operation. /// Copies the specified DB snapshot. The source DB snapshot must be in the available /// state. /// /// /// /// You can copy a snapshot from one Amazon Web Services Region to another. In that case, /// the Amazon Web Services Region where you call the CopyDBSnapshot operation /// is the destination Amazon Web Services Region for the DB snapshot copy. /// /// /// /// This command doesn't apply to RDS Custom. /// /// /// /// For more information about copying snapshots, see Copying /// a DB Snapshot in the Amazon RDS User Guide. /// /// public partial class CopyDBSnapshotRequest : AmazonRDSRequest { private bool? _copyOptionGroup; private bool? _copyTags; private string _kmsKeyId; private string _optionGroupName; private string _preSignedUrl; private string _sourceDBSnapshotIdentifier; private List _tags = new List(); private string _targetCustomAvailabilityZone; private string _targetDBSnapshotIdentifier; /// /// Gets and sets the property CopyOptionGroup. /// /// A value that indicates whether to copy the DB option group associated with the source /// DB snapshot to the target Amazon Web Services account and associate with the target /// DB snapshot. The associated option group can be copied only with cross-account snapshot /// copy calls. /// /// public bool CopyOptionGroup { get { return this._copyOptionGroup.GetValueOrDefault(); } set { this._copyOptionGroup = value; } } // Check to see if CopyOptionGroup property is set internal bool IsSetCopyOptionGroup() { return this._copyOptionGroup.HasValue; } /// /// Gets and sets the property CopyTags. /// /// A value that indicates whether to copy all tags from the source DB snapshot to the /// target DB snapshot. By default, tags aren't copied. /// /// 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 Amazon Web Services KMS key identifier for an encrypted DB snapshot. The Amazon /// Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for /// the KMS key. /// /// /// /// If you copy an encrypted DB snapshot from your Amazon Web Services account, you can /// specify a value for this parameter to encrypt the copy with a new KMS key. If you /// don't specify a value for this parameter, then the copy of the DB snapshot is encrypted /// with the same Amazon Web Services KMS key as the source DB snapshot. /// /// /// /// If you copy an encrypted DB snapshot that is shared from another Amazon Web Services /// account, then you must specify a value for this parameter. /// /// /// /// If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted. /// /// /// /// If you copy an encrypted snapshot to a different Amazon Web Services Region, then /// you must specify an Amazon Web Services KMS key identifier for the destination Amazon /// Web Services Region. KMS keys are specific to the Amazon Web Services Region that /// they are created in, and you can't use KMS keys from one Amazon Web Services Region /// in another Amazon Web Services 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 OptionGroupName. /// /// The name of an option group to associate with the copy of the snapshot. /// /// /// /// Specify this option if you are copying a snapshot from one Amazon Web Services Region /// to another, and your DB instance uses a nondefault option group. If your source DB /// instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you /// must specify this option when copying across Amazon Web Services Regions. For more /// information, see Option /// group considerations in the Amazon RDS User Guide. /// /// 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 PreSignedUrl. /// /// When you are copying a snapshot from one Amazon Web Services GovCloud (US) Region /// to another, the URL that contains a Signature Version 4 signed request for the CopyDBSnapshot /// API operation in the source Amazon Web Services Region that contains the source DB /// snapshot to copy. /// /// /// /// This setting applies only to Amazon Web Services GovCloud (US) Regions. It's ignored /// in other Amazon Web Services Regions. /// /// /// /// You must specify this parameter when you copy an encrypted DB snapshot from another /// Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl /// when you are copying an encrypted DB snapshot in the same Amazon Web Services Region. /// /// /// /// The presigned URL must be a valid request for the CopyDBClusterSnapshot /// API operation that can run in the source Amazon Web Services Region that contains /// the encrypted DB cluster snapshot to copy. The presigned URL request must contain /// the following parameter values: /// ///
  • /// /// DestinationRegion - The Amazon Web Services Region that the encrypted /// DB snapshot is copied to. This Amazon Web Services Region is the same one where the /// CopyDBSnapshot operation is called that contains this presigned URL. /// /// /// /// For example, if you copy an encrypted DB snapshot from the us-west-2 Amazon Web Services /// Region to the us-east-1 Amazon Web Services Region, then you call the CopyDBSnapshot /// operation in the us-east-1 Amazon Web Services Region and provide a presigned URL /// that contains a call to the CopyDBSnapshot operation in the us-west-2 /// Amazon Web Services Region. For this example, the DestinationRegion in /// the presigned URL must be set to the us-east-1 Amazon Web Services Region. /// ///
  • /// /// KmsKeyId - The KMS key identifier for the KMS key to use to encrypt /// the copy of the DB snapshot in the destination Amazon Web Services Region. This is /// the same identifier for both the CopyDBSnapshot operation that is called /// in the destination Amazon Web Services Region, and the operation contained in the /// presigned URL. /// ///
  • /// /// SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted /// 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 /// DB snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBSnapshotIdentifier /// looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115. /// ///
/// /// 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. /// /// ///
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 SourceDBSnapshotIdentifier. /// /// The identifier for the source DB snapshot. /// /// /// /// If the source snapshot is in the same Amazon Web Services Region as the copy, specify /// a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805. /// /// /// /// If the source snapshot is in a different Amazon Web Services Region than the copy, /// specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805. /// /// /// /// If you are copying from a shared manual DB snapshot, this parameter must be the Amazon /// Resource Name (ARN) of the shared DB snapshot. /// /// /// /// If you are copying an encrypted snapshot this parameter must be in the ARN format /// for the source Amazon Web Services Region. /// /// /// /// Constraints: /// ///
  • /// /// Must specify a valid system snapshot in the "available" state. /// ///
/// /// Example: rds:mydb-2012-04-02-00-01 /// /// /// /// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 /// /// ///
[AWSProperty(Required=true)] public string SourceDBSnapshotIdentifier { get { return this._sourceDBSnapshotIdentifier; } set { this._sourceDBSnapshotIdentifier = value; } } // Check to see if SourceDBSnapshotIdentifier property is set internal bool IsSetSourceDBSnapshotIdentifier() { return this._sourceDBSnapshotIdentifier != null; } /// /// Gets and sets the property Tags. /// 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 TargetCustomAvailabilityZone. /// /// The external custom Availability Zone (CAZ) identifier for the target CAZ. /// /// /// /// Example: rds-caz-aiqhTgQv. /// /// public string TargetCustomAvailabilityZone { get { return this._targetCustomAvailabilityZone; } set { this._targetCustomAvailabilityZone = value; } } // Check to see if TargetCustomAvailabilityZone property is set internal bool IsSetTargetCustomAvailabilityZone() { return this._targetCustomAvailabilityZone != null; } /// /// Gets and sets the property TargetDBSnapshotIdentifier. /// /// The identifier for the copy of the snapshot. /// /// /// /// Constraints: /// ///
  • /// /// Can't be null, empty, or blank /// ///
  • /// /// Must contain from 1 to 255 letters, numbers, or hyphens /// ///
  • /// /// First character must be a letter /// ///
  • /// /// Can't end with a hyphen or contain two consecutive hyphens /// ///
/// /// Example: my-db-snapshot /// ///
[AWSProperty(Required=true)] public string TargetDBSnapshotIdentifier { get { return this._targetDBSnapshotIdentifier; } set { this._targetDBSnapshotIdentifier = value; } } // Check to see if TargetDBSnapshotIdentifier property is set internal bool IsSetTargetDBSnapshotIdentifier() { return this._targetDBSnapshotIdentifier != null; } } }