Name

VMRevertToSnapshot

Description

$err = VMRevertToSnapshot($vmHandle,
                          $snapshotHandle,
                          $options,
                          $propertyListHandle);

Restores the virtual machine to the state when the specified snapshot was created.

Parameters

vmHandle
Identifies a virtual machine. Call VMOpen() to create a virtual machine handle.
snapshotHandle
A handle to a snapshot. Call VMGetRootSnapshot() to get a snapshot handle.
options
Any applicable VixVMPowerOpOptions. If the virtual machine was powered on when the snapshot was created, then this will determine how the virtual machine is powered back on. To prevent the virtual machine from being powered on regardless of the power state when the snapshot was created, use the VIX_VMPOWEROP_SUPPRESS_SNAPSHOT_POWERON flag. VIX_VMPOWEROP_SUPPRESS_SNAPSHOT_POWERON is mutually exclusive to all other VixVMPowerOpOptions.
propertyListHandle
Must be VIX_INVALID_HANDLE.

Return Value

$err. The error code returned by the operation. For returned values, see Topics > Error Codes.

Remarks

Side Effects

None.

Requirements

use VMware::Vix::Simple;
use VMware::Vix::API::Constants;
since VMware Server 1.0

Example

This example reverts to the root snapshot belonging to a virtual machine.
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
my $snapshotHandle = VIX_INVALID_HANDLE;
my $numRootSnapshots = 0;

($err, $hostHandle) = HostConnect(VIX_API_VERSION,
                                  VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
                                  undef, # hostName
                                  0, # hostPort
                                  undef, # userName
                                  undef, # password
                                  0, # options
                                  VIX_INVALID_HANDLE); # propertyListHandle

die "HostConnect() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

($err, $vmHandle) = VMOpen($hostHandle,
                           "c:\\Virtual Machines\\vm1\\win2000.vmx");
die "VMOpen() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

($err, $snapshotHandle) = VMGetRootSnapshot($vmHandle,
                                            0); # index
die "VMGetRootSnapshot() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

$err = VMRevertToSnapshot($vmHandle, 
                          $snapshotHandle,
                          VIX_VMPOWEROP_NORMAL,		# options
                          VIX_INVALID_HANDLE);		# property handle
die "VMRevertToSnapshot() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;

ReleaseHandle($snapshotHandle);
ReleaseHandle($vmHandle);
HostDisconnect($hostHandle);
                                          

Copyright (C) 2007-2011 VMware, Inc. All rights reserved.