» azurerm_network_interface

Manages a Network Interface located in a Virtual Network, usually attached to a Virtual Machine.

» Example Usage

resource "azurerm_resource_group" "example" {
  name     = "acceptanceTestResourceGroup1"
  location = "West US"

resource "azurerm_virtual_network" "example" {
  name                = "acceptanceTestVirtualNetwork1"
  address_space       = [""]
  location            = "${azurerm_resource_group.example.location}"
  resource_group_name = "${azurerm_resource_group.example.name}"

resource "azurerm_subnet" "example" {
  name                 = "testsubnet"
  resource_group_name  = "${azurerm_resource_group.example.name}"
  virtual_network_name = "${azurerm_virtual_network.example.name}"
  address_prefix       = ""

resource "azurerm_network_interface" "example" {
  name                = "acceptanceTestNetworkInterface1"
  location            = "${azurerm_resource_group.example.location}"
  resource_group_name = "${azurerm_resource_group.example.name}"

  ip_configuration {
    name                          = "testconfiguration1"
    subnet_id                     = "${azurerm_subnet.example.id}"
    private_ip_address_allocation = "Dynamic"

  tags = {
    environment = "staging"

» Argument Reference

The following arguments are supported:

  • name - (Required) The name of the network interface. Changing this forces a new resource to be created.

  • resource_group_name - (Required) The name of the resource group in which to create the network interface. Changing this forces a new resource to be created.

  • location - (Required) The location/region where the network interface is created. Changing this forces a new resource to be created.

  • network_security_group_id - (Optional) The ID of the Network Security Group to associate with the network interface.

  • internal_dns_name_label - (Optional) Relative DNS name for this NIC used for internal communications between VMs in the same VNet

  • enable_ip_forwarding - (Optional) Enables IP Forwarding on the NIC. Defaults to false.

  • enable_accelerated_networking - (Optional) Enables Azure Accelerated Networking using SR-IOV. Only certain VM instance sizes are supported. Refer to Create a Virtual Machine with Accelerated Networking. Defaults to false.

  • dns_servers - (Optional) List of DNS servers IP addresses to use for this NIC, overrides the VNet-level server list

  • ip_configuration - (Required) One or more ip_configuration associated with this NIC as documented below.

  • tags - (Optional) A mapping of tags to assign to the resource.

The ip_configuration block supports:

  • primary - (Optional) Is this the Primary Network Interface? If set to true this should be the first ip_configuration in the array.

» Attributes Reference

The following attributes are exported:

  • id - The Virtual Network Interface ID.
  • mac_address - The media access control (MAC) address of the network interface.
  • private_ip_address - The first private IP address of the network interface.
  • private_ip_addresses - The private IP addresses of the network interface.
  • virtual_machine_id - Reference to a VM with which this NIC has been associated.
  • applied_dns_servers - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set

» Import

Network Interfaces can be imported using the resource id, e.g.

terraform import azurerm_network_interface.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/microsoft.network/networkInterfaces/nic1