public async Task <NetworkInterfaceInner> CreateNetworkInterfaceAsync( IResourceGroup resourceGroup, NetworkSecurityGroupInner networkSecurityGroup, SubnetInner aksSubnet, string networkInterfaceName, string networkInterfacePrivateIPAddress, IDictionary <string, string> tags = null, CancellationToken cancellationToken = default ) { tags = tags ?? new Dictionary <string, string>(); // Define Network Interface var networkInterfaceDefinition = new NetworkInterfaceInner { Location = resourceGroup.RegionName, Tags = tags, IpConfigurations = new List <NetworkInterfaceIPConfigurationInner> { new NetworkInterfaceIPConfigurationInner { Name = "ipconfig1", PrivateIPAddress = networkInterfacePrivateIPAddress, PrivateIPAllocationMethod = IPAllocationMethod.Dynamic, //PublicIPAddress = new SubResource { // Id = publicIPAddress.Id //}, Subnet = new SubResource { Id = aksSubnet.Id } } }, NetworkSecurityGroup = new SubResource { Id = networkSecurityGroup.Id }, EnableAcceleratedNetworking = true, EnableIPForwarding = true }; networkInterfaceDefinition.Validate(); var networkInterface = await _networkManagementClient .NetworkInterfaces .CreateOrUpdateAsync( resourceGroup.Name, networkInterfaceName, networkInterfaceDefinition, cancellationToken ); return(networkInterface); }
/// <summary> /// Creates or updates a network security group in the 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='networkSecurityGroupName'> /// The name of the network security group. /// </param> /// <param name='parameters'> /// Parameters supplied to the create or update network security group /// operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <NetworkSecurityGroupInner> CreateOrUpdateAsync(this INetworkSecurityGroupsOperations operations, string resourceGroupName, string networkSecurityGroupName, NetworkSecurityGroupInner parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, networkSecurityGroupName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
public async Task <NetworkSecurityGroupInner> CreateNetworkSecurityGroupAsync( IResourceGroup resourceGroup, string networkSecurityGroupName, IDictionary <string, string> tags = null, CancellationToken cancellationToken = default ) { try { tags = tags ?? new Dictionary <string, string>(); Log.Information($"Creating Azure Network Security Group: {networkSecurityGroupName} ..."); // Define Network Security Group var networkSecurityGroupDefinition = new NetworkSecurityGroupInner { Location = resourceGroup.RegionName, Tags = tags, SecurityRules = new List <SecurityRuleInner> { new SecurityRuleInner { Name = "UASC", Protocol = SecurityRuleProtocol.Tcp, SourcePortRange = "*", DestinationPortRange = "4840", SourceAddressPrefix = "*", DestinationAddressPrefix = "*", Access = SecurityRuleAccess.Allow, Priority = 100, Direction = SecurityRuleDirection.Inbound }, new SecurityRuleInner { Name = "HTTPS", Protocol = SecurityRuleProtocol.Tcp, SourcePortRange = "*", DestinationPortRange = "443", SourceAddressPrefix = "*", DestinationAddressPrefix = "*", Access = SecurityRuleAccess.Allow, Priority = 101, Direction = SecurityRuleDirection.Inbound }, new SecurityRuleInner { Name = "SSH", Protocol = SecurityRuleProtocol.Tcp, SourcePortRange = "*", DestinationPortRange = "22", SourceAddressPrefix = "*", DestinationAddressPrefix = "*", Access = SecurityRuleAccess.Deny, Priority = 102, Direction = SecurityRuleDirection.Inbound } } }; networkSecurityGroupDefinition.Validate(); var networkSecurityGroup = await _networkManagementClient .NetworkSecurityGroups .CreateOrUpdateAsync( resourceGroup.Name, networkSecurityGroupName, networkSecurityGroupDefinition, cancellationToken ); Log.Information($"Created Azure Network Security Group: {networkSecurityGroupName}"); return(networkSecurityGroup); } catch (Exception ex) { Log.Error(ex, $"Failed to create Azure Network Security Group: {networkSecurityGroupName}"); throw; } }
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; } }