]> git.proxmox.com Git - qemu-server.git/commitdiff
vmstatus: define return propertries
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 1 Aug 2018 10:55:29 +0000 (12:55 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 1 Aug 2018 10:58:21 +0000 (12:58 +0200)
We can use the same properties in vmlist and vmstatus.

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
PVE/API2/Qemu.pm
PVE/QemuServer.pm

index 614f23914c9e22a05b4ee0c6b00de751c9b5e148..b3f81341ea8f88b16fdf3e74c380f9e9c8e7c690 100644 (file)
@@ -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) = @_;
 
index a4ab11e2ec9d78349986c9e45230b9e7c4e74405..ba09fc3ae74be1dfd004da6f3605ec52488f648d 100644 (file)
@@ -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?