Microsoft.Network applicationGateways 2016-03-30

Bicep resource definition

The applicationGateways resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/applicationGateways resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Network/applicationGateways@2016-03-30' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    backendAddressPools: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          backendAddresses: [
            {
              fqdn: 'string'
              ipAddress: 'string'
            }
          ]
          backendIPConfigurations: [
            {
              etag: 'string'
              id: 'string'
              name: 'string'
              properties: {
                applicationGatewayBackendAddressPools: [
                  ...
                ]
                loadBalancerBackendAddressPools: [
                  {
                    etag: 'string'
                    id: 'string'
                    name: 'string'
                    properties: {
                      backendIPConfigurations: [
                        ...
                      ]
                      loadBalancingRules: [
                        {
                          id: 'string'
                        }
                      ]
                      outboundNatRule: {
                        id: 'string'
                      }
                      provisioningState: 'string'
                    }
                  }
                ]
                loadBalancerInboundNatRules: [
                  {
                    etag: 'string'
                    id: 'string'
                    name: 'string'
                    properties: {
                      backendIPConfiguration: ...
                      backendPort: int
                      enableFloatingIP: bool
                      frontendIPConfiguration: {
                        id: 'string'
                      }
                      frontendPort: int
                      idleTimeoutInMinutes: int
                      protocol: 'string'
                      provisioningState: 'string'
                    }
                  }
                ]
                primary: bool
                privateIPAddress: 'string'
                privateIPAddressVersion: 'string'
                privateIPAllocationMethod: 'string'
                provisioningState: 'string'
                publicIPAddress: {
                  etag: 'string'
                  id: 'string'
                  location: 'string'
                  properties: {
                    dnsSettings: {
                      domainNameLabel: 'string'
                      fqdn: 'string'
                      reverseFqdn: 'string'
                    }
                    idleTimeoutInMinutes: int
                    ipAddress: 'string'
                    ipConfiguration: {
                      etag: 'string'
                      id: 'string'
                      name: 'string'
                      properties: {
                        privateIPAddress: 'string'
                        privateIPAllocationMethod: 'string'
                        provisioningState: 'string'
                        publicIPAddress: ...
                        subnet: {
                          etag: 'string'
                          id: 'string'
                          name: 'string'
                          properties: {
                            addressPrefix: 'string'
                            ipConfigurations: [
                              ...
                            ]
                            networkSecurityGroup: {
                              etag: 'string'
                              id: 'string'
                              location: 'string'
                              properties: {
                                defaultSecurityRules: [
                                  {
                                    etag: 'string'
                                    id: 'string'
                                    name: 'string'
                                    properties: {
                                      access: 'string'
                                      description: 'string'
                                      destinationAddressPrefix: 'string'
                                      destinationPortRange: 'string'
                                      direction: 'string'
                                      priority: int
                                      protocol: 'string'
                                      provisioningState: 'string'
                                      sourceAddressPrefix: 'string'
                                      sourcePortRange: 'string'
                                    }
                                  }
                                ]
                                networkInterfaces: [
                                  {
                                    etag: 'string'
                                    id: 'string'
                                    location: 'string'
                                    properties: {
                                      dnsSettings: {
                                        appliedDnsServers: [
                                          'string'
                                        ]
                                        dnsServers: [
                                          'string'
                                        ]
                                        internalDnsNameLabel: 'string'
                                        internalDomainNameSuffix: 'string'
                                        internalFqdn: 'string'
                                      }
                                      enableIPForwarding: bool
                                      ipConfigurations: [
                                        ...
                                      ]
                                      macAddress: 'string'
                                      networkSecurityGroup: ...
                                      primary: bool
                                      provisioningState: 'string'
                                      resourceGuid: 'string'
                                      virtualMachine: {
                                        id: 'string'
                                      }
                                    }
                                    tags: {
                                      {customized property}: 'string'
                                    }
                                  }
                                ]
                                provisioningState: 'string'
                                resourceGuid: 'string'
                                securityRules: [
                                  {
                                    etag: 'string'
                                    id: 'string'
                                    name: 'string'
                                    properties: {
                                      access: 'string'
                                      description: 'string'
                                      destinationAddressPrefix: 'string'
                                      destinationPortRange: 'string'
                                      direction: 'string'
                                      priority: int
                                      protocol: 'string'
                                      provisioningState: 'string'
                                      sourceAddressPrefix: 'string'
                                      sourcePortRange: 'string'
                                    }
                                  }
                                ]
                                subnets: [
                                  ...
                                ]
                              }
                              tags: {
                                {customized property}: 'string'
                              }
                            }
                            provisioningState: 'string'
                            routeTable: {
                              etag: 'string'
                              id: 'string'
                              location: 'string'
                              properties: {
                                provisioningState: 'string'
                                routes: [
                                  {
                                    etag: 'string'
                                    id: 'string'
                                    name: 'string'
                                    properties: {
                                      addressPrefix: 'string'
                                      nextHopIpAddress: 'string'
                                      nextHopType: 'string'
                                      provisioningState: 'string'
                                    }
                                  }
                                ]
                                subnets: [
                                  ...
                                ]
                              }
                              tags: {
                                {customized property}: 'string'
                              }
                            }
                          }
                        }
                      }
                    }
                    provisioningState: 'string'
                    publicIPAddressVersion: 'string'
                    publicIPAllocationMethod: 'string'
                    resourceGuid: 'string'
                  }
                  tags: {
                    {customized property}: 'string'
                  }
                }
                subnet: {
                  etag: 'string'
                  id: 'string'
                  name: 'string'
                  properties: {
                    addressPrefix: 'string'
                    ipConfigurations: [
                      {
                        etag: 'string'
                        id: 'string'
                        name: 'string'
                        properties: {
                          privateIPAddress: 'string'
                          privateIPAllocationMethod: 'string'
                          provisioningState: 'string'
                          publicIPAddress: {
                            etag: 'string'
                            id: 'string'
                            location: 'string'
                            properties: {
                              dnsSettings: {
                                domainNameLabel: 'string'
                                fqdn: 'string'
                                reverseFqdn: 'string'
                              }
                              idleTimeoutInMinutes: int
                              ipAddress: 'string'
                              ipConfiguration: ...
                              provisioningState: 'string'
                              publicIPAddressVersion: 'string'
                              publicIPAllocationMethod: 'string'
                              resourceGuid: 'string'
                            }
                            tags: {
                              {customized property}: 'string'
                            }
                          }
                          subnet: ...
                        }
                      }
                    ]
                    networkSecurityGroup: {
                      etag: 'string'
                      id: 'string'
                      location: 'string'
                      properties: {
                        defaultSecurityRules: [
                          {
                            etag: 'string'
                            id: 'string'
                            name: 'string'
                            properties: {
                              access: 'string'
                              description: 'string'
                              destinationAddressPrefix: 'string'
                              destinationPortRange: 'string'
                              direction: 'string'
                              priority: int
                              protocol: 'string'
                              provisioningState: 'string'
                              sourceAddressPrefix: 'string'
                              sourcePortRange: 'string'
                            }
                          }
                        ]
                        networkInterfaces: [
                          {
                            etag: 'string'
                            id: 'string'
                            location: 'string'
                            properties: {
                              dnsSettings: {
                                appliedDnsServers: [
                                  'string'
                                ]
                                dnsServers: [
                                  'string'
                                ]
                                internalDnsNameLabel: 'string'
                                internalDomainNameSuffix: 'string'
                                internalFqdn: 'string'
                              }
                              enableIPForwarding: bool
                              ipConfigurations: [
                                ...
                              ]
                              macAddress: 'string'
                              networkSecurityGroup: ...
                              primary: bool
                              provisioningState: 'string'
                              resourceGuid: 'string'
                              virtualMachine: {
                                id: 'string'
                              }
                            }
                            tags: {
                              {customized property}: 'string'
                            }
                          }
                        ]
                        provisioningState: 'string'
                        resourceGuid: 'string'
                        securityRules: [
                          {
                            etag: 'string'
                            id: 'string'
                            name: 'string'
                            properties: {
                              access: 'string'
                              description: 'string'
                              destinationAddressPrefix: 'string'
                              destinationPortRange: 'string'
                              direction: 'string'
                              priority: int
                              protocol: 'string'
                              provisioningState: 'string'
                              sourceAddressPrefix: 'string'
                              sourcePortRange: 'string'
                            }
                          }
                        ]
                        subnets: [
                          ...
                        ]
                      }
                      tags: {
                        {customized property}: 'string'
                      }
                    }
                    provisioningState: 'string'
                    routeTable: {
                      etag: 'string'
                      id: 'string'
                      location: 'string'
                      properties: {
                        provisioningState: 'string'
                        routes: [
                          {
                            etag: 'string'
                            id: 'string'
                            name: 'string'
                            properties: {
                              addressPrefix: 'string'
                              nextHopIpAddress: 'string'
                              nextHopType: 'string'
                              provisioningState: 'string'
                            }
                          }
                        ]
                        subnets: [
                          ...
                        ]
                      }
                      tags: {
                        {customized property}: 'string'
                      }
                    }
                  }
                }
              }
            }
          ]
          provisioningState: 'string'
        }
      }
    ]
    backendHttpSettingsCollection: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          cookieBasedAffinity: 'string'
          port: int
          probe: {
            id: 'string'
          }
          protocol: 'string'
          provisioningState: 'string'
          requestTimeout: int
        }
      }
    ]
    frontendIPConfigurations: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          privateIPAddress: 'string'
          privateIPAllocationMethod: 'string'
          provisioningState: 'string'
          publicIPAddress: {
            id: 'string'
          }
          subnet: {
            id: 'string'
          }
        }
      }
    ]
    frontendPorts: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          port: int
          provisioningState: 'string'
        }
      }
    ]
    gatewayIPConfigurations: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          provisioningState: 'string'
          subnet: {
            id: 'string'
          }
        }
      }
    ]
    httpListeners: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          frontendIPConfiguration: {
            id: 'string'
          }
          frontendPort: {
            id: 'string'
          }
          hostName: 'string'
          protocol: 'string'
          provisioningState: 'string'
          requireServerNameIndication: bool
          sslCertificate: {
            id: 'string'
          }
        }
      }
    ]
    probes: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          host: 'string'
          interval: int
          path: 'string'
          protocol: 'string'
          provisioningState: 'string'
          timeout: int
          unhealthyThreshold: int
        }
      }
    ]
    provisioningState: 'string'
    requestRoutingRules: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          backendAddressPool: {
            id: 'string'
          }
          backendHttpSettings: {
            id: 'string'
          }
          httpListener: {
            id: 'string'
          }
          provisioningState: 'string'
          ruleType: 'string'
          urlPathMap: {
            id: 'string'
          }
        }
      }
    ]
    resourceGuid: 'string'
    sku: {
      capacity: int
      name: 'string'
      tier: 'string'
    }
    sslCertificates: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          data: 'string'
          password: 'string'
          provisioningState: 'string'
          publicCertData: 'string'
        }
      }
    ]
    urlPathMaps: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          defaultBackendAddressPool: {
            id: 'string'
          }
          defaultBackendHttpSettings: {
            id: 'string'
          }
          pathRules: [
            {
              etag: 'string'
              id: 'string'
              name: 'string'
              properties: {
                backendAddressPool: {
                  id: 'string'
                }
                backendHttpSettings: {
                  id: 'string'
                }
                paths: [
                  'string'
                ]
                provisioningState: 'string'
              }
            }
          ]
          provisioningState: 'string'
        }
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

