다음을 통해 공유


Microsoft.Network applicationGateways 2016-09-01

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-09-01' = {
  etag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    authenticationCertificates: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          data: 'string'
          provisioningState: 'string'
        }
      }
    ]
    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: {
                      provisioningState: 'string'
                    }
                  }
                ]
                loadBalancerInboundNatRules: [
                  {
                    etag: 'string'
                    id: 'string'
                    name: 'string'
                    properties: {
                      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'
                    provisioningState: 'string'
                    publicIPAddressVersion: 'string'
                    publicIPAllocationMethod: 'string'
                    resourceGuid: 'string'
                  }
                  tags: {
                    {customized property}: 'string'
                  }
                }
                subnet: {
                  etag: 'string'
                  id: 'string'
                  name: 'string'
                  properties: {
                    addressPrefix: 'string'
                    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'
                            }
                          }
                        ]
                        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'
                            }
                          }
                        ]
                      }
                      tags: {
                        {customized property}: 'string'
                      }
                    }
                    provisioningState: 'string'
                    resourceNavigationLinks: [
                      {
                        id: 'string'
                        name: 'string'
                        properties: {
                          link: 'string'
                          linkedResourceType: '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'
                            }
                          }
                        ]
                      }
                      tags: {
                        {customized property}: 'string'
                      }
                    }
                  }
                }
              }
            }
          ]
          provisioningState: 'string'
        }
      }
    ]
    backendHttpSettingsCollection: [
      {
        etag: 'string'
        id: 'string'
        name: 'string'
        properties: {
          authenticationCertificates: [
            {
              id: 'string'
            }
          ]
          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'
        }
      }
    ]
    sslPolicy: {
      disabledSslProtocols: [
        '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'
        }
      }
    ]
    webApplicationFirewallConfiguration: {
      enabled: bool
      firewallMode: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

ApplicationGatewayAuthenticationCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Authentication certificates properties of an application gateway. ApplicationGatewayAuthenticationCertificatePropertiesFormat

ApplicationGatewayAuthenticationCertificatePropertiesFormat

Name Description Value
data Certificate public data. string
provisioningState Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayBackendAddress

Name Description Value
fqdn Fully qualified domain name (FQDN). string
ipAddress 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 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 an application gateway. ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Collection of references to IPs defined in network interfaces. NetworkInterfaceIPConfiguration[]
provisioningState Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
authenticationCertificates Array of references to application gateway authentication certificates. SubResource[]
cookieBasedAffinity Cookie based affinity. Possible values are: 'Enabled' and 'Disabled'. 'Disabled'
'Enabled'
port Port int
probe Probe resource of an application gateway. SubResource
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestTimeout Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress PrivateIPAddress of the network interface IP Configuration. string
privateIPAllocationMethod PrivateIP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddress Reference of the PublicIP resource. SubResource
subnet 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 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 an application gateway. ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Frontend port int
provisioningState Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Frontend IP configuration resource of an application gateway. SubResource
frontendPort Frontend port resource of an application gateway. SubResource
hostName Host name of HTTP listener. string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requireServerNameIndication Applicable only if protocol is https. Enables SNI for multi-hosting. bool
sslCertificate SSL certificate resource of an 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 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 an application gateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
subnet 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 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 an application gateway. ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of URL path map. SubResource
backendHttpSettings Backend http settings resource of URL path map. SubResource
paths Path rules of URL path map. string[]
provisioningState Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Host name to send the probe to. string
interval The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. int
path Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path> string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
timeout the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. int
unhealthyThreshold The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. int

ApplicationGatewayPropertiesFormat

Name Description Value
authenticationCertificates Authentication certificates of the application gateway resource. ApplicationGatewayAuthenticationCertificate[]
backendAddressPools Backend address pool of the application gateway resource. ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Backend http settings of the application gateway resource. ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Frontend IP addresses of the application gateway resource. ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Frontend ports of the application gateway resource. ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Subnets of application the gateway resource. ApplicationGatewayIPConfiguration[]
httpListeners Http listeners of the application gateway resource. ApplicationGatewayHttpListener[]
probes Probes of the application gateway resource. ApplicationGatewayProbe[]
provisioningState Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestRoutingRules Request routing rules of the application gateway resource. ApplicationGatewayRequestRoutingRule[]
resourceGuid Resource GUID property of the application gateway resource. string
sku SKU of the application gateway resource. ApplicationGatewaySku
sslCertificates SSL certificates of the application gateway resource. ApplicationGatewaySslCertificate[]
sslPolicy SSL policy of the application gateway resource. ApplicationGatewaySslPolicy
urlPathMaps URL path map of the application gateway resource. ApplicationGatewayUrlPathMap[]
webApplicationFirewallConfiguration Web application firewall configuration. ApplicationGatewayWebApplicationFirewallConfiguration

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 the application gateway. ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of the application gateway. SubResource
backendHttpSettings Frontend port resource of the application gateway. SubResource
httpListener Http listener resource of the application gateway. SubResource
provisioningState Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
ruleType Rule type. Possible values are: 'Basic' and 'PathBasedRouting'. 'Basic'
'PathBasedRouting'
urlPathMap URL path map resource of the application gateway. SubResource

ApplicationGatewaySku

Name Description Value
capacity Capacity (instance count) of an application gateway. int
name Name of an application gateway SKU. Possible values are: 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'. 'Standard_Large'
'Standard_Medium'
'Standard_Small'
'WAF_Large'
'WAF_Medium'
tier Tier of an application gateway. Possible values are: 'Standard' and 'WAF'. 'Standard'
'WAF'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Base-64 encoded pfx certificate. Only applicable in PUT Request. string
password Password for the pfx file specified in data. Only applicable in PUT request. string
provisioningState Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicCertData Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. string

ApplicationGatewaySslPolicy

Name Description Value
disabledSslProtocols SSL protocols to be disabled on application gateway. Possible values are: 'TLSv1_0', 'TLSv1_1', and 'TLSv1_2'. String array containing any of:
'TLSv1_0'
'TLSv1_1'
'TLSv1_2'

ApplicationGatewayUrlPathMap

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

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Default backend address pool resource of URL path map. SubResource
defaultBackendHttpSettings Default backend http settings resource of URL path map. SubResource
pathRules Path rule of URL path map resource. ApplicationGatewayPathRule[]
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayWebApplicationFirewallConfiguration

Name Description Value
enabled Whether the web application firewall is enabled. bool (required)
firewallMode Web application firewall mode. Possible values are: 'Detection' and 'Prevention'. 'Detection'
'Prevention'

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 the backend address pool. BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
provisioningState Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and '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 the inbound NAT rule. InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendPort The port used for the internal endpoint. Acceptable values range from 1 to 65535. 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 AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. bool
frontendIPConfiguration A reference to frontend IP addresses. SubResource
frontendPort The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. int
idleTimeoutInMinutes 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 The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp' 'Tcp'
'Udp'
provisioningState Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

Microsoft.Network/applicationGateways

Name Description Value
etag 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 the application gateway. ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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. NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools The reference of ApplicationGatewayBackendAddressPool resource. ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools The reference of LoadBalancerBackendAddressPool resource. BackendAddressPool[]
loadBalancerInboundNatRules A list of references of LoadBalancerInboundNatRules. InboundNatRule[]
primary Gets whether this is a primary customer address on the network interface. bool
privateIPAddress string
privateIPAddressVersion Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
privateIPAllocationMethod Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState string
publicIPAddress Public IP address resource. PublicIPAddress
subnet Subnet in a virtual network resource. Subnet

NetworkSecurityGroup

Name Description Value
etag 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 The default security rules of network security group. SecurityRule[]
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
resourceGuid The resource GUID property of the network security group resource. string
securityRules A collection of security rules of the network security group. SecurityRule[]

PublicIPAddress

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
location Resource location. string
properties Public IP address 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 The FQDN of the DNS record associated with the public IP address. PublicIPAddressDnsSettings
idleTimeoutInMinutes The idle timeout of the public IP address. int
ipAddress string
provisioningState The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddressVersion The public IP address version. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
publicIPAllocationMethod The public IP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
resourceGuid The resource GUID property of the public IP resource. string
Name Description Value
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of ResourceNavigationLink. ResourceNavigationLinkFormat

ResourceNavigationLinkFormat

Name Description Value
link Link to the external resource string
linkedResourceType Resource type of the linked resource. string

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 The 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 The destination CIDR to which the route applies. string
nextHopIpAddress 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 The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None' 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and '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 The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
routes Collection of routes contained within a route table. Route[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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 The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. 'Allow'
'Deny' (required)
description A description for this rule. Restricted to 140 chars. string
destinationAddressPrefix The 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 The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. 'Inbound'
'Outbound' (required)
priority 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 Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'. '*'
'Tcp'
'Udp' (required)
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
sourceAddressPrefix The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. string (required)
sourcePortRange The 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 The 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 The address prefix for the subnet. string
networkSecurityGroup The reference of the NetworkSecurityGroup resource. NetworkSecurityGroup
provisioningState The provisioning state of the resource. string
resourceNavigationLinks Gets an array of references to the external resources using subnet. ResourceNavigationLink[]
routeTable 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-09-01",
  "name": "string",
  "etag": "string",
  "location": "string",
  "properties": {
    "authenticationCertificates": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "data": "string",
          "provisioningState": "string"
        }
      }
    ],
    "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": {
                      "provisioningState": "string"
                    }
                  }
                ],
                "loadBalancerInboundNatRules": [
                  {
                    "etag": "string",
                    "id": "string",
                    "name": "string",
                    "properties": {
                      "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",
                    "provisioningState": "string",
                    "publicIPAddressVersion": "string",
                    "publicIPAllocationMethod": "string",
                    "resourceGuid": "string"
                  },
                  "tags": {
                    "{customized property}": "string"
                  }
                },
                "subnet": {
                  "etag": "string",
                  "id": "string",
                  "name": "string",
                  "properties": {
                    "addressPrefix": "string",
                    "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"
                            }
                          }
                        ],
                        "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"
                            }
                          }
                        ]
                      },
                      "tags": {
                        "{customized property}": "string"
                      }
                    },
                    "provisioningState": "string",
                    "resourceNavigationLinks": [
                      {
                        "id": "string",
                        "name": "string",
                        "properties": {
                          "link": "string",
                          "linkedResourceType": "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"
                            }
                          }
                        ]
                      },
                      "tags": {
                        "{customized property}": "string"
                      }
                    }
                  }
                }
              }
            }
          ],
          "provisioningState": "string"
        }
      }
    ],
    "backendHttpSettingsCollection": [
      {
        "etag": "string",
        "id": "string",
        "name": "string",
        "properties": {
          "authenticationCertificates": [
            {
              "id": "string"
            }
          ],
          "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"
        }
      }
    ],
    "sslPolicy": {
      "disabledSslProtocols": [ "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"
        }
      }
    ],
    "webApplicationFirewallConfiguration": {
      "enabled": "bool",
      "firewallMode": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

ApplicationGatewayAuthenticationCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Authentication certificates properties of an application gateway. ApplicationGatewayAuthenticationCertificatePropertiesFormat

ApplicationGatewayAuthenticationCertificatePropertiesFormat

Name Description Value
data Certificate public data. string
provisioningState Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayBackendAddress

Name Description Value
fqdn Fully qualified domain name (FQDN). string
ipAddress 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 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 an application gateway. ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Collection of references to IPs defined in network interfaces. NetworkInterfaceIPConfiguration[]
provisioningState Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
authenticationCertificates Array of references to application gateway authentication certificates. SubResource[]
cookieBasedAffinity Cookie based affinity. Possible values are: 'Enabled' and 'Disabled'. 'Disabled'
'Enabled'
port Port int
probe Probe resource of an application gateway. SubResource
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestTimeout Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress PrivateIPAddress of the network interface IP Configuration. string
privateIPAllocationMethod PrivateIP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddress Reference of the PublicIP resource. SubResource
subnet 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 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 an application gateway. ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Frontend port int
provisioningState Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Frontend IP configuration resource of an application gateway. SubResource
frontendPort Frontend port resource of an application gateway. SubResource
hostName Host name of HTTP listener. string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requireServerNameIndication Applicable only if protocol is https. Enables SNI for multi-hosting. bool
sslCertificate SSL certificate resource of an 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 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 an application gateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
subnet 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 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 an application gateway. ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of URL path map. SubResource
backendHttpSettings Backend http settings resource of URL path map. SubResource
paths Path rules of URL path map. string[]
provisioningState Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Host name to send the probe to. string
interval The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. int
path Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path> string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
timeout the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. int
unhealthyThreshold The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. int

ApplicationGatewayPropertiesFormat

Name Description Value
authenticationCertificates Authentication certificates of the application gateway resource. ApplicationGatewayAuthenticationCertificate[]
backendAddressPools Backend address pool of the application gateway resource. ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Backend http settings of the application gateway resource. ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Frontend IP addresses of the application gateway resource. ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Frontend ports of the application gateway resource. ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Subnets of application the gateway resource. ApplicationGatewayIPConfiguration[]
httpListeners Http listeners of the application gateway resource. ApplicationGatewayHttpListener[]
probes Probes of the application gateway resource. ApplicationGatewayProbe[]
provisioningState Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestRoutingRules Request routing rules of the application gateway resource. ApplicationGatewayRequestRoutingRule[]
resourceGuid Resource GUID property of the application gateway resource. string
sku SKU of the application gateway resource. ApplicationGatewaySku
sslCertificates SSL certificates of the application gateway resource. ApplicationGatewaySslCertificate[]
sslPolicy SSL policy of the application gateway resource. ApplicationGatewaySslPolicy
urlPathMaps URL path map of the application gateway resource. ApplicationGatewayUrlPathMap[]
webApplicationFirewallConfiguration Web application firewall configuration. ApplicationGatewayWebApplicationFirewallConfiguration

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 the application gateway. ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of the application gateway. SubResource
backendHttpSettings Frontend port resource of the application gateway. SubResource
httpListener Http listener resource of the application gateway. SubResource
provisioningState Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
ruleType Rule type. Possible values are: 'Basic' and 'PathBasedRouting'. 'Basic'
'PathBasedRouting'
urlPathMap URL path map resource of the application gateway. SubResource

ApplicationGatewaySku

Name Description Value
capacity Capacity (instance count) of an application gateway. int
name Name of an application gateway SKU. Possible values are: 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'. 'Standard_Large'
'Standard_Medium'
'Standard_Small'
'WAF_Large'
'WAF_Medium'
tier Tier of an application gateway. Possible values are: 'Standard' and 'WAF'. 'Standard'
'WAF'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Base-64 encoded pfx certificate. Only applicable in PUT Request. string
password Password for the pfx file specified in data. Only applicable in PUT request. string
provisioningState Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicCertData Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. string

ApplicationGatewaySslPolicy

Name Description Value
disabledSslProtocols SSL protocols to be disabled on application gateway. Possible values are: 'TLSv1_0', 'TLSv1_1', and 'TLSv1_2'. String array containing any of:
'TLSv1_0'
'TLSv1_1'
'TLSv1_2'

ApplicationGatewayUrlPathMap

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

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Default backend address pool resource of URL path map. SubResource
defaultBackendHttpSettings Default backend http settings resource of URL path map. SubResource
pathRules Path rule of URL path map resource. ApplicationGatewayPathRule[]
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayWebApplicationFirewallConfiguration

Name Description Value
enabled Whether the web application firewall is enabled. bool (required)
firewallMode Web application firewall mode. Possible values are: 'Detection' and 'Prevention'. 'Detection'
'Prevention'

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 the backend address pool. BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
provisioningState Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and '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 the inbound NAT rule. InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendPort The port used for the internal endpoint. Acceptable values range from 1 to 65535. 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 AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. bool
frontendIPConfiguration A reference to frontend IP addresses. SubResource
frontendPort The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. int
idleTimeoutInMinutes 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 The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp' 'Tcp'
'Udp'
provisioningState Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

Microsoft.Network/applicationGateways

Name Description Value
apiVersion The api version '2016-09-01'
etag 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 the application gateway. ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Network/applicationGateways'

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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. NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools The reference of ApplicationGatewayBackendAddressPool resource. ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools The reference of LoadBalancerBackendAddressPool resource. BackendAddressPool[]
loadBalancerInboundNatRules A list of references of LoadBalancerInboundNatRules. InboundNatRule[]
primary Gets whether this is a primary customer address on the network interface. bool
privateIPAddress string
privateIPAddressVersion Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
privateIPAllocationMethod Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState string
publicIPAddress Public IP address resource. PublicIPAddress
subnet Subnet in a virtual network resource. Subnet

NetworkSecurityGroup

Name Description Value
etag 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 The default security rules of network security group. SecurityRule[]
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
resourceGuid The resource GUID property of the network security group resource. string
securityRules A collection of security rules of the network security group. SecurityRule[]

PublicIPAddress

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
location Resource location. string
properties Public IP address 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 The FQDN of the DNS record associated with the public IP address. PublicIPAddressDnsSettings
idleTimeoutInMinutes The idle timeout of the public IP address. int
ipAddress string
provisioningState The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddressVersion The public IP address version. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
publicIPAllocationMethod The public IP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
resourceGuid The resource GUID property of the public IP resource. string
Name Description Value
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of ResourceNavigationLink. ResourceNavigationLinkFormat

ResourceNavigationLinkFormat

Name Description Value
link Link to the external resource string
linkedResourceType Resource type of the linked resource. string

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 The 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 The destination CIDR to which the route applies. string
nextHopIpAddress 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 The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None' 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and '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 The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
routes Collection of routes contained within a route table. Route[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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 The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. 'Allow'
'Deny' (required)
description A description for this rule. Restricted to 140 chars. string
destinationAddressPrefix The 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 The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. 'Inbound'
'Outbound' (required)
priority 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 Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'. '*'
'Tcp'
'Udp' (required)
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
sourceAddressPrefix The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. string (required)
sourcePortRange The 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 The 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 The address prefix for the subnet. string
networkSecurityGroup The reference of the NetworkSecurityGroup resource. NetworkSecurityGroup
provisioningState The provisioning state of the resource. string
resourceNavigationLinks Gets an array of references to the external resources using subnet. ResourceNavigationLink[]
routeTable 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-09-01"
  name = "string"
  etag = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      authenticationCertificates = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            data = "string"
            provisioningState = "string"
          }
        }
      ]
      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 = {
                        provisioningState = "string"
                      }
                    }
                  ]
                  loadBalancerInboundNatRules = [
                    {
                      etag = "string"
                      id = "string"
                      name = "string"
                      properties = {
                        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"
                      provisioningState = "string"
                      publicIPAddressVersion = "string"
                      publicIPAllocationMethod = "string"
                      resourceGuid = "string"
                    }
                    tags = {
                      {customized property} = "string"
                    }
                  }
                  subnet = {
                    etag = "string"
                    id = "string"
                    name = "string"
                    properties = {
                      addressPrefix = "string"
                      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"
                              }
                            }
                          ]
                          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"
                              }
                            }
                          ]
                        }
                        tags = {
                          {customized property} = "string"
                        }
                      }
                      provisioningState = "string"
                      resourceNavigationLinks = [
                        {
                          id = "string"
                          name = "string"
                          properties = {
                            link = "string"
                            linkedResourceType = "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"
                              }
                            }
                          ]
                        }
                        tags = {
                          {customized property} = "string"
                        }
                      }
                    }
                  }
                }
              }
            ]
            provisioningState = "string"
          }
        }
      ]
      backendHttpSettingsCollection = [
        {
          etag = "string"
          id = "string"
          name = "string"
          properties = {
            authenticationCertificates = [
              {
                id = "string"
              }
            ]
            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"
          }
        }
      ]
      sslPolicy = {
        disabledSslProtocols = [
          "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"
          }
        }
      ]
      webApplicationFirewallConfiguration = {
        enabled = bool
        firewallMode = "string"
      }
    }
  })
}

