1#!/usr/bin/perl -w 2 3# A perl script to connect to a VMware server and revert a VM snapshot. 4# Copyright Brad Henry <brad@samba.org> 2006 5# Released under the GNU GPL version 3 or later. 6 7use VMHost; 8 9sub check_error { 10my $vm = VMHost; 11 my $custom_err_str = ""; 12 ($vm, $custom_err_str) = @_; 13 14 my ($err_code, $err_str) = $vm->error; 15 if ($err_code != 0) { 16 undef $vm; 17 die $custom_err_str . "Returned $err_code: $err_str.\n"; 18 } 19} 20 21# Read in parameters from environment. 22my $vm_cfg_path = $ENV{'VM_CFG_PATH'}; 23my $host_server_name = $ENV{'HOST_SERVER_NAME'}; 24my $host_server_port = $ENV{'HOST_SERVER_PORT'}; 25if (!defined($host_server_port)) { 26 $host_server_port = 902; 27} 28 29my $host_username = $ENV{'HOST_USERNAME'}; 30my $host_password = $ENV{'HOST_PASSWORD'}; 31my $guest_admin_username = $ENV{'GUEST_ADMIN_USERNAME'}; 32my $guest_admin_password = $ENV{'GUEST_ADMIN_PASSWORD'}; 33 34my $vm = VMHost; 35 36$vm->host_connect($host_server_name, $host_server_port, $host_username, 37 $host_password, $vm_cfg_path, $guest_admin_username, 38 $guest_admin_password); 39check_error($vm, "Error in \$vm->host_connect().\n"); 40 41$vm->revert_snapshot(); 42check_error($vm, "Error in \$vm->revert_snapshot().\n"); 43 44undef $vm; 45 46exit 0; 47