/* * 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 lightsail-2016-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.Lightsail.Model { /// /// Container for the parameters to the CreateDiskSnapshot operation. /// Creates a snapshot of a block storage disk. You can use snapshots for backups, to /// make copies of disks, and to save data before shutting down a Lightsail instance. /// /// /// /// You can take a snapshot of an attached disk that is in use; however, snapshots only /// capture data that has been written to your disk at the time the snapshot command is /// issued. This may exclude any data that has been cached by any applications or the /// operating system. If you can pause any file systems on the disk long enough to take /// a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all /// file writes to the disk, you should unmount the disk from within the Lightsail instance, /// issue the create disk snapshot command, and then remount the disk to ensure a consistent /// and complete snapshot. You may remount and use your disk while the snapshot status /// is pending. /// /// /// /// You can also use this operation to create a snapshot of an instance's system volume. /// You might want to do this, for example, to recover data from the system volume of /// a botched instance or to create a backup of the system volume like you would for a /// block storage disk. To create a snapshot of a system volume, just define the instance /// name parameter when issuing the snapshot command, and a snapshot of the defined /// instance's system volume will be created. After the snapshot is available, you can /// create a block storage disk from the snapshot and attach it to a running instance /// to access the data on the disk. /// /// /// /// The create disk snapshot operation supports tag-based access control /// via request tags. For more information, see the Amazon /// Lightsail Developer Guide. /// /// public partial class CreateDiskSnapshotRequest : AmazonLightsailRequest { private string _diskName; private string _diskSnapshotName; private string _instanceName; private List _tags = new List(); /// /// Gets and sets the property DiskName. /// /// The unique name of the source disk (e.g., Disk-Virginia-1). /// /// /// /// This parameter cannot be defined together with the instance name parameter. /// The disk name and instance name parameters are mutually /// exclusive. /// /// /// public string DiskName { get { return this._diskName; } set { this._diskName = value; } } // Check to see if DiskName property is set internal bool IsSetDiskName() { return this._diskName != null; } /// /// Gets and sets the property DiskSnapshotName. /// /// The name of the destination disk snapshot (e.g., my-disk-snapshot) based /// on the source disk. /// /// [AWSProperty(Required=true)] public string DiskSnapshotName { get { return this._diskSnapshotName; } set { this._diskSnapshotName = value; } } // Check to see if DiskSnapshotName property is set internal bool IsSetDiskSnapshotName() { return this._diskSnapshotName != null; } /// /// Gets and sets the property InstanceName. /// /// The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). /// When this is defined, a snapshot of the instance's system volume is created. /// /// /// /// This parameter cannot be defined together with the disk name parameter. /// The instance name and disk name parameters are mutually /// exclusive. /// /// /// public string InstanceName { get { return this._instanceName; } set { this._instanceName = value; } } // Check to see if InstanceName property is set internal bool IsSetInstanceName() { return this._instanceName != null; } /// /// Gets and sets the property Tags. /// /// The tag keys and optional values to add to the resource during create. /// /// /// /// Use the TagResource action to tag a resource after it's created. /// /// 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; } } }