VM::EC2::BlockDevice::Mapping - Object describing an EC2 block device attached to an instance
Contents
Description
This object represents an Amazon block device associated with an instance; it is returned by
Instance->blockDeviceMapping().
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/sda1.
instance -- Instance object associated with this volume.
ebs -- A VM::EC2::BlockDevice::Mapping::EBS object
describing the characteristics of the attached
EBS volume
For your convenience, a number of the ebs() object's methods are passed through:
volumeId -- ID of the volume.
status -- One of "attaching", "attached", "detaching", "detached"
attachTime -- Time this volume was attached
deleteOnTermination -- Whether the volume will be deleted when its attached
instance is deleted. Note that this will return perl true/false
vales, rather than the strings "true" "false".
The deleteOnTermination() method can be used to retrieve or modify this flag:
# get current deleteOnTermination flag
my $current_flag = $dev->deleteOnTermination;
# if flag is true, then set it to false
if ($current_flag) { $dev->deleteOnTermination(0) }
In addition, the following convenience function is provided:
$volume=$dev->volume
This returns a VM::EC2::Volume object from which more information about the volume, such as its size, can
be derived.
Name
VM::EC2::BlockDevice::Mapping - Object describing an EC2 block device attached to an instance
See Also
VM::EC2 VM::EC2::Generic VM::EC2::BlockDevice VM::EC2::BlockDevice::Attachment
VM::EC2::BlockDevice::Mapping::EBS VM::EC2::Volume
String Overloading
When used in a string context, this object will be interpolated as the deviceName.
Synopsis
use VM::EC2;
$ec2 = VM::EC2->new(...);
$instance = $ec2->describe_instances(-instance_id=>'i-123456');
my @devices = $instance->blockDeviceMapping;
for my $dev (@devices) {
$dev = $dev->deviceName;
$volume_id = $dev->volumeId;
$status = $dev->status;
$atime = $dev->attachmentTime;
$delete = $dev->deleteOnTermination;
$volume = $dev->volume;
}
