$Net::OpenNebula::Image::VERSION
=
'0.2.2'
;
push
our
@ISA
,
qw(Net::OpenNebula::RPC)
;
use
constant
STATES
=>
qw(INIT READY USED DISABLED LOCKED ERROR CLONE DELETE USED_PERS)
;
sub
name {
my
(
$self
) =
@_
;
my
$name
=
$self
->_get_info_extended(
'NAME'
);
return
$name
->[0];
}
sub
create {
my
(
$self
,
$tpl_txt
,
$datastoreid
) =
@_
;
my
$id
=
$self
->_onerpc(
"allocate"
, [
string
=>
$tpl_txt
], [
int
=>
$datastoreid
]);
$self
->{data} =
$self
->_get_info(
id
=>
$id
);
return
$id
;
}
sub
delete
{
my
(
$self
) =
@_
;
return
$self
->_onerpc_id(
"delete"
);
}
sub
state {
my
(
$self
) =
@_
;
$self
->_get_info(
clearcache
=> 1);
my
$state
=
$self
->{extended_data}->{STATE}->[0];
if
(!
defined
(
$state
)) {
$self
->
warn
(
'Undefined '
.ONERPC.
'-state for id '
,
$self
->id);
return
;
}
return
(STATES)[
$state
];
};
1;