Esempio n. 1
0
        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 interface.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='networkInterfaceName'>
 /// The name of the network interface.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to the create or update network interface operation.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <NetworkInterfaceInner> CreateOrUpdateAsync(this INetworkInterfacesOperations operations, string resourceGroupName, string networkInterfaceName, NetworkInterfaceInner parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, networkInterfaceName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }