Beispiel #1
0
        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");
            }
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
        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");
            }
        }
Beispiel #5
0
        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");
            }
        }