Class: Aws::EC2::Types::FleetEbsBlockDeviceRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-ec2/types.rb

Overview

Describes a block device for an EBS volume.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#delete_on_terminationBoolean

Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserve data when an instance is terminated] in the *Amazon EC2 User Guide*.

[1]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html

Returns:

  • (Boolean)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#encryptedBoolean

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to ‘true` depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Amazon EBS encryption] in the *Amazon EBS User Guide*.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types].

This parameter is not returned by .

For and , whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a **new (empty) volume**, you can include this parameter, and specify either ‘true` for an encrypted volume, or `false` for an unencrypted volume. If you omit this parameter, it defaults to `false` (unencrypted).

  • If you are creating a block device mapping from an **existing encrypted or unencrypted snapshot**, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an **existing unencrypted volume**, you can include this parameter, but you must specify ‘false`. If you specify `true`, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an **existing encrypted volume**, you can include this parameter, and specify either ‘true` or `false`. However, if you specify `false`, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

[1]: docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html [2]: docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances

Returns:

  • (Boolean)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#iopsInteger

The number of I/O operations per second (IOPS). For ‘gp3`, `io1`, and `io2` 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

  • ‘io2`: 100 - 256,000 IOPS

For ‘io2` volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System]. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for ‘io1` and `io2` volumes. The default for `gp3` volumes is 3,000 IOPS.

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

Returns:

  • (Integer)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#kms_key_idString

Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption.

This parameter is only supported on ‘BlockDeviceMapping` objects called by [CreateFleet], [RequestSpotInstances], and [RunInstances].

[1]: docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html [2]: docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html [3]: docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html

Returns:

  • (String)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#snapshot_idString

The ID of the snapshot.

Returns:

  • (String)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#throughputInteger

The throughput that the volume supports, in MiB/s.

This parameter is valid only for ‘gp3` volumes.

Valid Range: Minimum value of 125. Maximum value of 1000.

Returns:

  • (Integer)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#volume_sizeInteger

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.

The following are the supported sizes for each volume type:

  • ‘gp2` and `gp3`: 1 - 16,384 GiB

  • ‘io1`: 4 - 16,384 GiB

  • ‘io2`: 4 - 65,536 GiB

  • ‘st1` and `sc1`: 125 - 16,384 GiB

  • ‘standard`: 1 - 1024 GiB

Returns:

  • (Integer)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end

#volume_typeString

The volume type. For more information, see [Amazon EBS volume types] in the *Amazon EBS User Guide*.

[1]: docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html

Returns:

  • (String)


36640
36641
36642
36643
36644
36645
36646
36647
36648
36649
36650
36651
# File 'lib/aws-sdk-ec2/types.rb', line 36640

class FleetEbsBlockDeviceRequest < Struct.new(
  :encrypted,
  :delete_on_termination,
  :iops,
  :throughput,
  :kms_key_id,
  :snapshot_id,
  :volume_size,
  :volume_type)
  SENSITIVE = []
  include Aws::Structure
end