ApplicationGatewayBackendAddress

Name Description Value
fqdn Gets or sets the dns name string
ipAddress Gets or sets the ip address string

ApplicationGatewayBackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend Address Pool of application gateway ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Gets or sets the backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
provisioningState Gets or sets Provisioning state of the backend address pool resource Updating/Deleting/Failed string

ApplicationGatewayBackendHttpSettings

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend address pool settings of application gateway ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
cookieBasedAffinity Gets or sets the cookie affinity 'Disabled'
'Enabled'
port Gets or sets the port int
probe Gets or sets probe resource of application gateway SubResource
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
requestTimeout Gets or sets request timeout int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend IP configuration of application gateway ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the Network Interface IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource SubResource
subnet Gets or sets the reference of the subnet resource SubResource

ApplicationGatewayFrontendPort

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend Port of application gateway ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Gets or sets the frontend port int
provisioningState Gets or sets Provisioning state of the frontend port resource Updating/Deleting/Failed string

ApplicationGatewayHttpListener

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Http listener of application gateway ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Gets or sets frontend IP configuration resource of application gateway SubResource
frontendPort Gets or sets frontend port resource of application gateway SubResource
hostName Gets or sets the host name of http listener string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the http listener resource Updating/Deleting/Failed string
requireServerNameIndication Gets or sets the requireServerNameIndication of http listener bool
sslCertificate Gets or sets ssl certificate resource of application gateway SubResource

ApplicationGatewayIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IP configuration of application gateway ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the application gateway subnet resource Updating/Deleting/Failed string
subnet Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address SubResource

ApplicationGatewayPathRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of URL path map SubResource
backendHttpSettings Gets or sets backend http settings resource of URL path map SubResource
paths Gets or sets the path rules of URL path map string[]
provisioningState Gets or sets path rule of URL path map resource Updating/Deleting/Failed string

ApplicationGatewayProbe

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Gets or sets the host to send probe to string
interval Gets or sets probing interval in seconds int
path Gets or sets the relative path of probe string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
timeout Gets or sets probing timeout in seconds int
unhealthyThreshold Gets or sets probing unhealthy threshold int

ApplicationGatewayPropertiesFormat

Name Description Value
backendAddressPools Gets or sets backend address pool of application gateway resource ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Gets or sets backend http settings of application gateway resource ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Gets or sets frontend IP addresses of application gateway resource ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Gets or sets frontend ports of application gateway resource ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Gets or sets subnets of application gateway resource ApplicationGatewayIPConfiguration[]
httpListeners Gets or sets HTTP listeners of application gateway resource ApplicationGatewayHttpListener[]
probes Gets or sets probes of application gateway resource ApplicationGatewayProbe[]
provisioningState Gets or sets Provisioning state of the ApplicationGateway resource Updating/Deleting/Failed string
requestRoutingRules Gets or sets request routing rules of application gateway resource ApplicationGatewayRequestRoutingRule[]
resourceGuid Gets or sets resource GUID property of the ApplicationGateway resource string
sku Gets or sets sku of application gateway resource ApplicationGatewaySku
sslCertificates Gets or sets ssl certificates of application gateway resource ApplicationGatewaySslCertificate[]
urlPathMaps Gets or sets URL path map of application gateway resource ApplicationGatewayUrlPathMap[]

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Request routing rule of application gateway ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of application gateway SubResource
backendHttpSettings Gets or sets frontend port resource of application gateway SubResource
httpListener Gets or sets http listener resource of application gateway SubResource
provisioningState Gets or sets Provisioning state of the request routing rule resource Updating/Deleting/Failed string
ruleType Gets or sets the rule type 'Basic'
'PathBasedRouting'
urlPathMap Gets or sets url path map resource of application gateway SubResource

ApplicationGatewaySku

Name Description Value
capacity Gets or sets capacity (instance count) of application gateway int
name Gets or sets name of application gateway SKU 'Standard_Large'
'Standard_Medium'
'Standard_Small'
tier Gets or sets tier of application gateway 'Standard'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of SSL certificates of application gateway ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Gets or sets the certificate data string
password Gets or sets the certificate password string
provisioningState Gets or sets Provisioning state of the ssl certificate resource Updating/Deleting/Failed string
publicCertData Gets or sets the certificate public data string

ApplicationGatewayUrlPathMap

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayUrlPathMapPropertiesFormat

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Gets or sets default backend address pool resource of URL path map SubResource
defaultBackendHttpSettings Gets or sets default backend http settings resource of URL path map SubResource
pathRules Gets or sets path rule of URL path map resource ApplicationGatewayPathRule[]
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string

BackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of BackendAddressPool BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
loadBalancingRules Gets Load Balancing rules that use this Backend Address Pool SubResource[]
outboundNatRule Gets outbound rules that use this Backend Address Pool SubResource
provisioningState Provisioning state of the PublicIP resource Updating/Deleting/Failed string

InboundNatRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Inbound NAT rule InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendIPConfiguration Gets or sets a reference to a private ip address defined on a NetworkInterface of a VM. Traffic sent to frontendPort of each of the frontendIPConfigurations is forwarded to the backed IP NetworkInterfaceIPConfiguration
backendPort Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API int
enableFloatingIP 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 Always ON availability Groups in SQL server. This setting can't be changed after you create the endpoint bool
frontendIPConfiguration Gets or sets a reference to frontend IP Addresses SubResource
frontendPort Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive int
idleTimeoutInMinutes Gets or sets 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 int
protocol Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp 'Tcp'
'Udp'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string

IPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration IPConfigurationPropertiesFormat

IPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource PublicIPAddress
subnet Gets or sets the reference of the subnet resource Subnet

Microsoft.Network/applicationGateways

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
location Resource location string
name The resource name string (required)
properties Properties of Application Gateway ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates

NetworkInterface

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties NetworkInterface properties. NetworkInterfacePropertiesFormat
tags Resource tags ResourceTags

NetworkInterfaceDnsSettings

Name Description Value
appliedDnsServers Gets or sets list of Applied DNS servers IP addresses string[]
dnsServers Gets or sets list of DNS servers IP addresses string[]
internalDnsNameLabel Gets or sets the Internal DNS name string
internalDomainNameSuffix Gets or sets internal domain name suffix of the NIC. string
internalFqdn Gets or sets the internal FQDN. string

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools Gets or sets the reference of ApplicationGatewayBackendAddressPool resource ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools Gets or sets the reference of LoadBalancerBackendAddressPool resource BackendAddressPool[]
loadBalancerInboundNatRules Gets or sets list of references of LoadBalancerInboundNatRules InboundNatRule[]
primary Gets whether this is a primary customer address on the NIC bool
privateIPAddress string
privateIPAddressVersion Gets or sets PrivateIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState string
publicIPAddress PublicIPAddress resource PublicIPAddress
subnet Subnet in a VirtualNetwork resource Subnet

NetworkInterfacePropertiesFormat

Name Description Value
dnsSettings Gets or sets DNS Settings in NetworkInterface NetworkInterfaceDnsSettings
enableIPForwarding Gets or sets whether IPForwarding is enabled on the NIC bool
ipConfigurations Gets or sets list of IPConfigurations of the NetworkInterface NetworkInterfaceIPConfiguration[]
macAddress Gets the MAC Address of the network interface string
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
primary Gets whether this is a primary NIC on a virtual machine bool
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network interface resource string
virtualMachine Gets or sets the reference of a VirtualMachine SubResource

