AWS SDK for Go (PILOT)
API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see https://docs.aws.amazon.com/sdk-for-go/api/.

We welcome your feedback on this new version of the documentation. Send your comments to aws-sdkdocs-feedback@amazon.com.

EbsBlockDevice

import "github.com/aws/aws-sdk-go/service/ec2"

type EbsBlockDevice struct { DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"` Encrypted *bool `locationName:"encrypted" type:"boolean"` Iops *int64 `locationName:"iops" type:"integer"` KmsKeyId *string `type:"string"` SnapshotId *string `locationName:"snapshotId" type:"string"` VolumeSize *int64 `locationName:"volumeSize" type:"integer"` VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"` }

Describes a block device for an EBS volume.

DeleteOnTermination

Type: *bool

Indicates whether the EBS volume is deleted on instance termination.

Encrypted

Type: *bool

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption.

If you are creating a volume from a snapshot, you cannot specify an encryption value. This is because only blank volumes can be encrypted on creation. If you are creating a snapshot from an existing EBS volume, you cannot specify an encryption value that differs from that of the EBS volume. We recommend that you omit the encryption value from the block device mappings when creating an image from an instance.

Iops

Type: *int64

The number of I/O operations per second (IOPS) that the volume supports. For 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. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). Other instance families guarantee performance up to 32,000 IOPS.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

KmsKeyId

Type: *string

Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).

SnapshotId

Type: *string

The ID of the snapshot.

VolumeSize

Type: *int64

The size of the volume, in GiB.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

VolumeType

Type: *string

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

Method

GoString

func (s EbsBlockDevice) GoString() string

GoString returns the string representation

SetDeleteOnTermination

func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice

SetDeleteOnTermination sets the DeleteOnTermination field's value.

SetEncrypted

func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice

SetEncrypted sets the Encrypted field's value.

SetIops

func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice

SetIops sets the Iops field's value.

SetKmsKeyId

func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice

SetKmsKeyId sets the KmsKeyId field's value.

SetSnapshotId

func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice

SetSnapshotId sets the SnapshotId field's value.

SetVolumeSize

func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice

SetVolumeSize sets the VolumeSize field's value.

SetVolumeType

func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice

SetVolumeType sets the VolumeType field's value.

String

func (s EbsBlockDevice) String() string

String returns the string representation

On this page: