VM::EC2::BlockDevice3pm
Object describing how to construct an ec2 block device when launching an image
Usage
use VM::EC2;$ec2 = VM::EC2->new(...);$image = $ec2->describe_images(-image_id=>'ami-123456');my @devices = $image->blockDeviceMapping;for my $d (@devices) {my $virtual_device = $d->deviceName;my $snapshot_id = $d->snapshotId;my $volume_size = $d->volumeSize;my $delete = $d->deleteOnTermination;}
Overview
This object represents an Amazon block device associated with an AMI. The information in it is used to create a new volume when the AMI is launched. The object is returned by VM::EC2->describe_images().
Please see VM::EC2::Generic for methods shared by all VM::EC2 objects.
Methods
These object methods are supported:
deviceName -- name of the device, such as /dev/sda1virtualName -- virtual device name, such as "ephemeral0"noDevice -- true if no device associatedebs -- parameters used to automatically set up Amazon EBSvolumes when an instance is booted. This returnsa VM::EC2::BlockDevice::EBS object.
For your convenience, a number of the ebs() object's methods are passed through:
snapshotId -- ID of the snapshot used to create this EBS when aninstance is launched from this image.volumeSize -- Size of the EBS volume (in gigs).deleteOnTermination -- Whether this EBS will be deleted when theinstance terminates.volumeType -- The volume type, one of "standard" or "io1"iops -- The number of I/O operations per second that the volumesupports, an integer between 100 and 4000. Only valid forvolumes of type "io1".
String overloading
When used in a string context, this object will be interpolated as:
deviceName=snapshotId:volumeSize:deleteOnTermination:volumeType:iops
The :iops portion is only valid when the volumeType is "io1".
e.g.
/dev/sdg=snap-12345:20:true:standard
This happens to be the same syntax used to specify block device mappings in run_instances(). See VM::EC2.
Releases
6 releases since Debian 8 (Jessie); the text changed 3 times.