Esempio n. 1
0
        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;
            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);
            }
        }