Property values

ApplicationGatewayAuthenticationCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Authentication certificates properties of an application gateway. ApplicationGatewayAuthenticationCertificatePropertiesFormat

ApplicationGatewayAuthenticationCertificatePropertiesFormat

Name Description Value
data Certificate public data. string
provisioningState Provisioning state of the authentication certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayBackendAddress

Name Description Value
fqdn Fully qualified domain name (FQDN). string
ipAddress 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 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 an application gateway. ApplicationGatewayBackendAddressPoolPropertiesFormat

ApplicationGatewayBackendAddressPoolPropertiesFormat

Name Description Value
backendAddresses Backend addresses ApplicationGatewayBackendAddress[]
backendIPConfigurations Collection of references to IPs defined in network interfaces. NetworkInterfaceIPConfiguration[]
provisioningState Provisioning state of the backend address pool resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayBackendHttpSettingsPropertiesFormat

ApplicationGatewayBackendHttpSettingsPropertiesFormat

Name Description Value
authenticationCertificates Array of references to application gateway authentication certificates. SubResource[]
cookieBasedAffinity Cookie based affinity. Possible values are: 'Enabled' and 'Disabled'. 'Disabled'
'Enabled'
port Port int
probe Probe resource of an application gateway. SubResource
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestTimeout Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. int

ApplicationGatewayFrontendIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewayFrontendIPConfigurationPropertiesFormat

ApplicationGatewayFrontendIPConfigurationPropertiesFormat

Name Description Value
privateIPAddress PrivateIPAddress of the network interface IP Configuration. string
privateIPAllocationMethod PrivateIP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState Provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddress Reference of the PublicIP resource. SubResource
subnet 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 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 an application gateway. ApplicationGatewayFrontendPortPropertiesFormat

ApplicationGatewayFrontendPortPropertiesFormat

Name Description Value
port Frontend port int
provisioningState Provisioning state of the frontend port resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayHttpListenerPropertiesFormat

ApplicationGatewayHttpListenerPropertiesFormat

Name Description Value
frontendIPConfiguration Frontend IP configuration resource of an application gateway. SubResource
frontendPort Frontend port resource of an application gateway. SubResource
hostName Host name of HTTP listener. string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the HTTP listener resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requireServerNameIndication Applicable only if protocol is https. Enables SNI for multi-hosting. bool
sslCertificate SSL certificate resource of an 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 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 an application gateway. ApplicationGatewayIPConfigurationPropertiesFormat

ApplicationGatewayIPConfigurationPropertiesFormat

Name Description Value
provisioningState Provisioning state of the application gateway subnet resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
subnet 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 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 an application gateway. ApplicationGatewayPathRulePropertiesFormat

ApplicationGatewayPathRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of URL path map. SubResource
backendHttpSettings Backend http settings resource of URL path map. SubResource
paths Path rules of URL path map. string[]
provisioningState Path rule of URL path map resource. Possible values are: 'Updating', 'Deleting', and '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 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 an application gateway. ApplicationGatewayProbePropertiesFormat

ApplicationGatewayProbePropertiesFormat

Name Description Value
host Host name to send the probe to. string
interval The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. int
path Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path> string
protocol Protocol. Possible values are: 'Http' and 'Https'. 'Http'
'Https'
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
timeout the probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. int
unhealthyThreshold The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. int

ApplicationGatewayPropertiesFormat

Name Description Value
authenticationCertificates Authentication certificates of the application gateway resource. ApplicationGatewayAuthenticationCertificate[]
backendAddressPools Backend address pool of the application gateway resource. ApplicationGatewayBackendAddressPool[]
backendHttpSettingsCollection Backend http settings of the application gateway resource. ApplicationGatewayBackendHttpSettings[]
frontendIPConfigurations Frontend IP addresses of the application gateway resource. ApplicationGatewayFrontendIPConfiguration[]
frontendPorts Frontend ports of the application gateway resource. ApplicationGatewayFrontendPort[]
gatewayIPConfigurations Subnets of application the gateway resource. ApplicationGatewayIPConfiguration[]
httpListeners Http listeners of the application gateway resource. ApplicationGatewayHttpListener[]
probes Probes of the application gateway resource. ApplicationGatewayProbe[]
provisioningState Provisioning state of the application gateway resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
requestRoutingRules Request routing rules of the application gateway resource. ApplicationGatewayRequestRoutingRule[]
resourceGuid Resource GUID property of the application gateway resource. string
sku SKU of the application gateway resource. ApplicationGatewaySku
sslCertificates SSL certificates of the application gateway resource. ApplicationGatewaySslCertificate[]
sslPolicy SSL policy of the application gateway resource. ApplicationGatewaySslPolicy
urlPathMaps URL path map of the application gateway resource. ApplicationGatewayUrlPathMap[]
webApplicationFirewallConfiguration Web application firewall configuration. ApplicationGatewayWebApplicationFirewallConfiguration

ApplicationGatewayRequestRoutingRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 the application gateway. ApplicationGatewayRequestRoutingRulePropertiesFormat

ApplicationGatewayRequestRoutingRulePropertiesFormat

Name Description Value
backendAddressPool Backend address pool resource of the application gateway. SubResource
backendHttpSettings Frontend port resource of the application gateway. SubResource
httpListener Http listener resource of the application gateway. SubResource
provisioningState Provisioning state of the request routing rule resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
ruleType Rule type. Possible values are: 'Basic' and 'PathBasedRouting'. 'Basic'
'PathBasedRouting'
urlPathMap URL path map resource of the application gateway. SubResource

ApplicationGatewaySku

Name Description Value
capacity Capacity (instance count) of an application gateway. int
name Name of an application gateway SKU. Possible values are: 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'. 'Standard_Large'
'Standard_Medium'
'Standard_Small'
'WAF_Large'
'WAF_Medium'
tier Tier of an application gateway. Possible values are: 'Standard' and 'WAF'. 'Standard'
'WAF'

ApplicationGatewaySslCertificate

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name 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 an application gateway. ApplicationGatewaySslCertificatePropertiesFormat

ApplicationGatewaySslCertificatePropertiesFormat

Name Description Value
data Base-64 encoded pfx certificate. Only applicable in PUT Request. string
password Password for the pfx file specified in data. Only applicable in PUT request. string
provisioningState Provisioning state of the SSL certificate resource Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicCertData Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. string

