From: Dietmar Maurer Date: Wed, 1 Aug 2018 10:55:29 +0000 (+0200) Subject: vmstatus: define return propertries X-Git-Url: https://git.proxmox.com/?p=qemu-server.git;a=commitdiff_plain;h=b1a70cab3d8402c7fb4d4f77c1eee3e7e3231bcb vmstatus: define return propertries We can use the same properties in vmlist and vmstatus. Signed-off-by: Dietmar Maurer --- diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index 614f239..b3f8134 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -365,52 +365,7 @@ __PACKAGE__->register_method({ type => 'array', items => { type => "object", - properties => { - vmid => get_standard_option('pve-vmid'), - status => { - description => "Qemu process status.", - type => 'string', - enum => ['stopped', 'running'], - }, - maxmem => { - description => "Maximum memory in bytes.", - type => 'integer', - optional => 1, - renderer => 'bytes', - }, - maxdisk => { - description => "Root disk size in bytes.", - type => 'integer', - optional => 1, - renderer => 'bytes', - }, - name => { - description => "VM name.", - type => 'string', - optional => 1, - }, - qmpstatus => { - description => "Qemu QMP agent status.", - type => 'string', - optional => 1, - }, - pid => { - description => "PID of running qemu process.", - type => 'integer', - optional => 1, - }, - uptime => { - description => "Uptime.", - type => 'integer', - optional => 1, - renderer => 'duration', - }, - cpus => { - description => "Maximum usable CPUs.", - type => 'number', - optional => 1, - }, - }, + properties => $PVE::QemuServer::vmstatus_return_properties, }, links => [ { rel => 'child', href => "{vmid}" } ], }, @@ -427,7 +382,6 @@ __PACKAGE__->register_method({ next if !$rpcenv->check($authuser, "/vms/$vmid", [ 'VM.Audit' ], 1); my $data = $vmstatus->{$vmid}; - $data->{vmid} = int($vmid); push @$res, $data; } @@ -1908,7 +1862,26 @@ __PACKAGE__->register_method({ vmid => get_standard_option('pve-vmid'), }, }, - returns => { type => 'object' }, + returns => { + type => 'object', + properties => { + %$PVE::QemuServer::vmstatus_return_properties, + ha => { + description => "HA manager service status.", + type => 'object', + }, + spice => { + description => "Qemu VGA configuration supports spice.", + type => 'boolean', + optional => 1, + }, + agent => { + description => "Qemu GuestAgent enabled in config.", + type => 'boolean', + optional => 1, + }, + }, + }, code => sub { my ($param) = @_; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index a4ab11e..ba09fc3 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2764,6 +2764,53 @@ sub disksize { return $drive->{size}; } +our $vmstatus_return_properties = { + vmid => get_standard_option('pve-vmid'), + status => { + description => "Qemu process status.", + type => 'string', + enum => ['stopped', 'running'], + }, + maxmem => { + description => "Maximum memory in bytes.", + type => 'integer', + optional => 1, + renderer => 'bytes', + }, + maxdisk => { + description => "Root disk size in bytes.", + type => 'integer', + optional => 1, + renderer => 'bytes', + }, + name => { + description => "VM name.", + type => 'string', + optional => 1, + }, + qmpstatus => { + description => "Qemu QMP agent status.", + type => 'string', + optional => 1, + }, + pid => { + description => "PID of running qemu process.", + type => 'integer', + optional => 1, + }, + uptime => { + description => "Uptime.", + type => 'integer', + optional => 1, + renderer => 'duration', + }, + cpus => { + description => "Maximum usable CPUs.", + type => 'number', + optional => 1, + }, +}; + my $last_proc_pid_stat; # get VM status information @@ -2789,7 +2836,7 @@ sub vmstatus { my $cfspath = PVE::QemuConfig->cfs_config_path($vmid); my $conf = PVE::Cluster::cfs_read_file($cfspath) || {}; - my $d = {}; + my $d = { vmid => $vmid }; $d->{pid} = $list->{$vmid}->{pid}; # fixme: better status?