fix return format

This commit is contained in:
Dietmar Maurer 2012-01-26 13:46:31 +01:00
parent cab28ea50b
commit 9a53427a8e

View File

@ -184,7 +184,6 @@ __PACKAGE__->register_method ({
return undef; return undef;
}}); }});
# fixme: return format!
__PACKAGE__->register_method ({ __PACKAGE__->register_method ({
name => 'read_pool', name => 'read_pool',
path => '{poolid}', path => '{poolid}',
@ -200,15 +199,22 @@ __PACKAGE__->register_method ({
}, },
}, },
returns => { returns => {
type => 'array', type => "object",
items => { additionalProperties => 0,
type => "object", properties => {
additionalProperties => 0, comment => { type => 'string', optional => 1 },
properties => { members => {
type => { type => 'string', enum => ['vm', 'storage'] }, type => 'array',
id => { type => 'string' }, items => {
vmid => { type => 'integer', optional => 1 }, type => "object",
storage => { type => 'string', optional => 1 }, additionalProperties => 0,
properties => {
type => { type => 'string', enum => ['vm', 'storage'] },
id => { type => 'string' },
vmid => { type => 'integer', optional => 1 },
storage => { type => 'string', optional => 1 },
},
},
}, },
}, },
}, },
@ -224,10 +230,10 @@ __PACKAGE__->register_method ({
die "pool '$pool' does not exist\n" die "pool '$pool' does not exist\n"
if !$data; if !$data;
my $res = []; my $members = [];
foreach my $vmid (keys %{$data->{vms}}) { foreach my $vmid (keys %{$data->{vms}}) {
push @$res, { push @$members, {
id => "vm/$vmid", id => "vm/$vmid",
vmid => $vmid + 0, vmid => $vmid + 0,
type => 'vm', type => 'vm',
@ -235,13 +241,16 @@ __PACKAGE__->register_method ({
} }
foreach my $storage (keys %{$data->{storage}}) { foreach my $storage (keys %{$data->{storage}}) {
push @$res, { push @$members, {
id => "storage/$storage", id => "storage/$storage",
storage => $storage, storage => $storage,
type => 'storage', type => 'storage',
}; };
} }
my $res = { members => $members };
$res->{comment} = $data->{comment} if defined($data->{comment});
return $res; return $res;
}}); }});