/* * 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 storagegateway-2013-06-30.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.StorageGateway.Model { /// /// Describes an iSCSI cached volume. /// public partial class CachediSCSIVolume { private DateTime? _createdDate; private string _kmsKey; private string _sourceSnapshotId; private string _targetName; private string _volumeARN; private string _volumeAttachmentStatus; private string _volumeId; private VolumeiSCSIAttributes _volumeiSCSIAttributes; private double? _volumeProgress; private long? _volumeSizeInBytes; private string _volumeStatus; private string _volumeType; private long? _volumeUsedInBytes; /// /// Gets and sets the property CreatedDate. /// /// The date the volume was created. Volumes created prior to March 28, 2017 don’t have /// this timestamp. /// /// public DateTime CreatedDate { get { return this._createdDate.GetValueOrDefault(); } set { this._createdDate = value; } } // Check to see if CreatedDate property is set internal bool IsSetCreatedDate() { return this._createdDate.HasValue; } /// /// Gets and sets the property KMSKey. /// [AWSProperty(Min=7, Max=2048)] public string KMSKey { get { return this._kmsKey; } set { this._kmsKey = value; } } // Check to see if KMSKey property is set internal bool IsSetKMSKey() { return this._kmsKey != null; } /// /// Gets and sets the property SourceSnapshotId. /// /// If the cached volume was created from a snapshot, this field contains the snapshot /// ID used, e.g., snap-78e22663. Otherwise, this field is not included. /// /// public string SourceSnapshotId { get { return this._sourceSnapshotId; } set { this._sourceSnapshotId = value; } } // Check to see if SourceSnapshotId property is set internal bool IsSetSourceSnapshotId() { return this._sourceSnapshotId != null; } /// /// Gets and sets the property TargetName. /// /// The name of the iSCSI target used by an initiator to connect to a volume and used /// as a suffix for the target ARN. For example, specifying TargetName as /// myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. /// The target name must be unique across all volumes on a gateway. /// /// /// /// If you don't specify a value, Storage Gateway uses the value that was previously used /// for this volume as the new target name. /// /// [AWSProperty(Min=1, Max=200)] public string TargetName { get { return this._targetName; } set { this._targetName = value; } } // Check to see if TargetName property is set internal bool IsSetTargetName() { return this._targetName != null; } /// /// Gets and sets the property VolumeARN. /// /// The Amazon Resource Name (ARN) of the storage volume. /// /// [AWSProperty(Min=50, Max=500)] public string VolumeARN { get { return this._volumeARN; } set { this._volumeARN = value; } } // Check to see if VolumeARN property is set internal bool IsSetVolumeARN() { return this._volumeARN != null; } /// /// Gets and sets the property VolumeAttachmentStatus. /// /// A value that indicates whether a storage volume is attached to or detached from a /// gateway. For more information, see Moving /// your volumes to a different gateway. /// /// [AWSProperty(Min=3, Max=50)] public string VolumeAttachmentStatus { get { return this._volumeAttachmentStatus; } set { this._volumeAttachmentStatus = value; } } // Check to see if VolumeAttachmentStatus property is set internal bool IsSetVolumeAttachmentStatus() { return this._volumeAttachmentStatus != null; } /// /// Gets and sets the property VolumeId. /// /// The unique identifier of the volume, e.g., vol-AE4B946D. /// /// [AWSProperty(Min=12, Max=30)] 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 VolumeiSCSIAttributes. /// /// An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes /// for one stored volume. /// /// public VolumeiSCSIAttributes VolumeiSCSIAttributes { get { return this._volumeiSCSIAttributes; } set { this._volumeiSCSIAttributes = value; } } // Check to see if VolumeiSCSIAttributes property is set internal bool IsSetVolumeiSCSIAttributes() { return this._volumeiSCSIAttributes != null; } /// /// Gets and sets the property VolumeProgress. /// /// Represents the percentage complete if the volume is restoring or bootstrapping that /// represents the percent of data transferred. This field does not appear in the response /// if the cached volume is not restoring or bootstrapping. /// /// public double VolumeProgress { get { return this._volumeProgress.GetValueOrDefault(); } set { this._volumeProgress = value; } } // Check to see if VolumeProgress property is set internal bool IsSetVolumeProgress() { return this._volumeProgress.HasValue; } /// /// Gets and sets the property VolumeSizeInBytes. /// /// The size, in bytes, of the volume capacity. /// /// public long VolumeSizeInBytes { get { return this._volumeSizeInBytes.GetValueOrDefault(); } set { this._volumeSizeInBytes = value; } } // Check to see if VolumeSizeInBytes property is set internal bool IsSetVolumeSizeInBytes() { return this._volumeSizeInBytes.HasValue; } /// /// Gets and sets the property VolumeStatus. /// /// One of the VolumeStatus values that indicates the state of the storage volume. /// /// [AWSProperty(Min=3, Max=50)] public string VolumeStatus { get { return this._volumeStatus; } set { this._volumeStatus = value; } } // Check to see if VolumeStatus property is set internal bool IsSetVolumeStatus() { return this._volumeStatus != null; } /// /// Gets and sets the property VolumeType. /// /// One of the VolumeType enumeration values that describes the type of the volume. /// /// [AWSProperty(Min=3, Max=100)] public string VolumeType { get { return this._volumeType; } set { this._volumeType = value; } } // Check to see if VolumeType property is set internal bool IsSetVolumeType() { return this._volumeType != null; } /// /// Gets and sets the property VolumeUsedInBytes. /// /// The size of the data stored on the volume in bytes. This value is calculated based /// on the number of blocks that are touched, instead of the actual amount of data written. /// This value can be useful for sequential write patterns but less accurate for random /// write patterns. VolumeUsedInBytes is different from the compressed size /// of the volume, which is the value that is used to calculate your bill. /// /// /// /// This value is not available for volumes created prior to May 13, 2015, until you store /// data on the volume. /// /// /// /// If you use a delete tool that overwrites the data on your volume with random data, /// your usage will not be reduced. This is because the random data is not compressible. /// If you want to reduce the amount of billed storage on your volume, we recommend overwriting /// your files with zeros to compress the data to a negligible amount of actual storage. /// /// /// public long VolumeUsedInBytes { get { return this._volumeUsedInBytes.GetValueOrDefault(); } set { this._volumeUsedInBytes = value; } } // Check to see if VolumeUsedInBytes property is set internal bool IsSetVolumeUsedInBytes() { return this._volumeUsedInBytes.HasValue; } } }