ApplicationGatewaySslPolicy

Name Description Value
disabledSslProtocols SSL protocols to be disabled on application gateway. Possible values are: 'TLSv1_0', 'TLSv1_1', and 'TLSv1_2'. String array containing any of:
'TLSv1_0'
'TLSv1_1'
'TLSv1_2'

ApplicationGatewayUrlPathMap

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

ApplicationGatewayUrlPathMapPropertiesFormat

Name Description Value
defaultBackendAddressPool Default backend address pool resource of URL path map. SubResource
defaultBackendHttpSettings Default backend http settings resource of URL path map. SubResource
pathRules Path rule of URL path map resource. ApplicationGatewayPathRule[]
provisioningState Provisioning state of the backend http settings resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

ApplicationGatewayWebApplicationFirewallConfiguration

Name Description Value
enabled Whether the web application firewall is enabled. bool (required)
firewallMode Web application firewall mode. Possible values are: 'Detection' and 'Prevention'. 'Detection'
'Prevention'

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 the backend address pool. BackendAddressPoolPropertiesFormat

BackendAddressPoolPropertiesFormat

Name Description Value
provisioningState Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and '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 the inbound NAT rule. InboundNatRulePropertiesFormat

InboundNatRulePropertiesFormat

Name Description Value
backendPort The port used for the internal endpoint. Acceptable values range from 1 to 65535. 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 AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. bool
frontendIPConfiguration A reference to frontend IP addresses. SubResource
frontendPort The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. int
idleTimeoutInMinutes 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 The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp' 'Tcp'
'Udp'
provisioningState Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string

