public async Task <RouteTableInner> CreateRouteTableAsync( IResourceGroup resourceGroup, string routTableName, string networkInterfacePrivateIPAddress, IDictionary <string, string> tags = null, CancellationToken cancellationToken = default ) { tags = tags ?? new Dictionary <string, string>(); // Define Rout Table var routTableDefinition = new RouteTableInner { Location = resourceGroup.RegionName, Tags = tags, DisableBgpRoutePropagation = false, Routes = new List <RouteInner> { new RouteInner { Name = "aks-agentpool", AddressPrefix = "10.244.0.0/24", NextHopType = RouteNextHopType.VirtualAppliance, NextHopIpAddress = networkInterfacePrivateIPAddress } } }; var routeTable = await _networkManagementClient .RouteTables .CreateOrUpdateAsync( resourceGroup.Name, routTableName, routTableDefinition, cancellationToken ); return(routeTable); }
/// <summary> /// Create or updates a route table in a specified resource group. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='routeTableName'> /// The name of the route table. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update route table operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <RouteTableInner> CreateOrUpdateAsync(this IRouteTablesOperations operations, string resourceGroupName, string routeTableName, RouteTableInner parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, routeTableName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
public async Task <VirtualNetworkInner> CreateVirtualNetworkAsync( IResourceGroup resourceGroup, NetworkSecurityGroupInner networkSecurityGroup, string virtualNetworkName, RouteTableInner routeTable = null, IDictionary <string, string> tags = null, CancellationToken cancellationToken = default ) { try { tags = tags ?? new Dictionary <string, string>(); Log.Information($"Creating Azure Virtual Network: {virtualNetworkName} ..."); // Define Virtual Network var virtualNetworkDefinition = new VirtualNetworkInner { Location = resourceGroup.RegionName, Tags = tags, AddressSpace = new AddressSpace { AddressPrefixes = new List <string>() { VIRTUAL_NETWORK_ADDRESS_PREFIXES } }, Subnets = new List <SubnetInner> { new SubnetInner() { Name = VIRTUAL_NETWORK_AKS_SUBNET_NAME, AddressPrefix = VIRTUAL_NETWORK_AKS_SUBNET_ADDRESS_PREFIXES, NetworkSecurityGroup = new SubResource { Id = networkSecurityGroup.Id } } } }; if (null != routeTable) { virtualNetworkDefinition.Subnets[0].RouteTable = new SubResource { Id = routeTable.Id }; } virtualNetworkDefinition.Validate(); var virtualNetwork = await _networkManagementClient .VirtualNetworks .CreateOrUpdateAsync( resourceGroup.Name, virtualNetworkName, virtualNetworkDefinition, cancellationToken ); Log.Information($"Created Azure Virtual Network: {virtualNetworkName}"); return(virtualNetwork); } catch (Exception ex) { Log.Error(ex, $"Failed to create Azure Virtual Network: {virtualNetworkName}"); throw; } }