NetworkSecurityGroup

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Network Security Group resource NetworkSecurityGroupPropertiesFormat
tags Resource tags ResourceTags

NetworkSecurityGroupPropertiesFormat

Name Description Value
defaultSecurityRules Gets or sets Default security rules of network security group SecurityRule[]
networkInterfaces Gets collection of references to Network Interfaces NetworkInterface[]
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network security group resource string
securityRules Gets or sets Security rules of network security group SecurityRule[]
subnets Gets collection of references to subnets Subnet[]

PublicIPAddress

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties PublicIpAddress properties PublicIPAddressPropertiesFormat
tags Resource tags ResourceTags

PublicIPAddressDnsSettings

Name Description Value
domainNameLabel 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. string
fqdn 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. string
reverseFqdn 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. string

PublicIPAddressPropertiesFormat

Name Description Value
dnsSettings Gets or sets FQDN of the DNS record associated with the public IP address PublicIPAddressDnsSettings
idleTimeoutInMinutes Gets or sets the idle timeout of the public IP address int
ipAddress string
ipConfiguration IPConfiguration IPConfiguration
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddressVersion Gets or sets PublicIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
publicIPAllocationMethod Gets or sets PublicIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
resourceGuid Gets or sets resource GUID property of the PublicIP resource string

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

Route

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Route resource RoutePropertiesFormat

RoutePropertiesFormat

Name Description Value
addressPrefix Gets or sets the destination CIDR to which the route applies. string
nextHopIpAddress Gets or sets the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. string
nextHopType Gets or sets the type of Azure hop the packet should be sent to. 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string

RouteTable

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Route Table resource RouteTablePropertiesFormat
tags Resource tags ResourceTags

RouteTablePropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string
routes Gets or sets Routes in a Route Table Route[]
subnets Gets collection of references to subnets Subnet[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SecurityRulePropertiesFormat

SecurityRulePropertiesFormat

Name Description Value
access Gets or sets network traffic is allowed or denied. Possible values are 'Allow' and 'Deny' 'Allow'
'Deny' (required)
description Gets or sets a description for this rule. Restricted to 140 chars. string
destinationAddressPrefix Gets or sets destination address prefix. 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. string (required)
destinationPortRange Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic. 'Inbound'
'Outbound' (required)
priority Gets or sets 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. int
protocol Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*). '*'
'Tcp'
'Udp' (required)
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
sourceAddressPrefix Gets or sets source address prefix. 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. string (required)
sourcePortRange Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string

Subnet

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SubnetPropertiesFormat

SubnetPropertiesFormat

Name Description Value
addressPrefix Gets or sets Address prefix for the subnet. string
ipConfigurations Gets array of references to the network interface IP configurations using subnet IPConfiguration[]
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
routeTable Gets or sets the reference of the RouteTable resource RouteTable

SubResource

Name Description Value
id Resource Id string

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
AKS Cluster with a NAT Gateway and an Application Gateway This sample shows how to a deploy an AKS cluster with NAT Gateway for outbound connections and an Application Gateway for inbound connections.
AKS cluster with the Application Gateway Ingress Controller This sample shows how to deploy an AKS cluster with Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics and Key Vault
Application Gateway with internal API Management and Web App Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App.
Application Gateway with WAF and firewall policy This template creates an Application Gateway with WAF configured along with a firewall policy
Create a Web App, PE and Application Gateway v2 This template creates an Azure Web App with Private endpoint in Azure Virtual Network Subnet , an Application Gateway v2. The Application Gateway is deployed in a vNet (subnet). The Web App restricts access to traffic from the subnet using private endpoint
Create an Application Gateway v2 This template creates an application gateway v2 in a virtual network and sets up auto scaling properties and an HTTP load-balancing rule with public frontend
Create an Azure Application Gateway v2 This template creates an Azure Application Gateway with two Windows Server 2016 servers in the backend pool
Create an Azure WAF v2 on Azure Application Gateway This template creates an Azure Web Application Firewall v2 on Azure Application Gateway with two Windows Server 2016 servers in the backend pool
Create API Management in Internal VNet with App Gateway This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway.
Create Application Gateway with Certificates This template shows how to generate Key Vault self-signed certificates, then reference from Application Gateway.
Deploy a Windows VM scale set with Azure Application Gateway This template allows you to deploy a simple Windows VM Scale Set integrated with Azure Application Gateway, and supports up to 1000 VMs
Front Door Standard/Premium with Application Gateway origin This template creates a Front Door Standard/Premium and an Application Gateway instance, and uses an NSG and WAF policy to validate that traffic has come through the Front Door origin.
Front Door with Container Instances and Application Gateway This template creates a Front Door Standard/Premium with a container group and Application Gateway.

ARM template resource definition

The applicationGateways resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/applicationGateways resource, add the following JSON to your template.