Microsoft.Network/applicationGateways

Name Description Value
etag 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 the application gateway. ApplicationGatewayPropertiesFormat
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Network/applicationGateways@2016-09-01"

NetworkInterfaceIPConfiguration

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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. NetworkInterfaceIPConfigurationPropertiesFormat

NetworkInterfaceIPConfigurationPropertiesFormat

Name Description Value
applicationGatewayBackendAddressPools The reference of ApplicationGatewayBackendAddressPool resource. ApplicationGatewayBackendAddressPool[]
loadBalancerBackendAddressPools The reference of LoadBalancerBackendAddressPool resource. BackendAddressPool[]
loadBalancerInboundNatRules A list of references of LoadBalancerInboundNatRules. InboundNatRule[]
primary Gets whether this is a primary customer address on the network interface. bool
privateIPAddress string
privateIPAddressVersion Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
privateIPAllocationMethod Defines how a private IP address is assigned. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
provisioningState string
publicIPAddress Public IP address resource. PublicIPAddress
subnet Subnet in a virtual network resource. Subnet

NetworkSecurityGroup

Name Description Value
etag 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 The default security rules of network security group. SecurityRule[]
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
resourceGuid The resource GUID property of the network security group resource. string
securityRules A collection of security rules of the network security group. SecurityRule[]

