Example #1
0
        /// <summary>
        /// Creates an empty VNET to add address ranges and subnets
        /// </summary>
        public string AddSubnetToAddressRange(string networkName, string addressRange, string subnetName)
        {
            var networkResponse = GetAvailableVirtualNetworks();
            var vNetSpecific    = networkResponse.FirstOrDefault(vnet => vnet.Name == networkName);
            var subnetAddress   = VirtualNetworkingUtils.NextAvailableSubnet(addressRange, vNetSpecific);

            if (subnetAddress == null)
            {
                throw new FluentManagementException("there is no space in the selected address range to create a new subnet", "VirtualNetworkClient");
            }
            var subnetTag = new SubnetTag()
            {
                NetworkName        = networkName,
                AddressPrefix      = addressRange,
                SubnetAddressRange = subnetAddress,
                SubnetName         = subnetName
            };
            string xml     = AddXmlSubnetToExistingNetworkingDefinition(subnetTag);
            var    command = new SetVirtualNetworkConfigCommand(xml)
            {
                SubscriptionId = SubscriptionId,
                Certificate    = ManagementCertificate
            };

            command.Execute();
            return(xml);
        }
Example #2
0
        /// <summary>
        /// Removes a subnet from the network configuration
        /// </summary>
        public void RemoveSubnet(string networkName, string subnetName)
        {
            var networkResponse = GetAllNetworkingConfig();
            var document        = XDocument.Parse(networkResponse);

            var networks = document.Descendants(Namespaces.NetworkingConfig + "VirtualNetworkSite");
            var vnet     = networks.FirstOrDefault(network => network.Attribute("name").Value == networkName);

            if (vnet == null)
            {
                throw new FluentManagementException("VirtualNetworkClient", "Virtual Network not found");
            }

            var subnets = vnet.Descendants(Namespaces.NetworkingConfig + "Subnet");
            var subnet  = subnets.FirstOrDefault(element => element.Attribute("name").Value == subnetName);

            if (subnet == null)
            {
                throw new FluentManagementException("VirtualNetworkClient", "Subnet not found");
            }
            subnet.Remove();

            var command = new SetVirtualNetworkConfigCommand(document.ToStringFullXmlDeclaration())
            {
                SubscriptionId = SubscriptionId,
                Certificate    = ManagementCertificate
            };

            command.Execute();
        }