/* * 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 autoscaling-2011-01-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.AutoScaling.Model { /// /// Describes information used to set up an Amazon EBS volume specified in a block device /// mapping. /// public partial class Ebs { private bool? _deleteOnTermination; private bool? _encrypted; private int? _iops; private string _snapshotId; private int? _throughput; private int? _volumeSize; private string _volumeType; /// /// Gets and sets the property DeleteOnTermination. /// /// Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto /// Scaling, the default value is true. /// /// public bool DeleteOnTermination { get { return this._deleteOnTermination.GetValueOrDefault(); } set { this._deleteOnTermination = value; } } // Check to see if DeleteOnTermination property is set internal bool IsSetDeleteOnTermination() { return this._deleteOnTermination.HasValue; } /// /// Gets and sets the property Encrypted. /// /// Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be /// attached to instances that support Amazon EBS encryption. For more information, see /// Supported /// instance types. If your AMI uses encrypted volumes, you can also only launch it /// on supported instance types. /// /// /// /// If you are creating a volume from a snapshot, you cannot create an unencrypted volume /// from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch /// configuration. /// /// /// /// If you enable encryption by default, the EBS volumes that you create are always encrypted, /// either using the Amazon Web Services managed KMS key or a customer-managed KMS key, /// regardless of whether the snapshot was encrypted. /// /// /// /// For more information, see Use /// Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 /// Auto Scaling User Guide. /// /// /// 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 Iops. /// /// The number of input/output (I/O) operations per second (IOPS) to provision for the /// volume. For gp3 and io1 volumes, this represents the number /// of IOPS that are provisioned for the volume. For gp2 volumes, this represents /// the baseline performance of the volume and the rate at which the volume accumulates /// I/O credits for bursting. /// /// /// /// The following are the supported values for each volume type: /// /// /// /// For io1 volumes, we guarantee 64,000 IOPS only for Instances /// built on the Nitro System. Other instance families guarantee performance up to /// 32,000 IOPS. /// /// /// /// Iops is supported when the volume type is gp3 or io1 /// and required only when the volume type is io1. (Not used with standard, /// gp2, st1, or sc1 volumes.) /// /// [AWSProperty(Min=100, Max=20000)] public int Iops { get { return this._iops.GetValueOrDefault(); } set { this._iops = value; } } // Check to see if Iops property is set internal bool IsSetIops() { return this._iops.HasValue; } /// /// Gets and sets the property SnapshotId. /// /// The snapshot ID of the volume to use. /// /// /// /// You must specify either a VolumeSize or a SnapshotId. /// /// [AWSProperty(Min=1, Max=255)] 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 Throughput. /// /// The throughput (MiBps) to provision for a gp3 volume. /// /// [AWSProperty(Min=125, Max=1000)] public int Throughput { get { return this._throughput.GetValueOrDefault(); } set { this._throughput = value; } } // Check to see if Throughput property is set internal bool IsSetThroughput() { return this._throughput.HasValue; } /// /// Gets and sets the property VolumeSize. /// /// The volume size, in GiBs. The following are the supported volumes sizes for each volume /// type: /// /// /// /// You must specify either a SnapshotId or a VolumeSize. If /// you specify both SnapshotId and VolumeSize, the volume size /// must be equal or greater than the size of the snapshot. /// /// [AWSProperty(Min=1, Max=16384)] 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; } /// /// Gets and sets the property VolumeType. /// /// The volume type. For more information, see Amazon /// EBS volume types in the Amazon EC2 User Guide for Linux Instances. /// /// /// /// Valid values: standard | io1 | gp2 | st1 /// | sc1 | gp3 /// /// [AWSProperty(Min=1, Max=255)] 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; } } }