Microsoft.Network networkInterfaces template reference

Template format

To create a Microsoft.Network/networkInterfaces resource, add the following JSON to the resources section of your template.

{
  "name": "string",
  "type": "Microsoft.Network/networkInterfaces",
  "apiVersion": "2018-01-01",
  "location": "string",
  "tags": {},
  "properties": {
    "virtualMachine": {
      "id": "string"
    },
    "networkSecurityGroup": {
      "id": "string",
      "location": "string",
      "tags": {},
      "properties": {
        "securityRules": [
          {
            "id": "string",
            "properties": {
              "description": "string",
              "protocol": "string",
              "sourcePortRange": "string",
              "destinationPortRange": "string",
              "sourceAddressPrefix": "string",
              "sourceAddressPrefixes": [
                "string"
              ],
              "sourceApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "tags": {},
                  "properties": {}
                }
              ],
              "destinationAddressPrefix": "string",
              "destinationAddressPrefixes": [
                "string"
              ],
              "destinationApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "tags": {},
                  "properties": {}
                }
              ],
              "sourcePortRanges": [
                "string"
              ],
              "destinationPortRanges": [
                "string"
              ],
              "access": "string",
              "priority": "integer",
              "direction": "string"
            },
            "name": "string"
          }
        ],
        "defaultSecurityRules": [
          {
            "id": "string",
            "properties": {
              "description": "string",
              "protocol": "string",
              "sourcePortRange": "string",
              "destinationPortRange": "string",
              "sourceAddressPrefix": "string",
              "sourceAddressPrefixes": [
                "string"
              ],
              "sourceApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "tags": {},
                  "properties": {}
                }
              ],
              "destinationAddressPrefix": "string",
              "destinationAddressPrefixes": [
                "string"
              ],
              "destinationApplicationSecurityGroups": [
                {
                  "id": "string",
                  "location": "string",
                  "tags": {},
                  "properties": {}
                }
              ],
              "sourcePortRanges": [
                "string"
              ],
              "destinationPortRanges": [
                "string"
              ],
              "access": "string",
              "priority": "integer",
              "direction": "string"
            },
            "name": "string"
          }
        ],
        "resourceGuid": "string"
      }
    },
    "ipConfigurations": [
      {
        "id": "string",
        "properties": {
          "applicationGatewayBackendAddressPools": [
            {
              "id": "string",
              "properties": {
                "backendIPConfigurations": [
                  "NetworkInterfaceIPConfiguration"
                ],
                "backendAddresses": [
                  {
                    "fqdn": "string",
                    "ipAddress": "string"
                  }
                ]
              },
              "name": "string",
              "type": "string"
            }
          ],
          "loadBalancerBackendAddressPools": [
            {
              "id": "string",
              "properties": {
              },
              "name": "string"
            }
          ],
          "loadBalancerInboundNatRules": [
            {
              "id": "string",
              "properties": {
                "frontendIPConfiguration": {
                  "id": "string"
                },
                "protocol": "string",
                "frontendPort": "integer",
                "backendPort": "integer",
                "idleTimeoutInMinutes": "integer",
                "enableFloatingIP": boolean
              },
              "name": "string"
            }
          ],
          "privateIPAddress": "string",
          "privateIPAllocationMethod": "string",
          "privateIPAddressVersion": "string",
          "subnet": {
            "id": "string",
            "properties": {
              "addressPrefix": "string",
              "networkSecurityGroup": {
                "id": "string",
                "location": "string",
                "tags": {},
                "properties": {
                  "securityRules": [
                    {
                      "id": "string",
                      "properties": {
                        "description": "string",
                        "protocol": "string",
                        "sourcePortRange": "string",
                        "destinationPortRange": "string",
                        "sourceAddressPrefix": "string",
                        "sourceAddressPrefixes": [
                          "string"
                        ],
                        "sourceApplicationSecurityGroups": [
                          {
                            "id": "string",
                            "location": "string",
                            "tags": {},
                            "properties": {}
                          }
                        ],
                        "destinationAddressPrefix": "string",
                        "destinationAddressPrefixes": [
                          "string"
                        ],
                        "destinationApplicationSecurityGroups": [
                          {
                            "id": "string",
                            "location": "string",
                            "tags": {},
                            "properties": {}
                          }
                        ],
                        "sourcePortRanges": [
                          "string"
                        ],
                        "destinationPortRanges": [
                          "string"
                        ],
                        "access": "string",
                        "priority": "integer",
                        "direction": "string"
                      },
                      "name": "string"
                    }
                  ],
                  "defaultSecurityRules": [
                    {
                      "id": "string",
                      "properties": {
                        "description": "string",
                        "protocol": "string",
                        "sourcePortRange": "string",
                        "destinationPortRange": "string",
                        "sourceAddressPrefix": "string",
                        "sourceAddressPrefixes": [
                          "string"
                        ],
                        "sourceApplicationSecurityGroups": [
                          {
                            "id": "string",
                            "location": "string",
                            "tags": {},
                            "properties": {}
                          }
                        ],
                        "destinationAddressPrefix": "string",
                        "destinationAddressPrefixes": [
                          "string"
                        ],
                        "destinationApplicationSecurityGroups": [
                          {
                            "id": "string",
                            "location": "string",
                            "tags": {},
                            "properties": {}
                          }
                        ],
                        "sourcePortRanges": [
                          "string"
                        ],
                        "destinationPortRanges": [
                          "string"
                        ],
                        "access": "string",
                        "priority": "integer",
                        "direction": "string"
                      },
                      "name": "string"
                    }
                  ],
                  "resourceGuid": "string"
                }
              },
              "routeTable": {
                "id": "string",
                "location": "string",
                "tags": {},
                "properties": {
                  "routes": [
                    {
                      "id": "string",
                      "properties": {
                        "addressPrefix": "string",
                        "nextHopType": "string",
                        "nextHopIpAddress": "string"
                      },
                      "name": "string"
                    }
                  ],
                  "disableBgpRoutePropagation": boolean
                }
              },
              "serviceEndpoints": [
                {
                  "service": "string",
                  "locations": [
                    "string"
                  ]
                }
              ],
              "resourceNavigationLinks": [
                {
                  "id": "string",
                  "properties": {
                    "linkedResourceType": "string",
                    "link": "string"
                  },
                  "name": "string"
                }
              ]
            },
            "name": "string"
          },
          "primary": boolean,
          "publicIPAddress": {
            "id": "string",
            "location": "string",
            "tags": {},
            "sku": {
              "name": "string"
            },
            "properties": {
              "publicIPAllocationMethod": "string",
              "publicIPAddressVersion": "string",
              "dnsSettings": {
                "domainNameLabel": "string",
                "fqdn": "string",
                "reverseFqdn": "string"
              },
              "ipTags": [
                {
                  "ipTagType": "string",
                  "tag": "string"
                }
              ],
              "ipAddress": "string",
              "idleTimeoutInMinutes": "integer",
              "resourceGuid": "string"
            },
            "zones": [
              "string"
            ]
          },
          "applicationSecurityGroups": [
            {
              "id": "string",
              "location": "string",
              "tags": {},
              "properties": {}
            }
          ]
        },
        "name": "string"
      }
    ],
    "dnsSettings": {
      "dnsServers": [
        "string"
      ],
      "appliedDnsServers": [
        "string"
      ],
      "internalDnsNameLabel": "string",
      "internalFqdn": "string",
      "internalDomainNameSuffix": "string"
    },
    "macAddress": "string",
    "primary": boolean,
    "enableAcceleratedNetworking": boolean,
    "enableIPForwarding": boolean,
    "resourceGuid": "string"
  }
}

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Network/networkInterfaces object