{
  "type": "Microsoft.Network/applicationGateways",
  "apiVersion": "2016-03-30",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "backendAddressPools": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "backendAddresses": [
            {
              "fqdn": "string",
              "ipAddress": "string"
            }
          ],
          "backendIPConfigurations": [
            {
              "etag": "string",
              "id": "string",
              "name": "string",
              "properties": {
                "applicationGatewayBackendAddressPools": [
                  ...
                ],
                "loadBalancerBackendAddressPools": [
                  {
                    "etag": "string",
                    "id": "string",
                    "name": "string",
                    "properties": {
                      "backendIPConfigurations": [
                        ...
                      ],
                      "loadBalancingRules": [
                        {
                          "id": "string"
                        }
                      ],
                      "outboundNatRule": {
                        "id": "string"
                      },
                      "provisioningState": "string"
                    }
                  }
                ],
                "loadBalancerInboundNatRules": [
                  {
                    "etag": "string",
                    "id": "string",
                    "name": "string",
                    "properties": {
                      "backendIPConfiguration": ...,
                      "backendPort": "int",
                      "enableFloatingIP": "bool",
                      "frontendIPConfiguration": {
                        "id": "string"
                      },
                      "frontendPort": "int",
                      "idleTimeoutInMinutes": "int",
                      "protocol": "string",
                      "provisioningState": "string"
                    }
                  }
                ],
                "primary": "bool",
                "privateIPAddress": "string",
                "privateIPAddressVersion": "string",
                "privateIPAllocationMethod": "string",
                "provisioningState": "string",
                "publicIPAddress": {
                  "etag": "string",
                  "id": "string",
                  "location": "string",
                  "properties": {
                    "dnsSettings": {
                      "domainNameLabel": "string",
                      "fqdn": "string",
                      "reverseFqdn": "string"
                    },
                    "idleTimeoutInMinutes": "int",
                    "ipAddress": "string",
                    "ipConfiguration": {
                      "etag": "string",
                      "id": "string",
                      "name": "string",
                      "properties": {
                        "privateIPAddress": "string",
                        "privateIPAllocationMethod": "string",
                        "provisioningState": "string",
                        "publicIPAddress": ...,
                        "subnet": {
                          "etag": "string",
                          "id": "string",
                          "name": "string",
                          "properties": {
                            "addressPrefix": "string",
                            "ipConfigurations": [
                              ...
                            ],
                            "networkSecurityGroup": {
                              "etag": "string",
                              "id": "string",
                              "location": "string",
                              "properties": {
                                "defaultSecurityRules": [
                                  {
                                    "etag": "string",
                                    "id": "string",
                                    "name": "string",
                                    "properties": {
                                      "access": "string",
                                      "description": "string",
                                      "destinationAddressPrefix": "string",
                                      "destinationPortRange": "string",
                                      "direction": "string",
                                      "priority": "int",
                                      "protocol": "string",
                                      "provisioningState": "string",
                                      "sourceAddressPrefix": "string",
                                      "sourcePortRange": "string"
                                    }
                                  }
                                ],
                                "networkInterfaces": [
                                  {
                                    "etag": "string",
                                    "id": "string",
                                    "location": "string",
                                    "properties": {
                                      "dnsSettings": {
                                        "appliedDnsServers": [ "string" ],
                                        "dnsServers": [ "string" ],
                                        "internalDnsNameLabel": "string",
                                        "internalDomainNameSuffix": "string",
                                        "internalFqdn": "string"
                                      },
                                      "enableIPForwarding": "bool",
                                      "ipConfigurations": [
                                        ...
                                      ],
                                      "macAddress": "string",
                                      "networkSecurityGroup": ...,
                                      "primary": "bool",
                                      "provisioningState": "string",
                                      "resourceGuid": "string",
                                      "virtualMachine": {
                                        "id": "string"
                                      }
                                    },
                                    "tags": {
                                      "{customized property}": "string"
                                    }
                                  }
                                ],
                                "provisioningState": "string",
                                "resourceGuid": "string",
                                "securityRules": [
                                  {
                                    "etag": "string",
                                    "id": "string",
                                    "name": "string",
                                    "properties": {
                                      "access": "string",
                                      "description": "string",
                                      "destinationAddressPrefix": "string",
                                      "destinationPortRange": "string",
                                      "direction": "string",
                                      "priority": "int",
                                      "protocol": "string",
                                      "provisioningState": "string",
                                      "sourceAddressPrefix": "string",
                                      "sourcePortRange": "string"
                                    }
                                  }
                                ],
                                "subnets": [
                                  ...
                                ]
                              },
                              "tags": {
                                "{customized property}": "string"
                              }
                            },
                            "provisioningState": "string",
                            "routeTable": {
                              "etag": "string",
                              "id": "string",
                              "location": "string",
                              "properties": {
                                "provisioningState": "string",
                                "routes": [
                                  {
                                    "etag": "string",
                                    "id": "string",
                                    "name": "string",
                                    "properties": {
                                      "addressPrefix": "string",
                                      "nextHopIpAddress": "string",
                                      "nextHopType": "string",
                                      "provisioningState": "string"
                                    }
                                  }
                                ],
                                "subnets": [
                                  ...
                                ]
                              },
                              "tags": {
                                "{customized property}": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "provisioningState": "string",
                    "publicIPAddressVersion": "string",
                    "publicIPAllocationMethod": "string",
                    "resourceGuid": "string"
                  },
                  "tags": {
                    "{customized property}": "string"
                  }
                },
                "subnet": {
                  "etag": "string",
                  "id": "string",
                  "name": "string",
                  "properties": {
                    "addressPrefix": "string",
                    "ipConfigurations": [
                      {
                        "etag": "string",
                        "id": "string",
                        "name": "string",
                        "properties": {
                          "privateIPAddress": "string",
                          "privateIPAllocationMethod": "string",
                          "provisioningState": "string",
                          "publicIPAddress": {
                            "etag": "string",
                            "id": "string",
                            "location": "string",
                            "properties": {
                              "dnsSettings": {
                                "domainNameLabel": "string",
                                "fqdn": "string",
                                "reverseFqdn": "string"
                              },
                              "idleTimeoutInMinutes": "int",
                              "ipAddress": "string",
                              "ipConfiguration": ...,
                              "provisioningState": "string",
                              "publicIPAddressVersion": "string",
                              "publicIPAllocationMethod": "string",
                              "resourceGuid": "string"
                            },
                            "tags": {
                              "{customized property}": "string"
                            }
                          },
                          "subnet": ...
                        }
                      }
                    ],
                    "networkSecurityGroup": {
                      "etag": "string",
                      "id": "string",
                      "location": "string",
                      "properties": {
                        "defaultSecurityRules": [
                          {
                            "etag": "string",
                            "id": "string",
                            "name": "string",
                            "properties": {
                              "access": "string",
                              "description": "string",
                              "destinationAddressPrefix": "string",
                              "destinationPortRange": "string",
                              "direction": "string",
                              "priority": "int",
                              "protocol": "string",
                              "provisioningState": "string",
                              "sourceAddressPrefix": "string",
                              "sourcePortRange": "string"
                            }
                          }
                        ],
                        "networkInterfaces": [
                          {
                            "etag": "string",
                            "id": "string",
                            "location": "string",
                            "properties": {
                              "dnsSettings": {
                                "appliedDnsServers": [ "string" ],
                                "dnsServers": [ "string" ],
                                "internalDnsNameLabel": "string",
                                "internalDomainNameSuffix": "string",
                                "internalFqdn": "string"
                              },
                              "enableIPForwarding": "bool",
                              "ipConfigurations": [
                                ...
                              ],
                              "macAddress": "string",
                              "networkSecurityGroup": ...,
                              "primary": "bool",
                              "provisioningState": "string",
                              "resourceGuid": "string",
                              "virtualMachine": {
                                "id": "string"
                              }
                            },
                            "tags": {
                              "{customized property}": "string"
                            }
                          }
                        ],
                        "provisioningState": "string",
                        "resourceGuid": "string",
                        "securityRules": [
                          {
                            "etag": "string",
                            "id": "string",
                            "name": "string",
                            "properties": {
                              "access": "string",
                              "description": "string",
                              "destinationAddressPrefix": "string",
                              "destinationPortRange": "string",
                              "direction": "string",
                              "priority": "int",
                              "protocol": "string",
                              "provisioningState": "string",
                              "sourceAddressPrefix": "string",
                              "sourcePortRange": "string"
                            }
                          }
                        ],
                        "subnets": [
                          ...
                        ]
                      },
                      "tags": {
                        "{customized property}": "string"
                      }
                    },
                    "provisioningState": "string",
                    "routeTable": {
                      "etag": "string",
                      "id": "string",
                      "location": "string",
                      "properties": {
                        "provisioningState": "string",
                        "routes": [
                          {
                            "etag": "string",
                            "id": "string",
                            "name": "string",
                            "properties": {
                              "addressPrefix": "string",
                              "nextHopIpAddress": "string",
                              "nextHopType": "string",
                              "provisioningState": "string"
                            }
                          }
                        ],
                        "subnets": [
                          ...
                        ]
                      },
                      "tags": {
                        "{customized property}": "string"
                      }
                    }
                  }
                }
              }
            }
          ],
          "provisioningState": "string"
        }
      }
    ],
    "backendHttpSettingsCollection": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "cookieBasedAffinity": "string",
          "port": "int",
          "probe": {
            "id": "string"
          },
          "protocol": "string",
          "provisioningState": "string",
          "requestTimeout": "int"
        }
      }
    ],
    "frontendIPConfigurations": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "privateIPAddress": "string",
          "privateIPAllocationMethod": "string",
          "provisioningState": "string",
          "publicIPAddress": {
            "id": "string"
          },
          "subnet": {
            "id": "string"
          }
        }
      }
    ],
    "frontendPorts": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "port": "int",
          "provisioningState": "string"
        }
      }
    ],
    "gatewayIPConfigurations": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "provisioningState": "string",
          "subnet": {
            "id": "string"
          }
        }
      }
    ],
    "httpListeners": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "frontendIPConfiguration": {
            "id": "string"
          },
          "frontendPort": {
            "id": "string"
          },
          "hostName": "string",
          "protocol": "string",
          "provisioningState": "string",
          "requireServerNameIndication": "bool",
          "sslCertificate": {
            "id": "string"
          }
        }
      }
    ],
    "probes": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "host": "string",
          "interval": "int",
          "path": "string",
          "protocol": "string",
          "provisioningState": "string",
          "timeout": "int",
          "unhealthyThreshold": "int"
        }
      }
    ],
    "provisioningState": "string",
    "requestRoutingRules": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "backendAddressPool": {
            "id": "string"
          },
          "backendHttpSettings": {
            "id": "string"
          },
          "httpListener": {
            "id": "string"
          },
          "provisioningState": "string",
          "ruleType": "string",
          "urlPathMap": {
            "id": "string"
          }
        }
      }
    ],
    "resourceGuid": "string",
    "sku": {
      "capacity": "int",
      "name": "string",
      "tier": "string"
    },
    "sslCertificates": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "data": "string",
          "password": "string",
          "provisioningState": "string",
          "publicCertData": "string"
        }
      }
    ],
    "urlPathMaps": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "defaultBackendAddressPool": {
            "id": "string"
          },
          "defaultBackendHttpSettings": {
            "id": "string"
          },
          "pathRules": [
            {
              "etag": "string",
              "id": "string",
              "name": "string",
              "properties": {
                "backendAddressPool": {
                  "id": "string"
                },
                "backendHttpSettings": {
                  "id": "string"
                },
                "paths": [ "string" ],
                "provisioningState": "string"
              }
            }
          ],
          "provisioningState": "string"
        }
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

ApplicationGatewayBackendAddress

Name Description Value
fqdn Gets or sets the dns name string
ipAddress Gets or sets the ip address string

ApplicationGatewayBackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend Address Pool of application gateway ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Gets or sets the backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
provisioningState Gets or sets Provisioning state of the backend address pool resource Updating/Deleting/Failed string

ApplicationGatewayBackendHttpSettings

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend address pool settings of application gateway ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
cookieBasedAffinity Gets or sets the cookie affinity 'Disabled'
'Enabled'
port Gets or sets the port int
probe Gets or sets probe resource of application gateway SubResource
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
requestTimeout Gets or sets request timeout int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend IP configuration of application gateway ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the Network Interface IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource SubResource
subnet Gets or sets the reference of the subnet resource SubResource

ApplicationGatewayFrontendPort

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend Port of application gateway ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Gets or sets the frontend port int
provisioningState Gets or sets Provisioning state of the frontend port resource Updating/Deleting/Failed string

ApplicationGatewayHttpListener

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Http listener of application gateway ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Gets or sets frontend IP configuration resource of application gateway SubResource
frontendPort Gets or sets frontend port resource of application gateway SubResource
hostName Gets or sets the host name of http listener string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the http listener resource Updating/Deleting/Failed string
requireServerNameIndication Gets or sets the requireServerNameIndication of http listener bool
sslCertificate Gets or sets ssl certificate resource of application gateway SubResource

ApplicationGatewayIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IP configuration of application gateway ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the application gateway subnet resource Updating/Deleting/Failed string
subnet Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address SubResource

ApplicationGatewayPathRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of URL path map SubResource
backendHttpSettings Gets or sets backend http settings resource of URL path map SubResource
paths Gets or sets the path rules of URL path map string[]
provisioningState Gets or sets path rule of URL path map resource Updating/Deleting/Failed string

ApplicationGatewayProbe

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Gets or sets the host to send probe to string
interval Gets or sets probing interval in seconds int
path Gets or sets the relative path of probe string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
timeout Gets or sets probing timeout in seconds int
unhealthyThreshold Gets or sets probing unhealthy threshold int

ApplicationGatewayPropertiesFormat

