]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/API2/Qemu.pm
improve snapshot REST interface
[qemu-server.git] / PVE / API2 / Qemu.pm
index 56b30717f014d09c494aafec960c9949ff77e4a7..82df3828df31687a9f56592695e69d6fa35c49c8 100644 (file)
@@ -457,7 +457,6 @@ __PACKAGE__->register_method({
            { subdir => 'rrddata' },
            { subdir => 'monitor' },
            { subdir => 'snapshot' },
-           { subdir => 'rollback' },
            ];
 
        return $res;
@@ -1990,9 +1989,47 @@ __PACKAGE__->register_method({
        return $rpcenv->fork_worker('qmsnapshot', $vmid, $authuser, $realcmd);
     }});
 
+__PACKAGE__->register_method({
+    name => 'snapshot_cmd_idx',
+    path => '{vmid}/snapshot/{snapname}',
+    description => '',
+    method => 'GET',
+    permissions => {
+       user => 'all',
+    },
+    parameters => {
+       additionalProperties => 0,
+       properties => {
+           vmid => get_standard_option('pve-vmid'),
+           node => get_standard_option('pve-node'),
+           snapname => {
+               type => 'string',
+               description => "The name of the snapshot",
+               maxLength => 40,
+           },
+       },
+    },
+    returns => {
+       type => 'array',
+       items => {
+           type => "object",
+           properties => {},
+       },
+       links => [ { rel => 'child', href => "{cmd}" } ],
+    },
+    code => sub {
+       my ($param) = @_;
+
+       my $res = [];
+
+       push @$res, { cmd => 'rollback' };
+
+       return $res;
+    }});
+
 __PACKAGE__->register_method({
     name => 'rollback',
-    path => '{vmid}/rollback',
+    path => '{vmid}/snapshot/{snapname}/rollback',
     method => 'POST',
     protected => 1,
     proxyto => 'node',