Note

In Bicep, type and apiVersion are specified in the first line of the resource declaration. Use the format <type>@<apiVersion>. Don't set those properties in the resource body.

Name Type Required Value
name string Yes
type enum Yes For JSON - Microsoft.Network/networkInterfaces
apiVersion enum Yes For JSON - 2018-01-01
location string No Resource location.
tags object No Resource tags.
properties object Yes Properties of the network interface. - NetworkInterfacePropertiesFormat object

NetworkInterfacePropertiesFormat object

Name Type Required Value
virtualMachine object No The reference of a virtual machine. - SubResource object
networkSecurityGroup object No The reference of the NetworkSecurityGroup resource. - NetworkSecurityGroup object
ipConfigurations array No A list of IPConfigurations of the network interface. - NetworkInterfaceIPConfiguration object
dnsSettings object No The DNS settings in network interface. - NetworkInterfaceDnsSettings object
macAddress string No The MAC address of the network interface.
primary boolean No Gets whether this is a primary network interface on a virtual machine.
enableAcceleratedNetworking boolean No If the network interface is accelerated networking enabled.
enableIPForwarding boolean No Indicates whether IP forwarding is enabled on this network interface.
resourceGuid string No The resource GUID property of the network interface resource.

SubResource object

Name Type Required Value
id string No Resource ID.

