示例#1
0
        public async Task <Vm> Revert(string id)
        {
            await Connect();

            Vm vm = _vmCache[id];

            _logger.LogDebug($"Stopping vm {vm.Name}");
            ManagedObjectReference task = await _vim.RevertToCurrentSnapshot_TaskAsync(
                vm.AsVim(), null, false);

            TaskInfo info = await WaitForVimTask(task);

            if (vm.State == VmPowerState.Running)
            {
                await Start(id);
            }
            _vmCache.TryUpdate(vm.Id, vm, vm);
            return(vm);
        }