Name Description Value
backendAddressPools Gets or sets backend address pool of application gateway resource ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Gets or sets backend http settings of application gateway resource ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Gets or sets frontend IP addresses of application gateway resource ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Gets or sets frontend ports of application gateway resource ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Gets or sets subnets of application gateway resource ApplicationGatewayIPConfiguration[]
httpListeners Gets or sets HTTP listeners of application gateway resource ApplicationGatewayHttpListener[]
probes Gets or sets probes of application gateway resource ApplicationGatewayProbe[]
provisioningState Gets or sets Provisioning state of the ApplicationGateway resource Updating/Deleting/Failed string
requestRoutingRules Gets or sets request routing rules of application gateway resource ApplicationGatewayRequestRoutingRule[]
resourceGuid Gets or sets resource GUID property of the ApplicationGateway resource string
sku Gets or sets sku of application gateway resource ApplicationGatewaySku
sslCertificates Gets or sets ssl certificates of application gateway resource ApplicationGatewaySslCertificate[]
urlPathMaps Gets or sets URL path map of application gateway resource ApplicationGatewayUrlPathMap[]

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Request routing rule of application gateway ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of application gateway SubResource
backendHttpSettings Gets or sets frontend port resource of application gateway SubResource
httpListener Gets or sets http listener resource of application gateway SubResource
provisioningState Gets or sets Provisioning state of the request routing rule resource Updating/Deleting/Failed string
ruleType Gets or sets the rule type 'Basic'
'PathBasedRouting'
urlPathMap Gets or sets url path map resource of application gateway SubResource

ApplicationGatewaySku

Name Description Value
capacity Gets or sets capacity (instance count) of application gateway int
name Gets or sets name of application gateway SKU 'Standard_Large'
'Standard_Medium'
'Standard_Small'
tier Gets or sets tier of application gateway 'Standard'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of SSL certificates of application gateway ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Gets or sets the certificate data string
password Gets or sets the certificate password string
provisioningState Gets or sets Provisioning state of the ssl certificate resource Updating/Deleting/Failed string
publicCertData Gets or sets the certificate public data string

ApplicationGatewayUrlPathMap

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayUrlPathMapPropertiesFormat

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Gets or sets default backend address pool resource of URL path map SubResource
defaultBackendHttpSettings Gets or sets default backend http settings resource of URL path map SubResource
pathRules Gets or sets path rule of URL path map resource ApplicationGatewayPathRule[]
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string

BackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of BackendAddressPool BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
loadBalancingRules Gets Load Balancing rules that use this Backend Address Pool SubResource[]
outboundNatRule Gets outbound rules that use this Backend Address Pool SubResource
provisioningState Provisioning state of the PublicIP resource Updating/Deleting/Failed string

InboundNatRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Inbound NAT rule InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendIPConfiguration Gets or sets a reference to a private ip address defined on a NetworkInterface of a VM. Traffic sent to frontendPort of each of the frontendIPConfigurations is forwarded to the backed IP NetworkInterfaceIPConfiguration
backendPort Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API int
enableFloatingIP 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 Always ON availability Groups in SQL server. This setting can't be changed after you create the endpoint bool
frontendIPConfiguration Gets or sets a reference to frontend IP Addresses SubResource
frontendPort Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive int
idleTimeoutInMinutes Gets or sets 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 int
protocol Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp 'Tcp'
'Udp'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string

IPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration IPConfigurationPropertiesFormat

IPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource PublicIPAddress
subnet Gets or sets the reference of the subnet resource Subnet

Microsoft.Network/applicationGateways

Name Description Value
apiVersion The api version '2016-03-30'
etag Gets a unique read-only string that changes whenever the resource is updated string
location Resource location string
name The resource name string (required)
properties Properties of Application Gateway ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Network/applicationGateways'

NetworkInterface

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties NetworkInterface properties. NetworkInterfacePropertiesFormat
tags Resource tags ResourceTags

NetworkInterfaceDnsSettings

Name Description Value
appliedDnsServers Gets or sets list of Applied DNS servers IP addresses string[]
dnsServers Gets or sets list of DNS servers IP addresses string[]
internalDnsNameLabel Gets or sets the Internal DNS name string
internalDomainNameSuffix Gets or sets internal domain name suffix of the NIC. string
internalFqdn Gets or sets the internal FQDN. string

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools Gets or sets the reference of ApplicationGatewayBackendAddressPool resource ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools Gets or sets the reference of LoadBalancerBackendAddressPool resource BackendAddressPool[]
loadBalancerInboundNatRules Gets or sets list of references of LoadBalancerInboundNatRules InboundNatRule[]
primary Gets whether this is a primary customer address on the NIC bool
privateIPAddress string
privateIPAddressVersion Gets or sets PrivateIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState string
publicIPAddress PublicIPAddress resource PublicIPAddress
subnet Subnet in a VirtualNetwork resource Subnet

NetworkInterfacePropertiesFormat

Name Description Value
dnsSettings Gets or sets DNS Settings in NetworkInterface NetworkInterfaceDnsSettings
enableIPForwarding Gets or sets whether IPForwarding is enabled on the NIC bool
ipConfigurations Gets or sets list of IPConfigurations of the NetworkInterface NetworkInterfaceIPConfiguration[]
macAddress Gets the MAC Address of the network interface string
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
primary Gets whether this is a primary NIC on a virtual machine bool
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network interface resource string
virtualMachine Gets or sets the reference of a VirtualMachine SubResource

NetworkSecurityGroup

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Network Security Group resource NetworkSecurityGroupPropertiesFormat
tags Resource tags ResourceTags

NetworkSecurityGroupPropertiesFormat

Name Description Value
defaultSecurityRules Gets or sets Default security rules of network security group SecurityRule[]
networkInterfaces Gets collection of references to Network Interfaces NetworkInterface[]
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network security group resource string
securityRules Gets or sets Security rules of network security group SecurityRule[]
subnets Gets collection of references to subnets Subnet[]

PublicIPAddress

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties PublicIpAddress properties PublicIPAddressPropertiesFormat
tags Resource tags ResourceTags

PublicIPAddressDnsSettings

Name Description Value
domainNameLabel 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. string
fqdn 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. string
reverseFqdn 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. string

PublicIPAddressPropertiesFormat

Name Description Value
dnsSettings Gets or sets FQDN of the DNS record associated with the public IP address PublicIPAddressDnsSettings
idleTimeoutInMinutes Gets or sets the idle timeout of the public IP address int
ipAddress string
ipConfiguration IPConfiguration IPConfiguration
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddressVersion Gets or sets PublicIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
publicIPAllocationMethod Gets or sets PublicIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
resourceGuid Gets or sets resource GUID property of the PublicIP resource string

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

Route

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Route resource RoutePropertiesFormat

RoutePropertiesFormat

Name Description Value
addressPrefix Gets or sets the destination CIDR to which the route applies. string
nextHopIpAddress Gets or sets the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. string
nextHopType Gets or sets the type of Azure hop the packet should be sent to. 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string

RouteTable

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Route Table resource RouteTablePropertiesFormat
tags Resource tags ResourceTags

RouteTablePropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string
routes Gets or sets Routes in a Route Table Route[]
subnets Gets collection of references to subnets Subnet[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SecurityRulePropertiesFormat

SecurityRulePropertiesFormat

Name Description Value
access Gets or sets network traffic is allowed or denied. Possible values are 'Allow' and 'Deny' 'Allow'
'Deny' (required)
description Gets or sets a description for this rule. Restricted to 140 chars. string
destinationAddressPrefix Gets or sets destination address prefix. 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. string (required)
destinationPortRange Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic. 'Inbound'
'Outbound' (required)
priority Gets or sets 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. int
protocol Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*). '*'
'Tcp'
'Udp' (required)
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
sourceAddressPrefix Gets or sets source address prefix. 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. string (required)
sourcePortRange Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string

Subnet

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SubnetPropertiesFormat

SubnetPropertiesFormat

Name Description Value
addressPrefix Gets or sets Address prefix for the subnet. string
ipConfigurations Gets array of references to the network interface IP configurations using subnet IPConfiguration[]
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
routeTable Gets or sets the reference of the RouteTable resource RouteTable

SubResource

Name Description Value
id Resource Id string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
AKS Cluster with a NAT Gateway and an Application Gateway

Deploy to Azure
This sample shows how to a deploy an AKS cluster with NAT Gateway for outbound connections and an Application Gateway for inbound connections.
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 Gateway for a Web App with IP Restriction

Deploy to Azure
This template creates an application gateway in front of an Azure Web App with IP restriction enabled on the Web App.
Application Gateway for Multi Hosting

Deploy to Azure
This template creates an Application Gateway and configures it for Multi Hosting on port 443.
Application Gateway for Url Path Based Routing

Deploy to Azure
This template creates an Application Gateway and configures it for URL Path Based Routing.
Application Gateway with internal API Management and Web App

Deploy to Azure
Application Gateway routing Internet traffic to a virtual network (internal mode) API Management instance which services a web API hosted in an Azure Web App.
Application Gateway with WAF and firewall policy

Deploy to Azure
This template creates an Application Gateway with WAF configured along with a firewall policy
Autoscale LANSA Windows VM ScaleSet with Azure SQL Database

Deploy to Azure
The template deploys a Windows VMSS with a desired count of VMs in the scale set and a LANSA MSI to install into each VM. Once the VM Scale Set is deployed a custom script extension is used to install the LANSA MSI)
Azure Application Gateway Demo Setup

Deploy to Azure
This template allows you to quickly deploy Azure Application Gateway demo to test load-balancing with or without cookie-based affinity.
Create a Web App protected by Application Gateway v2