NetworkSecurityGroup object

Name Type Required Value
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
properties object No Properties of the network security group - NetworkSecurityGroupPropertiesFormat object

NetworkInterfaceIPConfiguration object

Name Type Required Value
id string No Resource ID.
properties object No Network interface IP configuration properties. - NetworkInterfaceIPConfigurationPropertiesFormat object
name string No The name of the resource that is unique within a resource group. This name can be used to access the resource.

NetworkInterfaceDnsSettings object

Name Type Required Value
dnsServers array No List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. - string
appliedDnsServers array No 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. This property is what is configured on each of those VMs. - string
internalDnsNameLabel string No Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
internalFqdn string No Fully qualified DNS name supporting internal communications between VMs in the same virtual network.
internalDomainNameSuffix string No Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix.

NetworkSecurityGroupPropertiesFormat object

Name Type Required Value
securityRules array No A collection of security rules of the network security group. - SecurityRule object
defaultSecurityRules array No The default security rules of network security group. - SecurityRule object
resourceGuid string No The resource GUID property of the network security group resource.

NetworkInterfaceIPConfigurationPropertiesFormat object

Name Type Required Value
applicationGatewayBackendAddressPools array No The reference of ApplicationGatewayBackendAddressPool resource. - ApplicationGatewayBackendAddressPool object
loadBalancerBackendAddressPools array No The reference of LoadBalancerBackendAddressPool resource. - BackendAddressPool object
loadBalancerInboundNatRules array No A list of references of LoadBalancerInboundNatRules. - InboundNatRule object
privateIPAddress string No Private IP address of the IP configuration.
privateIPAllocationMethod enum No Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. - Static or Dynamic
privateIPAddressVersion enum No Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. - IPv4 or IPv6
subnet object No Subnet bound to the IP configuration. - Subnet object
primary boolean No Gets whether this is a primary customer address on the network interface.
publicIPAddress object No Public IP address bound to the IP configuration. - PublicIPAddress object
applicationSecurityGroups array No Application security groups in which the IP configuration is included. - ApplicationSecurityGroup object

SecurityRule object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the security rule - SecurityRulePropertiesFormat object
name string No The name of the resource that is unique within a resource group. This name can be used to access the resource.

ApplicationGatewayBackendAddressPool object

Name Type Required Value
id string No Resource ID.
properties object No ApplicationGatewayBackendAddressPoolPropertiesFormat object
name string No Resource that is unique within a resource group. This name can be used to access the resource.
type string No Type of the resource.

BackendAddressPool object

Name Type Required Value
id string No Resource ID.
properties object No Properties of load balancer backend address pool. - BackendAddressPoolPropertiesFormat object
name string No Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

InboundNatRule object

Name Type Required Value
id string No Resource ID.
properties object No Properties of load balancer inbound nat rule. - InboundNatRulePropertiesFormat object
name string No Gets name of the resource that is unique within a resource group. This name can be used to access the resource.

Subnet object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the subnet. - SubnetPropertiesFormat object
name string No The name of the resource that is unique within a resource group. This name can be used to access the resource.

PublicIPAddress object

