/* * 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 ec2-2016-11-15.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.EC2.Model { /// /// Describes a snapshot. /// public partial class Snapshot { private string _dataEncryptionKeyId; private string _description; private bool? _encrypted; private string _kmsKeyId; private string _outpostArn; private string _ownerAlias; private string _ownerId; private string _progress; private DateTime? _restoreExpiryTime; private string _snapshotId; private SSEType _sseType; private DateTime? _startTime; private SnapshotState _state; private string _stateMessage; private StorageTier _storageTier; private List _tags = new List(); private string _volumeId; private int? _volumeSize; /// /// Gets and sets the property DataEncryptionKeyId. /// /// The data encryption key identifier for the snapshot. This value is a unique identifier /// that corresponds to the data encryption key that was used to encrypt the original /// volume or snapshot copy. Because data encryption keys are inherited by volumes created /// from snapshots, and vice versa, if snapshots share the same data encryption key identifier, /// then they belong to the same volume/snapshot lineage. This parameter is only returned /// by DescribeSnapshots. /// /// public string DataEncryptionKeyId { get { return this._dataEncryptionKeyId; } set { this._dataEncryptionKeyId = value; } } // Check to see if DataEncryptionKeyId property is set internal bool IsSetDataEncryptionKeyId() { return this._dataEncryptionKeyId != null; } /// /// Gets and sets the property Description. /// /// The description for the snapshot. /// /// public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property Encrypted. /// /// Indicates whether the snapshot is encrypted. /// /// public bool Encrypted { get { return this._encrypted.GetValueOrDefault(); } set { this._encrypted = value; } } // Check to see if Encrypted property is set internal bool IsSetEncrypted() { return this._encrypted.HasValue; } /// /// Gets and sets the property KmsKeyId. /// /// The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was /// used to protect the volume encryption key for the parent volume. /// /// 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 OutpostArn. /// /// The ARN of the Outpost on which the snapshot is stored. For more information, see /// Amazon /// EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide. /// /// public string OutpostArn { get { return this._outpostArn; } set { this._outpostArn = value; } } // Check to see if OutpostArn property is set internal bool IsSetOutpostArn() { return this._outpostArn != null; } /// /// Gets and sets the property OwnerAlias. /// /// The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). /// This is not the user-configured Amazon Web Services account alias set using the IAM /// console. /// /// public string OwnerAlias { get { return this._ownerAlias; } set { this._ownerAlias = value; } } // Check to see if OwnerAlias property is set internal bool IsSetOwnerAlias() { return this._ownerAlias != null; } /// /// Gets and sets the property OwnerId. /// /// The ID of the Amazon Web Services account that owns the EBS snapshot. /// /// public string OwnerId { get { return this._ownerId; } set { this._ownerId = value; } } // Check to see if OwnerId property is set internal bool IsSetOwnerId() { return this._ownerId != null; } /// /// Gets and sets the property Progress. /// /// The progress of the snapshot, as a percentage. /// /// public string Progress { get { return this._progress; } set { this._progress = value; } } // Check to see if Progress property is set internal bool IsSetProgress() { return this._progress != null; } /// /// Gets and sets the property RestoreExpiryTime. /// /// Only for archived snapshots that are temporarily restored. Indicates the date and /// time when a temporarily restored snapshot will be automatically re-archived. /// /// public DateTime RestoreExpiryTime { get { return this._restoreExpiryTime.GetValueOrDefault(); } set { this._restoreExpiryTime = value; } } // Check to see if RestoreExpiryTime property is set internal bool IsSetRestoreExpiryTime() { return this._restoreExpiryTime.HasValue; } /// /// Gets and sets the property SnapshotId. /// /// The ID of the snapshot. Each snapshot receives a unique identifier when it is created. /// /// public string SnapshotId { get { return this._snapshotId; } set { this._snapshotId = value; } } // Check to see if SnapshotId property is set internal bool IsSetSnapshotId() { return this._snapshotId != null; } /// /// Gets and sets the property SseType. /// /// Reserved for future use. /// /// public SSEType SseType { get { return this._sseType; } set { this._sseType = value; } } // Check to see if SseType property is set internal bool IsSetSseType() { return this._sseType != null; } /// /// Gets and sets the property StartTime. /// /// The time stamp when the snapshot was initiated. /// /// public DateTime StartTime { get { return this._startTime.GetValueOrDefault(); } set { this._startTime = value; } } // Check to see if StartTime property is set internal bool IsSetStartTime() { return this._startTime.HasValue; } /// /// Gets and sets the property State. /// /// The snapshot state. /// /// public SnapshotState State { get { return this._state; } set { this._state = value; } } // Check to see if State property is set internal bool IsSetState() { return this._state != null; } /// /// Gets and sets the property StateMessage. /// /// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation /// fails (for example, if the proper Key Management Service (KMS) permissions are not /// obtained) this field displays error state details to help you diagnose why the error /// occurred. This parameter is only returned by DescribeSnapshots. /// /// public string StateMessage { get { return this._stateMessage; } set { this._stateMessage = value; } } // Check to see if StateMessage property is set internal bool IsSetStateMessage() { return this._stateMessage != null; } /// /// Gets and sets the property StorageTier. /// /// The storage tier in which the snapshot is stored. standard indicates /// that the snapshot is stored in the standard snapshot storage tier and that it is ready /// for use. archive indicates that the snapshot is currently archived and /// that it must be restored before it can be used. /// /// public StorageTier StorageTier { get { return this._storageTier; } set { this._storageTier = value; } } // Check to see if StorageTier property is set internal bool IsSetStorageTier() { return this._storageTier != null; } /// /// Gets and sets the property Tags. /// /// Any tags assigned to the 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 VolumeId. /// /// The ID of the volume that was used to create the snapshot. Snapshots created by the /// CopySnapshot action have an arbitrary volume ID that should not be used for /// any purpose. /// /// public string VolumeId { get { return this._volumeId; } set { this._volumeId = value; } } // Check to see if VolumeId property is set internal bool IsSetVolumeId() { return this._volumeId != null; } /// /// Gets and sets the property VolumeSize. /// /// The size of the volume, in GiB. /// /// public int VolumeSize { get { return this._volumeSize.GetValueOrDefault(); } set { this._volumeSize = value; } } // Check to see if VolumeSize property is set internal bool IsSetVolumeSize() { return this._volumeSize.HasValue; } } }