Deploy to Azure
This template creates an Azure Web App with Access Restriction for an Application Gateway v2. The Application Gateway is deployed in a vNet (subnet) which has a 'Microsoft.Web' Service Endpoint enabled. The Web App restricts access to traffic from the subnet.
Create a Web App, PE and Application Gateway v2

Deploy to Azure
This template creates an Azure Web App with Private endpoint in Azure Virtual Network Subnet , an Application Gateway v2. The Application Gateway is deployed in a vNet (subnet). The Web App restricts access to traffic from the subnet using private endpoint
Create a WordPress site in a virtual network

Deploy to Azure
This template creates a WordPress site on Container Instance in a virtual network. And output a public site FQDN which could access WordPress site.
Create an Application Gateway

Deploy to Azure
This template creates an application gateway in a virtual network and sets up load balancing rules for any number of virtual machines
Create an Application Gateway (Custom SSL)

Deploy to Azure
This template deploys an Application Gateway configured with a custom ssl policy.
Create an Application Gateway (SSL Policy)

Deploy to Azure
This template deploys an Application Gateway configured with a predefined ssl policy.
Create an Application Gateway (WAF)

Deploy to Azure
This template creates an application gateway with Web Application Firewall functionality in a virtual network and sets up load balancing rules for any number of virtual machines
Create an Application Gateway for WebApps

Deploy to Azure
This template creates an application gateway in front of two Azure Web Apps with a custom probe enabled.
Create an Application Gateway v2

Deploy to Azure
This template creates an application gateway v2 in a virtual network and sets up auto scaling properties and an HTTP load-balancing rule with public frontend
Create an Application Gateway V2 with Key Vault

Deploy to Azure
This template deploys an Application Gateway V2 in a Virtual Network, a user defined identity, Key Vault, a secret (cert data), and access policy on Key Vault and Application Gateway.
Create an Application Gateway with Path Override

Deploy to Azure
This template deploys an Application Gateway and shows usage of the path override feature for a backend address pool.
Create an Application Gateway with Probe

Deploy to Azure
This template deploys an Application Gateway with enhanced probe functionality.
Create an Application Gateway with Public IP

Deploy to Azure
This template creates an Application Gateway, Public IP address for the Application Gateway, and the Virtual Network in which Application Gateway is deployed. Also configures Application Gateway for Http Load balancing with Two backend servers. Note that you have to specify valid IPs for backend servers.
Create an Application Gateway with Public IP (Offload)

Deploy to Azure
This template creates an Application Gateway, Public IP address for the Application Gateway, and the Virtual Network in which Application Gateway is deployed. Also configures Application Gateway for Ssl Offload and Load balancing with Two backend servers. Note that you have to specify valid IPs for backend servers.
Create an Application Gateway with Redirect

Deploy to Azure
This template creates an application gateway with Redirect functionalities in a virtual network and sets up load balancing and redirect rules (basic and pathbased)
Create an Application Gateway with Rewrite

Deploy to Azure
This template creates an application gateway with Rewrite functionalities in a virtual network and sets up load balancing, rewrite rules
Create an Azure Application Gateway v2

Deploy to Azure
This template creates an Azure Application Gateway with two Windows Server 2016 servers in the backend pool
Create an Azure WAF v2 on Azure Application Gateway

Deploy to Azure
This template creates an Azure Web Application Firewall v2 on Azure Application Gateway with two Windows Server 2016 servers in the backend pool
Create an IPv6 Application Gateway

Deploy to Azure
This template creates an application gateway with an IPv6 frontend in a dual-stack virtual network.
Create API Management in Internal VNet with App Gateway

Deploy to Azure
This template demonstrates how to Create a instance of Azure API Management on a private network protected by Azure Application Gateway.
Create Application Gateway with Certificates

Deploy to Azure
This template shows how to generate Key Vault self-signed certificates, then reference from Application Gateway.
Deploy a Windows VM scale set with Azure Application Gateway

Deploy to Azure
This template allows you to deploy a simple Windows VM Scale Set integrated with Azure Application Gateway, and supports up to 1000 VMs
Deploy an Ubuntu VM scale set with Azure Application Gateway

Deploy to Azure
This template allows you to deploy a simple Ubuntu VM Scale Set integrated with Azure Application Gateway, and supports up to 1000 VMs
eShop Website with ILB ASE

Deploy to Azure
An App Service Environment is a Premium service plan option of Azure App Service that provides a fully isolated and dedicated environment for securely running Azure App Service apps at high scale, including Web Apps, Mobile Apps, and API Apps.
Front Door Standard/Premium with Application Gateway origin

Deploy to Azure
This template creates a Front Door Standard/Premium and an Application Gateway instance, and uses an NSG and WAF policy to validate that traffic has come through the Front Door origin.
Front Door with Container Instances and Application Gateway

Deploy to Azure
This template creates a Front Door Standard/Premium with a container group and Application Gateway.
Multi tier App with NSG, ILB, AppGateway

Deploy to Azure
This template deploys a Virtual Network, segregates the network through subnets, deploys VMs and configures load balancing
Multi tier traffic manager, L4 ILB, L7 AppGateway

Deploy to Azure
This template deploys a Virtual Network, segregates the network through subnets, deploys VMs and configures load balancing

Terraform (AzAPI provider) resource definition