Name Type Required Value
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
sku object No The public IP address SKU. - PublicIPAddressSku object
properties object No Public IP address properties. - PublicIPAddressPropertiesFormat object
zones array No A list of availability zones denoting the IP allocated for the resource needs to come from. - string

ApplicationSecurityGroup object

Name Type Required Value
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
properties object No Properties of the application security group.

SecurityRulePropertiesFormat object

Name Type Required Value
description string No A description for this rule. Restricted to 140 chars.
protocol enum Yes Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'. - Tcp, Udp, *
sourcePortRange string No The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
destinationPortRange string No The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
sourceAddressPrefix string No The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
sourceAddressPrefixes array No The CIDR or source IP ranges. - string
sourceApplicationSecurityGroups array No The application security group specified as source. - ApplicationSecurityGroup object
destinationAddressPrefix string No The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
destinationAddressPrefixes array No The destination address prefixes. CIDR or destination IP ranges. - string
destinationApplicationSecurityGroups array No The application security group specified as destination. - ApplicationSecurityGroup object
sourcePortRanges array No The source port ranges. - string
destinationPortRanges array No The destination port ranges. - string
access enum Yes The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. - Allow or Deny
priority integer No The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
direction enum Yes The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. - Inbound or Outbound

ApplicationGatewayBackendAddressPoolPropertiesFormat object

Name Type Required Value
backendIPConfigurations array No Collection of references to IPs defined in network interfaces. - NetworkInterfaceIPConfiguration object
backendAddresses array No Backend addresses - ApplicationGatewayBackendAddress object

BackendAddressPoolPropertiesFormat object

Name Type Required Value

InboundNatRulePropertiesFormat object

Name Type Required Value
frontendIPConfiguration object No A reference to frontend IP addresses. - SubResource object
protocol enum No Udp, Tcp, All
frontendPort integer No The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534.
backendPort integer No The port used for the internal endpoint. Acceptable values range from 1 to 65535.
idleTimeoutInMinutes integer No The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
enableFloatingIP boolean No Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.

SubnetPropertiesFormat object

Name Type Required Value
addressPrefix string No The address prefix for the subnet.
networkSecurityGroup object No The reference of the NetworkSecurityGroup resource. - NetworkSecurityGroup object
routeTable object No The reference of the RouteTable resource. - RouteTable object
serviceEndpoints array No An array of service endpoints. - ServiceEndpointPropertiesFormat object
resourceNavigationLinks array No Gets an array of references to the external resources using subnet. - ResourceNavigationLink object

PublicIPAddressSku object

Name Type Required Value
name enum No Name of a public IP address SKU. - Basic or Standard

PublicIPAddressPropertiesFormat object

Name Type Required Value
publicIPAllocationMethod enum No The public IP allocation method. Possible values are: 'Static' and 'Dynamic'. - Static or Dynamic
publicIPAddressVersion enum No The public IP address version. Possible values are: 'IPv4' and 'IPv6'. - IPv4 or IPv6
dnsSettings object No The FQDN of the DNS record associated with the public IP address. - PublicIPAddressDnsSettings object
ipTags array No The list of tags associated with the public IP address. - IpTag object
ipAddress string No The IP address associated with the public IP address resource.
idleTimeoutInMinutes integer No The idle timeout of the public IP address.
resourceGuid string No The resource GUID property of the public IP resource.

ApplicationGatewayBackendAddress object

Name Type Required Value
fqdn string No Fully qualified domain name (FQDN).
ipAddress string No IP address

RouteTable object

Name Type Required Value
id string No Resource ID.
location string No Resource location.
tags object No Resource tags.
properties object No Properties of the route table. - RouteTablePropertiesFormat object

ServiceEndpointPropertiesFormat object

Name Type Required Value
service string No The type of the endpoint service.
locations array No A list of locations. - string

Name Type Required Value
id string No Resource ID.
properties object No Resource navigation link properties format. - ResourceNavigationLinkFormat object
name string No Name of the resource that is unique within a resource group. This name can be used to access the resource.

PublicIPAddressDnsSettings object

Name Type Required Value
domainNameLabel string No Gets or sets the Domain name label.The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.
fqdn string No Gets the FQDN, Fully qualified domain name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone.
reverseFqdn string No Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.

