protected void ExecuteVMOperation(VMOperationsEnum operation) { var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory); Guid? job = null; VirtualMachine virtualMachine = null; switch (operation) { case VMOperationsEnum.Start: virtualMachine = virtualMachineOperations.Start(VM.ID, out job); break; case VMOperationsEnum.Stop: virtualMachine = virtualMachineOperations.Stop(VM.ID, out job); break; case VMOperationsEnum.Restart: virtualMachine = virtualMachineOperations.Restart(VM.ID, out job); break; case VMOperationsEnum.Shutdown: virtualMachine = virtualMachineOperations.Shutdown(VM.ID, out job); break; case VMOperationsEnum.Suspend: virtualMachine = virtualMachineOperations.Suspend(VM.ID, out job); break; case VMOperationsEnum.Resume: virtualMachine = virtualMachineOperations.Resume(VM.ID, out job); break; } if (!job.HasValue) { throw new WAPackOperationException(String.Format(Resources.OperationFailedErrorMessage, operation, VM.ID)); } var jobInfo = new JobOperations(this.WebClientFactory).WaitOnJob(job.Value); if (jobInfo.jobStatus == JobStatusEnum.Failed) { this.WriteErrorDetails(new Exception(jobInfo.errorMessage)); } if (PassThru) { var updatedVMObject = virtualMachineOperations.Read(virtualMachine.ID); WriteObject(updatedVMObject); } }
protected void ExecuteVMOperation(VMOperationsEnum operation) { var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory); Guid?job = null; Utilities.WAPackIaaS.DataContract.VirtualMachine virtualMachine = null; switch (operation) { case VMOperationsEnum.Start: virtualMachine = virtualMachineOperations.Start(VM.ID, out job); break; case VMOperationsEnum.Stop: virtualMachine = virtualMachineOperations.Stop(VM.ID, out job); break; case VMOperationsEnum.Restart: virtualMachine = virtualMachineOperations.Restart(VM.ID, out job); break; case VMOperationsEnum.Shutdown: virtualMachine = virtualMachineOperations.Shutdown(VM.ID, out job); break; case VMOperationsEnum.Suspend: virtualMachine = virtualMachineOperations.Suspend(VM.ID, out job); break; case VMOperationsEnum.Resume: virtualMachine = virtualMachineOperations.Resume(VM.ID, out job); break; } if (!job.HasValue) { throw new WAPackOperationException(String.Format(Resources.OperationFailedErrorMessage, operation, VM.ID)); } WaitForJobCompletion(job); if (PassThru) { var updatedVMObject = virtualMachineOperations.Read(virtualMachine.ID); WriteObject(updatedVMObject); } }
protected void ExecuteVMOperation(VMOperationsEnum operation) { var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory); Guid? job = null; Utilities.WAPackIaaS.DataContract.VirtualMachine virtualMachine = null; switch (operation) { case VMOperationsEnum.Start: virtualMachine = virtualMachineOperations.Start(VM.ID, out job); break; case VMOperationsEnum.Stop: virtualMachine = virtualMachineOperations.Stop(VM.ID, out job); break; case VMOperationsEnum.Restart: virtualMachine = virtualMachineOperations.Restart(VM.ID, out job); break; case VMOperationsEnum.Shutdown: virtualMachine = virtualMachineOperations.Shutdown(VM.ID, out job); break; case VMOperationsEnum.Suspend: virtualMachine = virtualMachineOperations.Suspend(VM.ID, out job); break; case VMOperationsEnum.Resume: virtualMachine = virtualMachineOperations.Resume(VM.ID, out job); break; } if (!job.HasValue) { throw new WAPackOperationException(String.Format(Resources.OperationFailedErrorMessage, operation, VM.ID)); } WaitForJobCompletion(job); if (PassThru) { var updatedVMObject = virtualMachineOperations.Read(virtualMachine.ID); WriteObject(updatedVMObject); } }