The applicationGateways resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Network/applicationGateways resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/applicationGateways@2016-03-30"
  name = "string"
  etag = "string"
  location = "string"
  body = jsonencode({
    properties = {
      backendAddressPools = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            backendAddresses = [
              {
                fqdn = "string"
                ipAddress = "string"
              }
            ]
            backendIPConfigurations = [
              {
                etag = "string"
                id = "string"
                name = "string"
                properties = {
                  applicationGatewayBackendAddressPools = [
                    ...
                  ]
                  loadBalancerBackendAddressPools = [
                    {
                      etag = "string"
                      id = "string"
                      name = "string"
                      properties = {
                        backendIPConfigurations = [
                          ...
                        ]
                        loadBalancingRules = [
                          {
                            id = "string"
                          }
                        ]
                        outboundNatRule = {
                          id = "string"
                        }
                        provisioningState = "string"
                      }
                    }
                  ]
                  loadBalancerInboundNatRules = [
                    {
                      etag = "string"
                      id = "string"
                      name = "string"
                      properties = {
                        backendIPConfiguration = ...
                        backendPort = int
                        enableFloatingIP = bool
                        frontendIPConfiguration = {
                          id = "string"
                        }
                        frontendPort = int
                        idleTimeoutInMinutes = int
                        protocol = "string"
                        provisioningState = "string"
                      }
                    }
                  ]
                  primary = bool
                  privateIPAddress = "string"
                  privateIPAddressVersion = "string"
                  privateIPAllocationMethod = "string"
                  provisioningState = "string"
                  publicIPAddress = {
                    etag = "string"
                    id = "string"
                    location = "string"
                    properties = {
                      dnsSettings = {
                        domainNameLabel = "string"
                        fqdn = "string"
                        reverseFqdn = "string"
                      }
                      idleTimeoutInMinutes = int
                      ipAddress = "string"
                      ipConfiguration = {
                        etag = "string"
                        id = "string"
                        name = "string"
                        properties = {
                          privateIPAddress = "string"
                          privateIPAllocationMethod = "string"
                          provisioningState = "string"
                          publicIPAddress = ...
                          subnet = {
                            etag = "string"
                            id = "string"
                            name = "string"
                            properties = {
                              addressPrefix = "string"
                              ipConfigurations = [
                                ...
                              ]
                              networkSecurityGroup = {
                                etag = "string"
                                id = "string"
                                location = "string"
                                properties = {
                                  defaultSecurityRules = [
                                    {
                                      etag = "string"
                                      id = "string"
                                      name = "string"
                                      properties = {
                                        access = "string"
                                        description = "string"
                                        destinationAddressPrefix = "string"
                                        destinationPortRange = "string"
                                        direction = "string"
                                        priority = int
                                        protocol = "string"
                                        provisioningState = "string"
                                        sourceAddressPrefix = "string"
                                        sourcePortRange = "string"
                                      }
                                    }
                                  ]
                                  networkInterfaces = [
                                    {
                                      etag = "string"
                                      id = "string"
                                      location = "string"
                                      properties = {
                                        dnsSettings = {
                                          appliedDnsServers = [
                                            "string"
                                          ]
                                          dnsServers = [
                                            "string"
                                          ]
                                          internalDnsNameLabel = "string"
                                          internalDomainNameSuffix = "string"
                                          internalFqdn = "string"
                                        }
                                        enableIPForwarding = bool
                                        ipConfigurations = [
                                          ...
                                        ]
                                        macAddress = "string"
                                        networkSecurityGroup = ...
                                        primary = bool
                                        provisioningState = "string"
                                        resourceGuid = "string"
                                        virtualMachine = {
                                          id = "string"
                                        }
                                      }
                                      tags = {
                                        {customized property} = "string"
                                      }
                                    }
                                  ]
                                  provisioningState = "string"
                                  resourceGuid = "string"
                                  securityRules = [
                                    {
                                      etag = "string"
                                      id = "string"
                                      name = "string"
                                      properties = {
                                        access = "string"
                                        description = "string"
                                        destinationAddressPrefix = "string"
                                        destinationPortRange = "string"
                                        direction = "string"
                                        priority = int
                                        protocol = "string"
                                        provisioningState = "string"
                                        sourceAddressPrefix = "string"
                                        sourcePortRange = "string"
                                      }
                                    }
                                  ]
                                  subnets = [
                                    ...
                                  ]
                                }
                                tags = {
                                  {customized property} = "string"
                                }
                              }
                              provisioningState = "string"
                              routeTable = {
                                etag = "string"
                                id = "string"
                                location = "string"
                                properties = {
                                  provisioningState = "string"
                                  routes = [
                                    {
                                      etag = "string"
                                      id = "string"
                                      name = "string"
                                      properties = {
                                        addressPrefix = "string"
                                        nextHopIpAddress = "string"
                                        nextHopType = "string"
                                        provisioningState = "string"
                                      }
                                    }
                                  ]
                                  subnets = [
                                    ...
                                  ]
                                }
                                tags = {
                                  {customized property} = "string"
                                }
                              }
                            }
                          }
                        }
                      }
                      provisioningState = "string"
                      publicIPAddressVersion = "string"
                      publicIPAllocationMethod = "string"
                      resourceGuid = "string"
                    }
                    tags = {
                      {customized property} = "string"
                    }
                  }
                  subnet = {
                    etag = "string"
                    id = "string"
                    name = "string"
                    properties = {
                      addressPrefix = "string"
                      ipConfigurations = [
                        {
                          etag = "string"
                          id = "string"
                          name = "string"
                          properties = {
                            privateIPAddress = "string"
                            privateIPAllocationMethod = "string"
                            provisioningState = "string"
                            publicIPAddress = {
                              etag = "string"
                              id = "string"
                              location = "string"
                              properties = {
                                dnsSettings = {
                                  domainNameLabel = "string"
                                  fqdn = "string"
                                  reverseFqdn = "string"
                                }
                                idleTimeoutInMinutes = int
                                ipAddress = "string"
                                ipConfiguration = ...
                                provisioningState = "string"
                                publicIPAddressVersion = "string"
                                publicIPAllocationMethod = "string"
                                resourceGuid = "string"
                              }
                              tags = {
                                {customized property} = "string"
                              }
                            }
                            subnet = ...
                          }
                        }
                      ]
                      networkSecurityGroup = {
                        etag = "string"
                        id = "string"
                        location = "string"
                        properties = {
                          defaultSecurityRules = [
                            {
                              etag = "string"
                              id = "string"
                              name = "string"
                              properties = {
                                access = "string"
                                description = "string"
                                destinationAddressPrefix = "string"
                                destinationPortRange = "string"
                                direction = "string"
                                priority = int
                                protocol = "string"
                                provisioningState = "string"
                                sourceAddressPrefix = "string"
                                sourcePortRange = "string"
                              }
                            }
                          ]
                          networkInterfaces = [
                            {
                              etag = "string"
                              id = "string"
                              location = "string"
                              properties = {
                                dnsSettings = {
                                  appliedDnsServers = [
                                    "string"
                                  ]
                                  dnsServers = [
                                    "string"
                                  ]
                                  internalDnsNameLabel = "string"
                                  internalDomainNameSuffix = "string"
                                  internalFqdn = "string"
                                }
                                enableIPForwarding = bool
                                ipConfigurations = [
                                  ...
                                ]
                                macAddress = "string"
                                networkSecurityGroup = ...
                                primary = bool
                                provisioningState = "string"
                                resourceGuid = "string"
                                virtualMachine = {
                                  id = "string"
                                }
                              }
                              tags = {
                                {customized property} = "string"
                              }
                            }
                          ]
                          provisioningState = "string"
                          resourceGuid = "string"
                          securityRules = [
                            {
                              etag = "string"
                              id = "string"
                              name = "string"
                              properties = {
                                access = "string"
                                description = "string"
                                destinationAddressPrefix = "string"
                                destinationPortRange = "string"
                                direction = "string"
                                priority = int
                                protocol = "string"
                                provisioningState = "string"
                                sourceAddressPrefix = "string"
                                sourcePortRange = "string"
                              }
                            }
                          ]
                          subnets = [
                            ...
                          ]
                        }
                        tags = {
                          {customized property} = "string"
                        }
                      }
                      provisioningState = "string"
                      routeTable = {
                        etag = "string"
                        id = "string"
                        location = "string"
                        properties = {
                          provisioningState = "string"
                          routes = [
                            {
                              etag = "string"
                              id = "string"
                              name = "string"
                              properties = {
                                addressPrefix = "string"
                                nextHopIpAddress = "string"
                                nextHopType = "string"
                                provisioningState = "string"
                              }
                            }
                          ]
                          subnets = [
                            ...
                          ]
                        }
                        tags = {
                          {customized property} = "string"
                        }
                      }
                    }
                  }
                }
              }
            ]
            provisioningState = "string"
          }
        }
      ]
      backendHttpSettingsCollection = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            cookieBasedAffinity = "string"
            port = int
            probe = {
              id = "string"
            }
            protocol = "string"
            provisioningState = "string"
            requestTimeout = int
          }
        }
      ]
      frontendIPConfigurations = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            privateIPAddress = "string"
            privateIPAllocationMethod = "string"
            provisioningState = "string"
            publicIPAddress = {
              id = "string"
            }
            subnet = {
              id = "string"
            }
          }
        }
      ]
      frontendPorts = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            port = int
            provisioningState = "string"
          }
        }
      ]
      gatewayIPConfigurations = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            provisioningState = "string"
            subnet = {
              id = "string"
            }
          }
        }
      ]
      httpListeners = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            frontendIPConfiguration = {
              id = "string"
            }
            frontendPort = {
              id = "string"
            }
            hostName = "string"
            protocol = "string"
            provisioningState = "string"
            requireServerNameIndication = bool
            sslCertificate = {
              id = "string"
            }
          }
        }
      ]
      probes = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            host = "string"
            interval = int
            path = "string"
            protocol = "string"
            provisioningState = "string"
            timeout = int
            unhealthyThreshold = int
          }
        }
      ]
      provisioningState = "string"
      requestRoutingRules = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            backendAddressPool = {
              id = "string"
            }
            backendHttpSettings = {
              id = "string"
            }
            httpListener = {
              id = "string"
            }
            provisioningState = "string"
            ruleType = "string"
            urlPathMap = {
              id = "string"
            }
          }
        }
      ]
      resourceGuid = "string"
      sku = {
        capacity = int
        name = "string"
        tier = "string"
      }
      sslCertificates = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            data = "string"
            password = "string"
            provisioningState = "string"
            publicCertData = "string"
          }
        }
      ]
      urlPathMaps = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            defaultBackendAddressPool = {
              id = "string"
            }
            defaultBackendHttpSettings = {
              id = "string"
            }
            pathRules = [
              {
                etag = "string"
                id = "string"
                name = "string"
                properties = {
                  backendAddressPool = {
                    id = "string"
                  }
                  backendHttpSettings = {
                    id = "string"
                  }
                  paths = [
                    "string"
                  ]
                  provisioningState = "string"
                }
              }
            ]
            provisioningState = "string"
          }
        }
      ]
    }
  })
  tags = {
    {customized property} = "string"
  }
}

Property values

ApplicationGatewayBackendAddress

Name Description Value
fqdn Gets or sets the dns name string
ipAddress Gets or sets the ip address string

ApplicationGatewayBackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend Address Pool of application gateway ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Gets or sets the backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
provisioningState Gets or sets Provisioning state of the backend address pool resource Updating/Deleting/Failed string

ApplicationGatewayBackendHttpSettings

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Backend address pool settings of application gateway ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
cookieBasedAffinity Gets or sets the cookie affinity 'Disabled'
'Enabled'
port Gets or sets the port int
probe Gets or sets probe resource of application gateway SubResource
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
requestTimeout Gets or sets request timeout int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend IP configuration of application gateway ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the Network Interface IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource SubResource
subnet Gets or sets the reference of the subnet resource SubResource

ApplicationGatewayFrontendPort

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Frontend Port of application gateway ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Gets or sets the frontend port int
provisioningState Gets or sets Provisioning state of the frontend port resource Updating/Deleting/Failed string

ApplicationGatewayHttpListener

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Http listener of application gateway ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Gets or sets frontend IP configuration resource of application gateway SubResource
frontendPort Gets or sets frontend port resource of application gateway SubResource
hostName Gets or sets the host name of http listener string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the http listener resource Updating/Deleting/Failed string
requireServerNameIndication Gets or sets the requireServerNameIndication of http listener bool
sslCertificate Gets or sets ssl certificate resource of application gateway SubResource

ApplicationGatewayIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IP configuration of application gateway ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the application gateway subnet resource Updating/Deleting/Failed string
subnet Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address SubResource

ApplicationGatewayPathRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of URL path map SubResource
backendHttpSettings Gets or sets backend http settings resource of URL path map SubResource
paths Gets or sets the path rules of URL path map string[]
provisioningState Gets or sets path rule of URL path map resource Updating/Deleting/Failed string

ApplicationGatewayProbe

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Gets or sets the host to send probe to string
interval Gets or sets probing interval in seconds int
path Gets or sets the relative path of probe string
protocol Gets or sets the protocol 'Http'
'Https'
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string
timeout Gets or sets probing timeout in seconds int
unhealthyThreshold Gets or sets probing unhealthy threshold int

ApplicationGatewayPropertiesFormat