IpTag object

Name Type Required Value
ipTagType string No Gets or sets the ipTag type: Example FirstPartyUsage.
tag string No Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage etc

RouteTablePropertiesFormat object

Name Type Required Value
routes array No Collection of routes contained within a route table. - Route object
disableBgpRoutePropagation boolean No Gets or sets whether to disable the routes learned by BGP on that route table. True means disable.

ResourceNavigationLinkFormat object

Name Type Required Value
linkedResourceType string No Resource type of the linked resource.
link string No Link to the external resource

Route object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the route. - RoutePropertiesFormat object
name string No The name of the resource that is unique within a resource group. This name can be used to access the resource.

RoutePropertiesFormat object

Name Type Required Value
addressPrefix string No The destination CIDR to which the route applies.
nextHopType enum Yes The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. - VirtualNetworkGateway, VnetLocal, Internet, VirtualAppliance, None
nextHopIpAddress string No The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
AKS cluster with the Application Gateway Ingress Controller

Deploy to Azure
This sample shows how to deploy an AKS cluster with Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics and Key Vault
App Gateway with WAF, SSL, IIS and HTTPS redirection

Deploy to Azure
This template deploys an Application Gateway with WAF, end to end SSL and HTTP to HTTPS redirect on the IIS servers.
Application Security Groups

Deploy to Azure
This template shows how to put together the pieces to secure workloads using NSGs with Application Security Groups. It will deploy a Linux VM running NGINX and through the usage of Applicaton Security Groups on Network Security Groups we will allow access to ports 22 and 80 to a VM assigned to Application Security Group called webServersAsg.
Use Azure Firewall as a DNS Proxy in a Hub & Spoke topology

Deploy to Azure
This sample show how to deploy a hub-spoke topology in Azure using the Azure Firewall. The hub virtual network acts as a central point of connectivity to many spoke virtual networks that are connected to hub virtual network via virtual network peering.
Create a Firewall with FirewallPolicy and IpGroups

Deploy to Azure
This template creates an Azure Firewall with FirewalllPolicy referencing Network Rules with IpGroups. Also, includes a Linux Jumpbox vm setup
Create an Azure Firewall with IpGroups

Deploy to Azure
This template creates an Azure Firewall with Application and Network Rules referring to IP Groups. Also, includes a Linux Jumpbox vm setup
Create an Azure Firewall sandbox with forced tunneling

Deploy to Azure
This template creates an Azure Firewall sandbox (Linux) with one firewall force tunneled through another firewall in a peered VNET
Testing environment for Azure Firewall Premium

Deploy to Azure
This template creates an Azure Firewall Premium and Firewall Policy with premium features such as Intrusion Inspection Detection (IDPS), TLS inspection and Web Category filtering
Create a sandbox setup of Azure Firewall with Linux VMs

Deploy to Azure
This template creates a virtual network with 3 subnets (server subnet, jumpbox subet and AzureFirewall subnet), a jumpbox VM with public IP, A server VM, UDR route to point to Azure Firewall for the Server Subnet and an Azure Firewall with 1 or more Public IP addresses, 1 sample application rule, 1 sample network rule and default private ranges
Create a sandbox setup with Firewall Policy

Deploy to Azure
This template creates a virtual network with 3 subnets (server subnet, jumpbox subet and AzureFirewall subnet), a jumpbox VM with public IP, A server VM, UDR route to point to Azure Firewall for the Server Subnet and an Azure Firewall with 1 or more Public IP addresses. Also creates a Firewall policy with 1 sample application rule, 1 sample network rule and default private ranges
Create a sandbox setup of Azure Firewall with Zones

Deploy to Azure
This template creates a virtual network with three subnets (server subnet, jumpbox subnet, and Azure Firewall subnet), a jumpbox VM with public IP, A server VM, UDR route to point to Azure Firewall for the ServerSubnet,an Azure Firewall with one or more Public IP addresses, one sample application rule, and one sample network rule and Azure Firewall in Availability Zones 1, 2, and 3.
Deploy a Bastion host in a hub Virtual Network

