Daniel Erez has uploaded a new change for review.

Change subject: restapi: support custom preview snapshot
......................................................................

restapi: support custom preview snapshot

Accept optional 'restore_memory' and 'disks' tags
in preview_snapshot action.

Preview Snapshot: POST /api/vms/{vm_id}/preview_snapshot

 <action>
   <snapshot id="{snapshot_id}"/>
   <restore_memory>true|false</restore_memory>
   <disks>
     <disk id="{disk_id}">
       <image_id>{image_id}</image_id>
       <snapshot id="{snapshot_id}"/>
     </disk>
   </disks>
 </action>

Feature-Page: http://www.ovirt.org/Features/Single_Disk_Snapshot#REST-API

Change-Id: I89d004dec75aa23c6a7105ddb064e93d7f4652ed
Bug-Url: https://bugzilla.redhat.com/1095494
Signed-off-by: Daniel Erez <de...@redhat.com>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
3 files changed, 8 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/86/28086/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
index afcda1f..ac01f31 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
@@ -384,6 +384,7 @@
       parameterType: Action
       signatures:
       - mandatoryArguments: {action.snapshot.id: 'xs:string'}
+        optionalArguments: {action.restore_memory: 'xs:boolean', 
action.disks.disk--COLLECTION: {disk.id: 'xs:string', disk.image_id: 
'xs:string'}}
     urlparams: {}
     headers:
       Content-Type: {value: application/xml|json, required: true}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
index 1f4880d..8e59da8 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmResource.java
@@ -295,6 +295,12 @@
         validateParameters(action, "snapshot.id");
         TryBackToAllSnapshotsOfVmParameters tryBackParams =
                 new TryBackToAllSnapshotsOfVmParameters(guid, 
asGuid(action.getSnapshot().getId()));
+        if (action.isSetRestoreMemory()) {
+            tryBackParams.setRestoreMemory(action.isRestoreMemory());
+        }
+        if (action.isSetDisks()) {
+            tryBackParams.setDisks(getParent().mapDisks(action.getDisks()));
+        }
         Response response = doAction(VdcActionType.TryBackToAllSnapshotsOfVm,
                 tryBackParams,
                 action);
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
index 5de80ae..64a499e 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendVmsResource.java
@@ -391,7 +391,7 @@
                                new 
QueryIdResolver<Guid>(VdcQueryType.GetVmByVmId, IdQueryParameters.class));
     }
 
-    private ArrayList<DiskImage> mapDisks(Disks disks) {
+    public ArrayList<DiskImage> mapDisks(Disks disks) {
         ArrayList<DiskImage> diskImages = null;
         if (disks!=null && disks.isSetDisks()) {
             diskImages = new ArrayList<DiskImage>();


-- 
To view, visit http://gerrit.ovirt.org/28086
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I89d004dec75aa23c6a7105ddb064e93d7f4652ed
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Daniel Erez <de...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to