public async Task InitializeChildrenAsync()
        {
            if (_XmlNode.SelectSingleNode("AffinityGroup") != null)
            {
                _AsmAffinityGroup = await _AzureContext.AzureRetriever.GetAzureAsmAffinityGroup(_XmlNode.SelectSingleNode("AffinityGroup").InnerText);
            }

            _AsmSubnets = new List <ISubnet>();
            foreach (XmlNode subnetNode in _XmlNode.SelectNodes("Subnets/Subnet"))
            {
                AsmSubnet asmSubnet = new AsmSubnet(_AzureContext, this, subnetNode);
                await asmSubnet.InitializeChildrenAsync();

                _AsmSubnets.Add(asmSubnet);
            }

            _AsmVirtualNetworkGateway = await _AzureContext.AzureRetriever.GetAzureAsmVirtualNetworkGateway(this);

            _AsmLocalNetworkSites = new List <AsmLocalNetworkSite>();
            foreach (XmlNode localNetworkSiteXml in _XmlNode.SelectNodes("Gateway/Sites/LocalNetworkSite"))
            {
                AsmLocalNetworkSite asmLocalNetworkSite = new AsmLocalNetworkSite(_AzureContext, this, localNetworkSiteXml);
                await asmLocalNetworkSite.InitializeChildrenAsync();

                _AsmLocalNetworkSites.Add(asmLocalNetworkSite);
            }

            _AsmClientRootCertificates = await _AzureContext.AzureRetriever.GetAzureAsmClientRootCertificates(this);
        }
Exemple #2
0
        public async Task LoadChildrenAsync()
        {
            if (this.VirtualNetworkName != String.Empty)
            {
                _AsmVirtualNetwork = await this._AzureContext.AzureRetriever.GetAzureAsmVirtualNetwork(this.VirtualNetworkName);
            }

            if (this.AffinityGroupName == String.Empty)
            {
                _AsmAffinityGroup = null;
            }
            else
            {
                _AsmAffinityGroup = await this._AzureContext.AzureRetriever.GetAzureAsmAffinityGroup(this.AffinityGroupName);
            }

            _VirtualMachines = new List <AsmVirtualMachine>();
            if (_XmlNode.SelectNodes("//Deployments/Deployment").Count > 0)
            {
                if (_XmlNode.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role")[0].SelectNodes("RoleType").Count > 0)
                {
                    if (_XmlNode.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role")[0].SelectSingleNode("RoleType").InnerText == "PersistentVMRole")
                    {
                        XmlNodeList roles = _XmlNode.SelectNodes("//Deployments/Deployment")[0].SelectNodes("RoleList/Role");

                        foreach (XmlNode role in roles)
                        {
                            string virtualmachinename = role.SelectSingleNode("RoleName").InnerText;

                            AsmVirtualMachine asmVirtualMachine = await _AzureContext.AzureRetriever.GetAzureAsmVirtualMachine(this, virtualmachinename);

                            _VirtualMachines.Add(asmVirtualMachine);
                        }
                    }
                }
            }

            List <AsmReservedIP> asmReservedIPs = await _AzureContext.AzureRetriever.GetAzureAsmReservedIPs();

            foreach (AsmReservedIP asmReservedIP in asmReservedIPs)
            {
                if (asmReservedIP.ServiceName == this.ServiceName)
                {
                    _AsmReservedIP = asmReservedIP;
                }
            }

            XmlNodeList loadBalancersXml = _XmlNode.SelectNodes("//Deployments/Deployment/LoadBalancers/LoadBalancer");

            foreach (XmlNode loadBalancerXml in loadBalancersXml)
            {
                AsmLoadBalancer asmLoadBalancer = new AsmLoadBalancer(_AzureContext, _AsmVirtualNetwork, loadBalancerXml);
                _LoadBalancers.Add(asmLoadBalancer);
            }
        }