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); }
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); } }