Deploy to Azure
This template creates two vNets with peerings, a Bastion host in the Hub vNet and a Linux VM in the spoke vNet
Front Door Premium with VM and Private Link service

Deploy to Azure
This template creates a Front Door Premium (Preview) and a virtual machine configured as a web server. Front Door uses a private endpoint with Private Link service to send traffic to the VM.
Create an Azure Firewall with multiple IP public addresses

Deploy to Azure
This template creates an Azure Firewall with two public IP addresses and two Windows Server 2019 servers to test.
Secured virtual hubs

Deploy to Azure
This template creates a secured virtual hub using Azure Firewall to secure your cloud network traffic destined to the Internet.
Create a standard internal load balancer

Deploy to Azure
This template creates a standard internal Azure Load Balancer with a rule load-balancing port 80
Create a standard internal load balancer with HA ports

Deploy to Azure
This template creates a standard internal Azure Load Balancer with a HA ports load-balancing rule
Create a cross-region load balancer

Deploy to Azure
This template creates a cross-region load balancer with a backend pool containing two regional load balancers. Cross-region load balancer is currently available in limited regions. The regional load balancers behind the cross-region load balancer can be in any region.
Standard Load Balancer with Backend Pool by IP Addresses

Deploy to Azure
This template is used to demonstrate how ARM Templates can be used to configure the Backend Pool of a Load Balancer by IP Address as outlined in the Backend Pool management document.
Create a load-balancer with a Public IPv6 address

Deploy to Azure
This template creates an Internet-facing load-balancer with a Public IPv6 address, load balancing rules, and two VMs for the backend pool.
Create a standard load-balancer

Deploy to Azure
This template creates an Internet-facing load-balancer, load balancing rules, and three VMs for the backend pool with each VM in a redundant zone.
Load Balancer with 2 VIPs, each with one LB rule

Deploy to Azure
This template allows you to create a Load Balancer, 2 Public IP addresses for the Load balancer (multivip), Virtual Network, Network Interface in the Virtual Network & a LB Rule in the Load Balancer that is used by the Network Interface.
Load Balancer with Inbound NAT Rule

Deploy to Azure
This template allows you to create a Load Balancer, Public IP address for the Load balancer, Virtual Network, Network Interface in the Virtual Network & a NAT Rule in the Load Balancer that is used by the Network Interface.
Virtual Network NAT

Deploy to Azure
Deploy a NAT gateway and virtual machine
Network Interface with Public IP Address

Deploy to Azure
This template allows you to create a Network Inerface in a Virtual Network referencing a Public IP Address.
Private Link service example

Deploy to Azure
This template shows how to create a private link service
Azure Route Server in BGP peering with Quagga

Deploy to Azure
This template deploys a Router Server and Ubuntu VM with Quagga. Two external BGP sessions are established between the Router Server and Quagga. Installation and configuration of Quagga is executed by Azure custom script extension for linux
Create a Site-to-Site VPN Connection

Deploy to Azure
This template allows you to create a Site-to-Site VPN Connection using Virtual Network Gateways
Site-to-Site VPN with active-active VPN Gateways with BGP

Deploy to Azure
This template allows you to deploy a site-to-site VPN between two VNets with VPN Gateways in configuration active-active with BGP. Each Azure VPN Gateway resolves the FQDN of the remote peers to determine the public IP of the remote VPN Gateway. Template runs as expected in Azure regions with availability zones.
Azure Traffic Manager VM example

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile load-balancing across multiple virtual machines.
Azure Traffic Manager VM example with Availability Zones

Deploy to Azure
This template shows how to create an Azure Traffic Manager profile load-balancing across multiple virtual machines placed in Availability Zones.
User defined routes and Appliance

Deploy to Azure
This template deploys a Virtual Network, VMs in respective subnets and routes to direct traffic to the appliance
201-vnet-2subnets-service-endpoints-storage-integration

Deploy to Azure
Creates 2 new VMs with a NIC each, in two different subnets within the same VNet. Sets service endpoint on one of the subnets and secures storage account to that subnet.