PublicIPAddress

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
location Resource location. string
properties Public IP address 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 The FQDN of the DNS record associated with the public IP address. PublicIPAddressDnsSettings
idleTimeoutInMinutes The idle timeout of the public IP address. int
ipAddress string
provisioningState The provisioning state of the PublicIP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
publicIPAddressVersion The public IP address version. Possible values are: 'IPv4' and 'IPv6'. 'IPv4'
'IPv6'
publicIPAllocationMethod The public IP allocation method. Possible values are: 'Static' and 'Dynamic'. 'Dynamic'
'Static'
resourceGuid The resource GUID property of the public IP resource. string
Name Description Value
id Resource ID. string
name Name of the resource that is unique within a resource group. This name can be used to access the resource. string
properties Properties of ResourceNavigationLink. ResourceNavigationLinkFormat

ResourceNavigationLinkFormat

Name Description Value
link Link to the external resource string
linkedResourceType Resource type of the linked resource. string

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 The 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 The destination CIDR to which the route applies. string
nextHopIpAddress 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 The type of Azure hop the packet should be sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None' 'Internet'
'None'
'VirtualAppliance'
'VirtualNetworkGateway'
'VnetLocal' (required)
provisioningState The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and '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 The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
routes Collection of routes contained within a route table. Route[]

SecurityRule

Name Description Value
etag A unique read-only string that changes whenever the resource is updated. string
id Resource ID. string
name The 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 The network traffic is allowed or denied. Possible values are: 'Allow' and 'Deny'. 'Allow'
'Deny' (required)
description A description for this rule. Restricted to 140 chars. string
destinationAddressPrefix The 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 The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. string
direction The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. 'Inbound'
'Outbound' (required)
priority 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 Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and '*'. '*'
'Tcp'
'Udp' (required)
provisioningState The provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. string
sourceAddressPrefix The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. string (required)
sourcePortRange The 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 The 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 The address prefix for the subnet. string
networkSecurityGroup The reference of the NetworkSecurityGroup resource. NetworkSecurityGroup
provisioningState The provisioning state of the resource. string
resourceNavigationLinks Gets an array of references to the external resources using subnet. ResourceNavigationLink[]
routeTable The reference of the RouteTable resource. RouteTable

SubResource

Name Description Value
id Resource ID. string