Beta Shell
v2.0 ยท web2.us.cloudlogin.co
[FM]
[CMD]
[PHP]
[DB]
[INFO]
[SEC]
File Manager
~
/
usr
/
share
/
perl5
/
vendor_perl
/
VM
/
EC2
/
Volume
Upload
5 items
Name
Size
Perms
Modified
Actions
[ .. / .. ]
Status
-
drwxr-xr-x
2022-02-23 11:28:24
Del
Status.pm
1.76 KB
-rw-r--r--
2020-08-21 11:10:19
Edit
Del
StatusItem.pm
3.33 KB
-rw-r--r--
2020-08-21 11:10:19
Edit
Del
Editing: StatusItem.pm
(3.33 KB)
Path: /usr/share/perl5/vendor_perl/VM/EC2/Volume/StatusItem.pm
Back
package VM::EC2::Volume::StatusItem; =head1 NAME VM::EC2::Volume::StatusItem - Object describing a volume status event =head1 SYNOPSIS @status_items = $ec2->describe_volume_status(); for my $i (@status_items) { print $i->volume_id,': ',$i->status,"\n"; if (my $e = $i->events) { print $i->volume_id,' event = ',$e; } } =head1 DESCRIPTION This object represents an volume status returned by $ec2->describe_volume_status(). =head1 METHODS These object methods are supported: volumeId -- The ID of the affected volume. volume -- The VM::EC2::Volume object corresponding to the volume_id. availability_zone -- The availability zone of this volume. volumeStatus -- A VM::EC2::Volume::Status object indicating the status of the volume. status -- Shorter version of the above. actionsSet -- The list of actions that you might wish to take in response to this status, represented as VM::EC2::Volume::Status::Action objects. actions -- Shorter version of the above. eventsSet -- A list of VM::EC2::Volume::Status::Event objects which provide information about the nature and time of the event. events -- Shorter version of the above. NOTE: There are a number of inconsistencies in the AWS documentation for this data type. The event and action fields are described as being named eventSet and actionSet, but the XML example and practical experience show the fields being named eventsSet and actionsSet. The volumeStatus is documented as being a list, but practice shows that it is a single value only. =head1 SEE ALSO L<VM::EC2> L<VM::EC2::Generic> L<VM::EC2::Instance> L<VM::EC2::Tag> =head1 AUTHOR Lincoln Stein E<lt>lincoln.stein@gmail.comE<gt>. Copyright (c) 2012 Ontario Institute for Cancer Research This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL (either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text. In addition, please see DISCLAIMER.txt for disclaimers of warranty. =cut use strict; use base 'VM::EC2::Generic'; use VM::EC2::Volume::Status; use VM::EC2::Volume::Status::Event; use VM::EC2::Volume::Status::Action; sub valid_fields { my $self = shift; return qw(volumeId availabilityZone volumeStatus eventsSet actionsSet); } sub volume { my $self = shift; return $self->ec2->describe_volumes($self->volumeId); } sub volumeStatus { my $self = shift; my $s = $self->SUPER::volumeStatus or return; return VM::EC2::Volume::Status->new($s,$self->ec2); } sub status { shift->volumeStatus } sub eventsSet { my $self = shift; my $e = $self->SUPER::eventsSet or return; return map {VM::EC2::Volume::Status::Event->new($_,$self->ec2)} @{$e->{item}}; } sub events { shift->eventsSet } sub actionsSet { my $self = shift; my $e = $self->SUPER::actionsSet or return; return map {VM::EC2::Volume::Status::Action->new($_,$self->ec2)} @{$e->{item}}; } sub actions { shift->actionsSet } sub short_name { my $self = shift; my $volume = $self->volumeId; my $status = ($self->status)[0]; return "$volume: $status"; } 1;