Exemplo n.º 1
0
        public override void ExecuteCmdlet()
        {
            IEnumerable <Utilities.WAPackIaaS.DataContract.VirtualMachine> results = null;
            var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory);

            if (this.ParameterSetName == WAPackCmdletParameterSets.Empty)
            {
                results = virtualMachineOperations.Read();
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.FromId)
            {
                Utilities.WAPackIaaS.DataContract.VirtualMachine vm = null;
                vm      = virtualMachineOperations.Read(ID);
                results = new List <Utilities.WAPackIaaS.DataContract.VirtualMachine>()
                {
                    vm
                };
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.FromName)
            {
                results = virtualMachineOperations.Read(Name);
            }

            this.GenerateCmdletOutput(results);
        }
        public override void ExecuteCmdlet()
        {
            Utilities.WAPackIaaS.DataContract.VirtualMachine pendingVirtualMachine = null;
            var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory);
            Guid? jobId = Guid.Empty;

            var newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
            {
                Name = Name,
                VMTemplateId = Template.ID,
                LocalAdminUserName = VMCredential.UserName,
                LocalAdminPassword = ExtractSecureString(VMCredential.Password),
            };

            pendingVirtualMachine = virtualMachineOperations.Create(newVirtualMachine, out jobId);

            if (!jobId.HasValue)
            {
                throw new WAPackOperationException(Resources.CreateFailedErrorMessage);
            }
            WaitForJobCompletion(jobId);

            var createdVM = virtualMachineOperations.Read(pendingVirtualMachine.ID);
           
            WriteObject(createdVM);
        }
Exemplo n.º 3
0
        public override void ExecuteCmdlet()
        {
            Utilities.WAPackIaaS.DataContract.VirtualMachine pendingVirtualMachine = null;
            var  virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory);
            Guid?jobId = Guid.Empty;

            var newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
            {
                Name               = Name,
                VMTemplateId       = Template.ID,
                LocalAdminUserName = VMCredential.UserName,
                LocalAdminPassword = ExtractSecureString(VMCredential.Password),
            };

            pendingVirtualMachine = virtualMachineOperations.Create(newVirtualMachine, out jobId);

            if (!jobId.HasValue)
            {
                throw new WAPackOperationException(Resources.CreateFailedErrorMessage);
            }
            WaitForJobCompletion(jobId);

            var createdVM = virtualMachineOperations.Read(pendingVirtualMachine.ID);

            WriteObject(createdVM);
        }
Exemplo n.º 4
0
 private void SetSizeProfile(Utilities.WAPackIaaS.DataContract.VirtualMachine vm)
 {
     vm.CPUCount               = VMSizeProfile.CPUCount;
     vm.Memory                 = VMSizeProfile.Memory;
     vm.DynamicMemoryEnabled   = VMSizeProfile.DynamicMemoryEnabled;
     vm.DynamicMemoryMaximumMB = VMSizeProfile.DynamicMemoryMaximumMB;
     vm.DynamicMemoryMinimumMB = VMSizeProfile.DynamicMemoryMinimumMB;
 }
Exemplo n.º 5
0
        public override void ExecuteCmdlet()
        {
            Utilities.WAPackIaaS.DataContract.VirtualMachine newVirtualMachine = null;
            var  virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory);
            Guid?jobId = Guid.Empty;

            var virtualNetworkAdaptersWithVNet = this.CustomizeVnaInput();

            if (this.ParameterSetName == WAPackCmdletParameterSets.CreateWindowsVMFromTemplate)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name                          = Name,
                    VMTemplateId                  = Template.ID,
                    LocalAdminUserName            = VMCredential.UserName,
                    LocalAdminPassword            = ExtractSecureString(VMCredential.Password),
                    NewVirtualNetworkAdapterInput = virtualNetworkAdaptersWithVNet,
                    ProductKey                    = ProductKey,
                };
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.CreateLinuxVMFromTemplate)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name                           = Name,
                    VMTemplateId                   = Template.ID,
                    LocalAdminUserName             = VMCredential.UserName,
                    LocalAdminPassword             = ExtractSecureString(VMCredential.Password),
                    NewVirtualNetworkAdapterInput  = virtualNetworkAdaptersWithVNet,
                    LinuxAdministratorSSHKeyString = AdministratorSSHKey
                };
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.CreateVMFromOSDisks)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name = Name,
                    HardwareProfileId             = VMSizeProfile.ID,
                    VirtualHardDiskId             = OSDisk.ID,
                    NewVirtualNetworkAdapterInput = virtualNetworkAdaptersWithVNet
                };
            }

            var createdVirtualMachine = virtualMachineOperations.Create(newVirtualMachine, out jobId);

            if (!jobId.HasValue)
            {
                throw new WAPackOperationException(Resources.CreateFailedErrorMessage);
            }
            WaitForJobCompletion(jobId);

            createdVirtualMachine = virtualMachineOperations.Read(createdVirtualMachine.ID);
            WriteObject(createdVirtualMachine);
        }
        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);
            }
        }
Exemplo n.º 7
0
        public override void ExecuteCmdlet()
        {
            Utilities.WAPackIaaS.DataContract.VirtualMachine newVirtualMachine = null;
            var virtualMachineOperations = new VirtualMachineOperations(this.WebClientFactory);
            Guid? jobId = Guid.Empty;
            
            var virtualNetworkAdaptersWithVNet = this.CustomizeVnaInput();

            if (this.ParameterSetName == WAPackCmdletParameterSets.CreateWindowsVMFromTemplate)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name = Name,
                    VMTemplateId = Template.ID,
                    LocalAdminUserName = VMCredential.UserName,
                    LocalAdminPassword = ExtractSecureString(VMCredential.Password),
                    NewVirtualNetworkAdapterInput = virtualNetworkAdaptersWithVNet,
                    ProductKey = ProductKey,
                };
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.CreateLinuxVMFromTemplate)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name = Name,
                    VMTemplateId = Template.ID,
                    LocalAdminUserName = VMCredential.UserName,
                    LocalAdminPassword = ExtractSecureString(VMCredential.Password),
                    NewVirtualNetworkAdapterInput = virtualNetworkAdaptersWithVNet,
                    LinuxAdministratorSSHKeyString = AdministratorSSHKey
                };
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.CreateVMFromOSDisks)
            {
                newVirtualMachine = new Utilities.WAPackIaaS.DataContract.VirtualMachine()
                {
                    Name = Name,
                    HardwareProfileId = VMSizeProfile.ID,
                    VirtualHardDiskId = OSDisk.ID,
                    NewVirtualNetworkAdapterInput = virtualNetworkAdaptersWithVNet
                };
            }

            var createdVirtualMachine = virtualMachineOperations.Create(newVirtualMachine, out jobId);

            if (!jobId.HasValue)
            {
                throw new WAPackOperationException(Resources.CreateFailedErrorMessage);
            }
            WaitForJobCompletion(jobId);

            createdVirtualMachine = virtualMachineOperations.Read(createdVirtualMachine.ID);
            WriteObject(createdVirtualMachine);
        }
Exemplo n.º 8
0
 private void SetSizeProfile(Utilities.WAPackIaaS.DataContract.VirtualMachine vm)
 {
     vm.CPUCount = VMSizeProfile.CPUCount;
     vm.Memory   = VMSizeProfile.Memory;
 }