public async Task InitializeChildrenAsync() { if (_XmlNode.SelectSingleNode("AffinityGroup") != null) { _AsmAffinityGroup = await _AzureContext.AzureRetriever.GetAzureAsmAffinityGroup(_XmlNode.SelectSingleNode("AffinityGroup").InnerText); } foreach (XmlNode subnetNode in _XmlNode.SelectNodes("Subnets/Subnet")) { Subnet asmSubnet = new Subnet(_AzureContext, this, subnetNode); await asmSubnet.InitializeChildrenAsync(); _AsmSubnets.Add(asmSubnet); } _AsmVirtualNetworkGateway = await _AzureContext.AzureRetriever.GetAzureAsmVirtualNetworkGateway(this); _AsmLocalNetworkSites = new List <LocalNetworkSite>(); foreach (XmlNode localNetworkSiteXml in _XmlNode.SelectNodes("Gateway/Sites/LocalNetworkSite")) { LocalNetworkSite asmLocalNetworkSite = new LocalNetworkSite(_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 <VirtualMachine>(); 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; VirtualMachine asmVirtualMachine = await _AzureContext.AzureRetriever.GetAzureAsmVirtualMachine(this, virtualmachinename); _VirtualMachines.Add(asmVirtualMachine); } } } } List <ReservedIP> asmReservedIPs = await _AzureContext.AzureRetriever.GetAzureAsmReservedIPs(); foreach (ReservedIP asmReservedIP in asmReservedIPs) { if (asmReservedIP.ServiceName == this.ServiceName) { _AsmReservedIP = asmReservedIP; } } XmlNodeList loadBalancersXml = _XmlNode.SelectNodes("//Deployments/Deployment/LoadBalancers/LoadBalancer"); foreach (XmlNode loadBalancerXml in loadBalancersXml) { LoadBalancer asmLoadBalancer = new LoadBalancer(_AzureContext, _AsmVirtualNetwork, loadBalancerXml); _LoadBalancers.Add(asmLoadBalancer); } }