protected PSArgument[] CreateVirtualMachineCaptureVMImageParameters() { string serviceName = string.Empty; string deploymentName = string.Empty; string virtualMachineName = string.Empty; VirtualMachineCaptureVMImageParameters parameters = new VirtualMachineCaptureVMImageParameters(); return(ConvertFromObjectsToArguments(new string[] { "ServiceName", "DeploymentName", "VirtualMachineName", "Parameters" }, new object[] { serviceName, deploymentName, virtualMachineName, parameters })); }
protected void ExecuteVirtualMachineCaptureVMImageMethod(object[] invokeMethodInputParameters) { string serviceName = (string)ParseParameter(invokeMethodInputParameters[0]); string deploymentName = (string)ParseParameter(invokeMethodInputParameters[1]); string virtualMachineName = (string)ParseParameter(invokeMethodInputParameters[2]); VirtualMachineCaptureVMImageParameters parameters = (VirtualMachineCaptureVMImageParameters)ParseParameter(invokeMethodInputParameters[3]); var result = VirtualMachineClient.CaptureVMImage(serviceName, deploymentName, virtualMachineName, parameters); WriteObject(result); }
async public Task <JsonResult> CaptureQCVM(int id, string ImageName) { VMManager vmm = new VMManager(ConfigurationManager.AppSettings["SubcriptionID"], ConfigurationManager.AppSettings["CertificateThumbprint"]); ApplicationDbContext db = new ApplicationDbContext(); var cloudService = db.QuickCreates.Where(l => l.ID == id).FirstOrDefault(); await vmm.ShutDownVM(cloudService.ServiceName, cloudService.Name); VirtualMachineCaptureVMImageParameters param = new VirtualMachineCaptureVMImageParameters(); param.VMImageLabel = "NewVmImage"; param.VMImageName = "NewVmImage"; param.OSState = "Specialized"; System.Threading.CancellationToken token = new System.Threading.CancellationToken(false); await vmm.CaptureVM(cloudService.ServiceName, cloudService.Name, param.VMImageName); await vmm.RebootVM(cloudService.ServiceName, cloudService.Name); return(Json(new { Status = 0 })); }