/* * 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 fsx-2018-03-01.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.FSx.Model { /// /// Container for the parameters to the CopyBackup operation. /// Copies an existing backup within the same Amazon Web Services account to another Amazon /// Web Services Region (cross-Region copy) or within the same Amazon Web Services Region /// (in-Region copy). You can have up to five backup copy requests in progress to a single /// destination Region per account. /// /// /// /// You can use cross-Region backup copies for cross-Region disaster recovery. You can /// periodically take backups and copy them to another Region so that in the event of /// a disaster in the primary Region, you can restore from backup and recover availability /// quickly in the other Region. You can make cross-Region copies only within your Amazon /// Web Services partition. A partition is a grouping of Regions. Amazon Web Services /// currently has three partitions: aws (Standard Regions), aws-cn /// (China Regions), and aws-us-gov (Amazon Web Services GovCloud [US] Regions). /// /// /// /// You can also use backup copies to clone your file dataset to another Region or within /// the same Region. /// /// /// /// You can use the SourceRegion parameter to specify the Amazon Web Services /// Region from which the backup will be copied. For example, if you make the call from /// the us-west-1 Region and want to copy a backup from the us-east-2 /// Region, you specify us-east-2 in the SourceRegion parameter /// to make a cross-Region copy. If you don't specify a Region, the backup copy is created /// in the same Region where the request is sent from (in-Region copy). /// /// /// /// For more information about creating backup copies, see /// Copying backups in the Amazon FSx for Windows User Guide, Copying /// backups in the Amazon FSx for Lustre User Guide, and Copying /// backups in the Amazon FSx for OpenZFS User Guide. /// /// public partial class CopyBackupRequest : AmazonFSxRequest { private string _clientRequestToken; private bool? _copyTags; private string _kmsKeyId; private string _sourceBackupId; private string _sourceRegion; private List _tags = new List(); /// /// Gets and sets the property ClientRequestToken. /// [AWSProperty(Min=1, Max=63)] public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// /// Gets and sets the property CopyTags. /// /// A Boolean flag indicating whether tags from the source backup should be copied to /// the backup copy. This value defaults to false. /// /// /// /// If you set CopyTags to true and the source backup has existing /// tags, you can use the Tags parameter to create new tags, provided that /// the sum of the source backup tags and the new tags doesn't exceed 50. Both sets of /// tags are merged. If there are tag conflicts (for example, two tags with the same key /// but different values), the tags created with the Tags parameter take /// precedence. /// /// 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. /// [AWSProperty(Min=1, Max=2048)] 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 SourceBackupId. /// /// The ID of the source backup. Specifies the ID of the backup that's being copied. /// /// [AWSProperty(Required=true, Min=12, Max=128)] public string SourceBackupId { get { return this._sourceBackupId; } set { this._sourceBackupId = value; } } // Check to see if SourceBackupId property is set internal bool IsSetSourceBackupId() { return this._sourceBackupId != null; } /// /// Gets and sets the property SourceRegion. /// /// The source Amazon Web Services Region of the backup. Specifies the Amazon Web Services /// Region from which the backup is being copied. The source and destination Regions must /// be in the same Amazon Web Services partition. If you don't specify a Region, SourceRegion /// defaults to the Region where the request is sent from (in-Region copy). /// /// [AWSProperty(Min=1, Max=20)] public string SourceRegion { get { return this._sourceRegion; } set { this._sourceRegion = value; } } // Check to see if SourceRegion property is set internal bool IsSetSourceRegion() { return this._sourceRegion != null; } /// /// Gets and sets the property Tags. /// [AWSProperty(Min=1, Max=50)] 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; } } }