async public Task <bool> GenerateVMConfig(QuickCreate model) { VMManager vmm = GetVMM(); if (await vmm.IsServiceNameAvailable(model.Name).ConfigureAwait(continueOnCapturedContext: false) == false) { return(false); } bool isVmImage = false; string ImageName = ""; string ImagePath = ""; XDocument vm = vmm.NewAzureVMConfig(model.Name, model.Machine_Size, model.OS, GetOSDiskMediaLocation(model.OSLabel), true, isVmImage, ImageName, ImagePath); if (!isVmImage) { vm = vmm.NewWindowsProvisioningConfig(vm, model.Name, pwd); vm = vmm.NewNetworkConfigurationSet(vm); vm = vmm.AddNewInputEndpoint(vm, "web", "TCP", 80, 80); vm = vmm.AddNewInputEndpoint(vm, "rdp", "TCP", 3389, 3389); } var builder = new StringBuilder(); var settings = new XmlWriterSettings() { Indent = true }; using (var writer = XmlWriter.Create(builder, settings)) { vm.WriteTo(writer); } String requestID_cloudService = await vmm.NewAzureCloudService(model.ServiceName, "West US", String.Empty).ConfigureAwait(continueOnCapturedContext: false); OperationResult result = await vmm.PollGetOperationStatus(requestID_cloudService, 5, 120).ConfigureAwait(continueOnCapturedContext: false); String requestID_createDeployment; if (result.Status == OperationStatus.Succeeded) { // VM creation takes too long so we'll check it later requestID_createDeployment = await vmm.NewAzureVMDeployment(model.ServiceName, model.Name, String.Empty, vm, null, isVmImage).ConfigureAwait(continueOnCapturedContext: false); OperationResult resultvm = await vmm.PollGetOperationStatus(requestID_createDeployment, 5, 120).ConfigureAwait(continueOnCapturedContext: false); } else { requestID_createDeployment = ""; } return(true); }
async private Task <bool> CreateVM(string serviceName, string vmName, string password, string Machine_Size, string OS) { VMManager vmm = new VMManager(SubscriptionID, CertThumbPrint); if (await vmm.IsServiceNameAvailable(serviceName).ConfigureAwait(continueOnCapturedContext: false) == false) { return(false); } XDocument vm = vmm.NewAzureVMConfig(vmName, Machine_Size, OS, GetOSDiskMediaLocation(vmName), true); vm = vmm.NewWindowsProvisioningConfig(vm, vmName, password); vm = vmm.NewNetworkConfigurationSet(vm); vm = vmm.AddNewInputEndpoint(vm, "web", "TCP", 80, 80); vm = vmm.AddNewInputEndpoint(vm, "rdp", "TCP", 3389, 3389); var builder = new StringBuilder(); var settings = new XmlWriterSettings() { Indent = true }; using (var writer = XmlWriter.Create(builder, settings)) { vm.WriteTo(writer); } String requestID_cloudService = await vmm.NewAzureCloudService(serviceName, "West US", String.Empty).ConfigureAwait(continueOnCapturedContext: false); OperationResult result = await vmm.PollGetOperationStatus(requestID_cloudService, 5, 120).ConfigureAwait(continueOnCapturedContext: false);; String requestID_createDeployment; if (result.Status == OperationStatus.Succeeded) { // VM creation takes too long so we'll check it later requestID_createDeployment = await vmm.NewAzureVMDeployment(serviceName, vmName, String.Empty, vm, null).ConfigureAwait(continueOnCapturedContext: false); } else { requestID_createDeployment = ""; } return(true); }