private async void cmbSubscriptions_SelectedIndexChanged(object sender, EventArgs e) { if (cmbSubscriptions.Enabled == true) { writeLog("Subscriptions_SelectionChanged", "Start"); lvwVirtualNetworks.Items.Clear(); lvwStorageAccounts.Items.Clear(); lvwVirtualMachines.Items.Clear(); // Get Subscription from ComboBox subscriptionid = cmbSubscriptions.SelectedItem.ToString().Split(new char[] { '|' })[0].ToString().Trim(); var token = GetToken(subscriptionsAndTenants[subscriptionid], PromptBehavior.Auto); var retrieveTasks = new List <Task <XmlDocument> >(); Task <XmlDocument> vnetRetrieveTask = _asmRetriever.GetAzureASMResources("VirtualNetworks", subscriptionid, null, token); Task <XmlDocument> storageRetrieveTask = _asmRetriever.GetAzureASMResources("StorageAccounts", subscriptionid, null, token); Task <XmlDocument> cloudServiceRetrieveTask = _asmRetriever.GetAzureASMResources("CloudServices", subscriptionid, null, token); retrieveTasks.AddRange(new[] { vnetRetrieveTask, storageRetrieveTask, cloudServiceRetrieveTask }); await Task.WhenAll(retrieveTasks); foreach (XmlNode virtualnetworksite in vnetRetrieveTask.Result.SelectNodes("//VirtualNetworkSite")) { lvwVirtualNetworks.Items.Add(virtualnetworksite.SelectSingleNode("Name").InnerText); } foreach (XmlNode storageaccount in storageRetrieveTask.Result.SelectNodes("//StorageService")) { lvwStorageAccounts.Items.Add(storageaccount.SelectSingleNode("ServiceName").InnerText); } var cloudServiceVMTasks = new List <Task>(); foreach (XmlNode cloudservice in cloudServiceRetrieveTask.Result.SelectNodes("//HostedService")) { cloudServiceVMTasks.Add(RetrieveVMsFromCloudService(token, cloudservice)); } await Task.WhenAll(cloudServiceVMTasks); lblStatus.Text = "BUSY: Getting Reserved IPs"; XmlDocument reservedips = await _asmRetriever.GetAzureASMResources("ReservedIPs", subscriptionid, null, token); // If save selection option is enabled if (app.Default.SaveSelection) { lblStatus.Text = "BUSY: Reading saved selection"; _saveSelectionProvider.Read(Guid.Parse(subscriptionid), ref lvwVirtualNetworks, ref lvwStorageAccounts, ref lvwVirtualMachines); } lblStatus.Text = "Ready"; writeLog("Subscriptions_SelectionChanged", "End"); } }
private async Task ReadSubscriptionSettings(AzureSubscription azureSubscription) { // If save selection option is enabled if (app.Default.SaveSelection) { _statusProvider.UpdateStatus("BUSY: Reading saved selection"); await _saveSelectionProvider.Read(azureSubscription.SubscriptionId, _AzureContextSourceASM.AzureRetriever, AzureContextTargetARM.AzureRetriever, treeASM); UpdateExportItemsCount(); } }
private void cmbRegion_SelectedIndexChanged(object sender, EventArgs e) { if (cmbRegion.Enabled == true) { //Load the Region Items Load_Items(); } // If save selection option is enabled if (app.Default.SaveSelection) { lblStatus.Text = "BUSY: Reading saved selection"; _saveSelectionProvider.Read(cmbRegion.Text, ref lvwVirtualNetworks, ref lvwVirtualMachines); } }
private void cmbSubscriptions_SelectedIndexChanged(object sender, EventArgs e) { if (cmbSubscriptions.Enabled == true) { lvwVirtualNetworks.Items.Clear(); lvwStorageAccounts.Items.Clear(); lvwVirtualMachines.Items.Clear(); subscriptionid = cmbSubscriptions.SelectedItem.ToString().Split(new char[] { '|' })[0].ToString().Trim(); var token = GetToken(subscriptionsAndTenants[subscriptionid], PromptBehavior.Auto); //Resource Group listing var RGList = _asmRetriever.GetAzureARMResources("RG", subscriptionid, null, token, null); var RGresults = JsonConvert.DeserializeObject <dynamic>(RGList); foreach (var RG in RGresults.value) { string RGName = RG.name; //Listing Virtual Network from each RG var NWList = _asmRetriever.GetAzureARMResources("VirtualNetworks", subscriptionid, null, token, RGName); var NWresults = JsonConvert.DeserializeObject <dynamic>(NWList); foreach (var vnet in NWresults.value) { string vnetName = vnet.name; var listItem = new ListViewItem(RGName); listItem.SubItems.AddRange(new[] { vnetName }); lvwVirtualNetworks.Items.Add(listItem); Application.DoEvents(); } //Listing Storage Account from each RG var SAList = _asmRetriever.GetAzureARMResources("StorageAccounts", subscriptionid, null, token, RGName); var SAresults = JsonConvert.DeserializeObject <dynamic>(SAList); foreach (var SA in SAresults.value) { string SAName = SA.name; var listItem = new ListViewItem(RGName); listItem.SubItems.AddRange(new[] { SAName }); lvwStorageAccounts.Items.Add(listItem); Application.DoEvents(); } //Listing Virtual Machines from each RG var VMList = _asmRetriever.GetAzureARMResources("VirtualMachines", subscriptionid, null, token, RGName); var VMresults = JsonConvert.DeserializeObject <dynamic>(VMList); foreach (var VM in VMresults.value) { string VMName = VM.name; var listItem = new ListViewItem(RGName); listItem.SubItems.AddRange(new[] { VMName }); lvwVirtualMachines.Items.Add(listItem); Application.DoEvents(); } } if (app.Default.SaveSelection) { lblStatus.Text = "BUSY: Reading saved selection"; Application.DoEvents(); _saveSelectionProvider.Read(Guid.Parse(subscriptionid), ref lvwVirtualNetworks, ref lvwStorageAccounts, ref lvwVirtualMachines); } lblStatus.Text = "Ready"; writeLog("Subscriptions_SelectionChanged", "End"); } }
private void cmbSubscriptions_SelectedIndexChanged(object sender, EventArgs e) { if (cmbSubscriptions.Enabled == true) { writeLog("Subscriptions_SelectionChanged", "Start"); lvwVirtualNetworks.Items.Clear(); lvwStorageAccounts.Items.Clear(); lvwVirtualMachines.Items.Clear(); // Get Subscription from ComboBox subscriptionid = cmbSubscriptions.SelectedItem.ToString().Split(new char[] { '|' })[0].ToString().Trim(); var token = GetToken(subscriptionsAndTenants[subscriptionid], PromptBehavior.Auto); foreach (XmlNode virtualnetworksite in _asmRetriever.GetAzureASMResources("VirtualNetworks", subscriptionid, null, token).SelectNodes("//VirtualNetworkSite")) { lvwVirtualNetworks.Items.Add(virtualnetworksite.SelectSingleNode("Name").InnerText); Application.DoEvents(); } foreach (XmlNode storageaccount in _asmRetriever.GetAzureASMResources("StorageAccounts", subscriptionid, null, token).SelectNodes("//StorageService")) { lvwStorageAccounts.Items.Add(storageaccount.SelectSingleNode("ServiceName").InnerText); Application.DoEvents(); } foreach (XmlNode cloudservice in _asmRetriever.GetAzureASMResources("CloudServices", subscriptionid, null, token).SelectNodes("//HostedService")) { string cloudservicename = cloudservice.SelectSingleNode("ServiceName").InnerText; Hashtable cloudserviceinfo = new Hashtable(); cloudserviceinfo.Add("name", cloudservicename); XmlDocument hostedservice = _asmRetriever.GetAzureASMResources("CloudService", subscriptionid, cloudserviceinfo, token); if (hostedservice.SelectNodes("//Deployments/Deployment").Count > 0) { if (hostedservice.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role")[0].SelectNodes("RoleType").Count > 0) { if (hostedservice.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role")[0].SelectSingleNode("RoleType").InnerText == "PersistentVMRole") { XmlNodeList roles = hostedservice.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role"); foreach (XmlNode role in roles) { string virtualmachinename = role.SelectSingleNode("RoleName").InnerText; var listItem = new ListViewItem(cloudservicename); listItem.SubItems.AddRange(new[] { virtualmachinename }); lvwVirtualMachines.Items.Add(listItem); Application.DoEvents(); } } } } } lblStatus.Text = "BUSY: Getting Reserved IPs"; Application.DoEvents(); XmlDocument reservedips = _asmRetriever.GetAzureASMResources("ReservedIPs", subscriptionid, null, token); // If save selection option is enabled if (app.Default.SaveSelection) { lblStatus.Text = "BUSY: Reading saved selection"; Application.DoEvents(); _saveSelectionProvider.Read(Guid.Parse(subscriptionid), ref lvwVirtualNetworks, ref lvwStorageAccounts, ref lvwVirtualMachines); } lblStatus.Text = "Ready"; writeLog("Subscriptions_SelectionChanged", "End"); } }