class Aws::AutoScaling::Types::Ebs

Describes information used to set up an Amazon EBS volume specified in a block device mapping.

@note When making an API call, you may pass Ebs

data as a hash:

    {
      snapshot_id: "XmlStringMaxLen255",
      volume_size: 1,
      volume_type: "BlockDeviceEbsVolumeType",
      delete_on_termination: false,
      iops: 1,
      encrypted: false,
      throughput: 1,
    }

@!attribute [rw] snapshot_id

The snapshot ID of the volume to use.

You must specify either a `VolumeSize` or a `SnapshotId`.
@return [String]

@!attribute [rw] volume_size

The volume size, in GiBs. The following are the supported volumes
sizes for each volume type:

* `gp2` and `gp3`\: 1-16,384

* `io1`\: 4-16,384

* `st1` and `sc1`\: 125-16,384

* `standard`\: 1-1,024

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.
@return [Integer]

@!attribute [rw] volume_type

The volume type. For more information, see [Amazon EBS Volume
Types][1] in the *Amazon EC2 User Guide for Linux Instances*.

Valid Values: `standard` \| `io1` \| `gp2` \| `st1` \| `sc1` \|
`gp3`

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
@return [String]

@!attribute [rw] delete_on_termination

Indicates whether the volume is deleted on instance termination. For
Amazon EC2 Auto Scaling, the default value is `true`.
@return [Boolean]

@!attribute [rw] 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:

* `gp3`\: 3,000-16,000 IOPS

* `io1`\: 100-64,000 IOPS

For `io1` volumes, we guarantee 64,000 IOPS only for [Instances
built on the Nitro System][1]. 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.)

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
@return [Integer]

@!attribute [rw] 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][1].
If your AMI uses encrypted volumes, you can also only launch it on
supported instance types.

<note markdown="1"> If you are creating a volume from a snapshot, you cannot specify an
encryption value. Volumes that are created from encrypted snapshots
are automatically encrypted, and volumes that are created from
unencrypted snapshots are automatically unencrypted. By default,
encrypted snapshots use the Amazon Web Services managed CMK that is
used for EBS encryption, but you can specify a custom CMK when you
create the snapshot. The ability to encrypt a snapshot during
copying also allows you to apply a new CMK to an already-encrypted
snapshot. Volumes restored from the resulting copy are only
accessible using the new CMK.

 Enabling [encryption by default][2] results in all EBS volumes being
encrypted with the Amazon Web Services managed CMK or a customer
managed CMK, whether or not the snapshot was encrypted.

 </note>

For more information, see [Using Encryption with EBS-Backed AMIs][3]
in the *Amazon EC2 User Guide for Linux Instances* and [Required CMK
key policy for use with encrypted volumes][4] in the *Amazon EC2
Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
[2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
[3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html
[4]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html
@return [Boolean]

@!attribute [rw] throughput

The throughput (MiBps) to provision for a `gp3` volume.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/Ebs AWS API Documentation

Constants

SENSITIVE