Name Description Value
backendAddressPools Gets or sets backend address pool of application gateway resource ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Gets or sets backend http settings of application gateway resource ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Gets or sets frontend IP addresses of application gateway resource ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Gets or sets frontend ports of application gateway resource ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Gets or sets subnets of application gateway resource ApplicationGatewayIPConfiguration[]
httpListeners Gets or sets HTTP listeners of application gateway resource ApplicationGatewayHttpListener[]
probes Gets or sets probes of application gateway resource ApplicationGatewayProbe[]
provisioningState Gets or sets Provisioning state of the ApplicationGateway resource Updating/Deleting/Failed string
requestRoutingRules Gets or sets request routing rules of application gateway resource ApplicationGatewayRequestRoutingRule[]
resourceGuid Gets or sets resource GUID property of the ApplicationGateway resource string
sku Gets or sets sku of application gateway resource ApplicationGatewaySku
sslCertificates Gets or sets ssl certificates of application gateway resource ApplicationGatewaySslCertificate[]
urlPathMaps Gets or sets URL path map of application gateway resource ApplicationGatewayUrlPathMap[]

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Request routing rule of application gateway ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Gets or sets backend address pool resource of application gateway SubResource
backendHttpSettings Gets or sets frontend port resource of application gateway SubResource
httpListener Gets or sets http listener resource of application gateway SubResource
provisioningState Gets or sets Provisioning state of the request routing rule resource Updating/Deleting/Failed string
ruleType Gets or sets the rule type 'Basic'
'PathBasedRouting'
urlPathMap Gets or sets url path map resource of application gateway SubResource

ApplicationGatewaySku

Name Description Value
capacity Gets or sets capacity (instance count) of application gateway int
name Gets or sets name of application gateway SKU 'Standard_Large'
'Standard_Medium'
'Standard_Small'
tier Gets or sets tier of application gateway 'Standard'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of SSL certificates of application gateway ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Gets or sets the certificate data string
password Gets or sets the certificate password string
provisioningState Gets or sets Provisioning state of the ssl certificate resource Updating/Deleting/Failed string
publicCertData Gets or sets the certificate public data string

ApplicationGatewayUrlPathMap

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of probe of application gateway ApplicationGatewayUrlPathMapPropertiesFormat

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Gets or sets default backend address pool resource of URL path map SubResource
defaultBackendHttpSettings Gets or sets default backend http settings resource of URL path map SubResource
pathRules Gets or sets path rule of URL path map resource ApplicationGatewayPathRule[]
provisioningState Gets or sets Provisioning state of the backend http settings resource Updating/Deleting/Failed string

BackendAddressPool

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of BackendAddressPool BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
backendIPConfigurations Gets collection of references to IPs defined in NICs NetworkInterfaceIPConfiguration[]
loadBalancingRules Gets Load Balancing rules that use this Backend Address Pool SubResource[]
outboundNatRule Gets outbound rules that use this Backend Address Pool SubResource
provisioningState Provisioning state of the PublicIP resource Updating/Deleting/Failed string

InboundNatRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of Inbound NAT rule InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendIPConfiguration Gets or sets a reference to a private ip address defined on a NetworkInterface of a VM. Traffic sent to frontendPort of each of the frontendIPConfigurations is forwarded to the backed IP NetworkInterfaceIPConfiguration
backendPort Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API int
enableFloatingIP 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 Always ON availability Groups in SQL server. This setting can't be changed after you create the endpoint bool
frontendIPConfiguration Gets or sets a reference to frontend IP Addresses SubResource
frontendPort Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive int
idleTimeoutInMinutes Gets or sets 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 int
protocol Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp 'Tcp'
'Udp'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string

IPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration IPConfigurationPropertiesFormat

IPConfigurationPropertiesFormat

Name Description Value
privateIPAddress Gets or sets the privateIPAddress of the IP Configuration string
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddress Gets or sets the reference of the PublicIP resource PublicIPAddress
subnet Gets or sets the reference of the subnet resource Subnet

Microsoft.Network/applicationGateways

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
location Resource location string
name The resource name string (required)
properties Properties of Application Gateway ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Network/applicationGateways@2016-03-30"

NetworkInterface

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties NetworkInterface properties. NetworkInterfacePropertiesFormat
tags Resource tags ResourceTags

NetworkInterfaceDnsSettings

Name Description Value
appliedDnsServers Gets or sets list of Applied DNS servers IP addresses string[]
dnsServers Gets or sets list of DNS servers IP addresses string[]
internalDnsNameLabel Gets or sets the Internal DNS name string
internalDomainNameSuffix Gets or sets internal domain name suffix of the NIC. string
internalFqdn Gets or sets the internal FQDN. string

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Properties of IPConfiguration NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools Gets or sets the reference of ApplicationGatewayBackendAddressPool resource ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools Gets or sets the reference of LoadBalancerBackendAddressPool resource BackendAddressPool[]
loadBalancerInboundNatRules Gets or sets list of references of LoadBalancerInboundNatRules InboundNatRule[]
primary Gets whether this is a primary customer address on the NIC bool
privateIPAddress string
privateIPAddressVersion Gets or sets PrivateIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
privateIPAllocationMethod Gets or sets PrivateIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
provisioningState string
publicIPAddress PublicIPAddress resource PublicIPAddress
subnet Subnet in a VirtualNetwork resource Subnet

NetworkInterfacePropertiesFormat

Name Description Value
dnsSettings Gets or sets DNS Settings in NetworkInterface NetworkInterfaceDnsSettings
enableIPForwarding Gets or sets whether IPForwarding is enabled on the NIC bool
ipConfigurations Gets or sets list of IPConfigurations of the NetworkInterface NetworkInterfaceIPConfiguration[]
macAddress Gets the MAC Address of the network interface string
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
primary Gets whether this is a primary NIC on a virtual machine bool
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network interface resource string
virtualMachine Gets or sets the reference of a VirtualMachine SubResource

NetworkSecurityGroup

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Network Security Group resource NetworkSecurityGroupPropertiesFormat
tags Resource tags ResourceTags

NetworkSecurityGroupPropertiesFormat

Name Description Value
defaultSecurityRules Gets or sets Default security rules of network security group SecurityRule[]
networkInterfaces Gets collection of references to Network Interfaces NetworkInterface[]
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
resourceGuid Gets or sets resource GUID property of the network security group resource string
securityRules Gets or sets Security rules of network security group SecurityRule[]
subnets Gets collection of references to subnets Subnet[]

PublicIPAddress

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties PublicIpAddress properties PublicIPAddressPropertiesFormat
tags Resource tags ResourceTags

PublicIPAddressDnsSettings

Name Description Value
domainNameLabel 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. string
fqdn 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. string
reverseFqdn 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. string

PublicIPAddressPropertiesFormat

Name Description Value
dnsSettings Gets or sets FQDN of the DNS record associated with the public IP address PublicIPAddressDnsSettings
idleTimeoutInMinutes Gets or sets the idle timeout of the public IP address int
ipAddress string
ipConfiguration IPConfiguration IPConfiguration
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
publicIPAddressVersion Gets or sets PublicIP address version (IPv4/IPv6) 'IPv4'
'IPv6'
publicIPAllocationMethod Gets or sets PublicIP allocation method (Static/Dynamic) 'Dynamic'
'Static'
resourceGuid Gets or sets resource GUID property of the PublicIP resource string

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

ResourceTags

Name Description Value

Route

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties Route resource RoutePropertiesFormat

RoutePropertiesFormat

Name Description Value
addressPrefix Gets or sets the destination CIDR to which the route applies. string
nextHopIpAddress Gets or sets the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. string
nextHopType Gets or sets the type of Azure hop the packet should be sent to. 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string

RouteTable

Name Description Value
etag Gets a unique read-only string that changes whenever the resource is updated string
id Resource Id string
location Resource location string
properties Route Table resource RouteTablePropertiesFormat
tags Resource tags ResourceTags

RouteTablePropertiesFormat

Name Description Value
provisioningState Gets or sets Provisioning state of the resource Updating/Deleting/Failed string
routes Gets or sets Routes in a Route Table Route[]
subnets Gets collection of references to subnets Subnet[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SecurityRulePropertiesFormat

SecurityRulePropertiesFormat

Name Description Value
access Gets or sets network traffic is allowed or denied. Possible values are 'Allow' and 'Deny' 'Allow'
'Deny' (required)
description Gets or sets a description for this rule. Restricted to 140 chars. string
destinationAddressPrefix Gets or sets destination address prefix. 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. string (required)
destinationPortRange Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic. 'Inbound'
'Outbound' (required)
priority Gets or sets 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. int
protocol Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*). '*'
'Tcp'
'Udp' (required)
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
sourceAddressPrefix Gets or sets source address prefix. 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. string (required)
sourcePortRange Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string

Subnet

Name Description Value
etag A unique read-only string that changes whenever the resource is updated string
id Resource Id string
name Gets name of the resource that is unique within a resource group. This name can be used to access the resource string
properties SubnetPropertiesFormat

SubnetPropertiesFormat

Name Description Value
addressPrefix Gets or sets Address prefix for the subnet. string
ipConfigurations Gets array of references to the network interface IP configurations using subnet IPConfiguration[]
networkSecurityGroup Gets or sets the reference of the NetworkSecurityGroup resource NetworkSecurityGroup
provisioningState Gets or sets Provisioning state of the PublicIP resource Updating/Deleting/Failed string
routeTable Gets or sets the reference of the RouteTable resource RouteTable

SubResource

Name Description Value
id Resource Id string