You can take a snapshot of all the virtual machines in a vApp. After the snapshots are taken, you can revert all virtual machines in the vApp to the most recent snapshot, or remove all snapshots.
You can take a snapshot of a vApp whether or not it is powered on. The createSnapshot operation always creates a snapshot for each virtual machine in the vApp. Snapshots are created in the order specified for virtual machines in the StartupSection of the VApp element.
vApp snapshots have the following limitations:
■
|
They do not capture the ovf:ProductSection elements in the vApp. |
■
| |
■
|
They cannot be created if any virtual machine in the vApp is connected to an independent disk. |
■
|
This operation requires the rights included in the predefined vApp User role or an equivalent set of rights. |
■
|
You must be the owner of the object that this operation affects. |
In this example, the memory and quiesce options are not specified, so their values default to true. The name attribute is optional. If you omit it from the request, the system generates a name for the snapshot.
POST https://vcloud.example.com/api/vApp/vapp-33/action/createSnapshot Content-Type: application/vnd.vmware.vcloud.createSnapshotParams+xml ... <?xml version="1.0" encoding="UTF-8"?> <CreateSnapshotParams xmlns="http://www.vmware.com/vcloud/v1.5" name="snap1"> <Description>Demo snapshot</Description> </CreateSnapshotParams>
<?xml version="1.0" encoding="UTF-8"?> <Task ... operationName="vappCreateSnapshot" ... /> ... </Task>
After the snapshot is created, you can revert the vApp to the state captured in the snapshot.
POST https://vcloud.example.com/api/vApp/vapp-33/action/revertToCurrentSnapshot
You can also remove all snapshots.
POST https://vcloud.example.com/api/vApp/vapp-33/action/removeAllSnapshots
Neither of these requests has a request body. Both return a Task.