Microsoft.Network frontDoors template reference

Template format

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

{
  "name": "string",
  "type": "Microsoft.Network/frontDoors",
  "apiVersion": "2019-04-01",
  "location": "string",
  "tags": {},
  "properties": {
    "friendlyName": "string",
    "routingRules": [
      {
        "id": "string",
        "properties": {
          "frontendEndpoints": [
            {
              "id": "string"
            }
          ],
          "acceptedProtocols": [
            "string"
          ],
          "patternsToMatch": [
            "string"
          ],
          "enabledState": "string",
          "routeConfiguration": {
            "@odata.type": "string"
          },
          "resourceState": "string"
        },
        "name": "string"
      }
    ],
    "loadBalancingSettings": [
      {
        "id": "string",
        "properties": {
          "sampleSize": "integer",
          "successfulSamplesRequired": "integer",
          "additionalLatencyMilliseconds": "integer",
          "resourceState": "string"
        },
        "name": "string"
      }
    ],
    "healthProbeSettings": [
      {
        "id": "string",
        "properties": {
          "path": "string",
          "protocol": "string",
          "intervalInSeconds": "integer",
          "resourceState": "string"
        },
        "name": "string"
      }
    ],
    "backendPools": [
      {
        "id": "string",
        "properties": {
          "backends": [
            {
              "address": "string",
              "httpPort": "integer",
              "httpsPort": "integer",
              "enabledState": "string",
              "priority": "integer",
              "weight": "integer",
              "backendHostHeader": "string"
            }
          ],
          "loadBalancingSettings": {
            "id": "string"
          },
          "healthProbeSettings": {
            "id": "string"
          },
          "resourceState": "string"
        },
        "name": "string"
      }
    ],
    "frontendEndpoints": [
      {
        "id": "string",
        "properties": {
          "hostName": "string",
          "sessionAffinityEnabledState": "string",
          "sessionAffinityTtlSeconds": "integer",
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          },
          "resourceState": "string"
        },
        "name": "string"
      }
    ],
    "backendPoolsSettings": {
      "enforceCertificateNameCheck": "string"
    },
    "enabledState": "string",
    "resourceState": "string"
  },
  "resources": []
}

Property values

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

Microsoft.Network/frontDoors object

Name Type Required Value
name string Yes Name of the Front Door which is globally unique.
type enum Yes Microsoft.Network/frontDoors
apiVersion enum Yes 2019-04-01
location string No Resource location.
tags object No Resource tags.
properties object Yes Properties of the Front Door Load Balancer - FrontDoorProperties object
resources array No frontendEndpoints backendPools loadBalancingSettings healthProbeSettings routingRules

FrontDoorProperties object

Name Type Required Value
friendlyName string No A friendly name for the frontDoor
routingRules array No Routing rules associated with this Front Door. - RoutingRule object
loadBalancingSettings array No Load balancing settings associated with this Front Door instance. - LoadBalancingSettingsModel object
healthProbeSettings array No Health probe settings associated with this Front Door instance. - HealthProbeSettingsModel object
backendPools array No Backend pools available to routing rules. - BackendPool object
frontendEndpoints array No Frontend endpoints available to routing rules. - FrontendEndpoint object
backendPoolsSettings object No Settings for all backendPools - BackendPoolsSettings object
enabledState enum No Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'. - Enabled or Disabled
resourceState enum No Resource status of the Front Door. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

RoutingRule object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the Front Door Routing Rule - RoutingRuleProperties object
name string No Resource name.

LoadBalancingSettingsModel object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the load balancing settings - LoadBalancingSettingsProperties object
name string No Resource name.

HealthProbeSettingsModel object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the health probe settings - HealthProbeSettingsProperties object
name string No Resource name.

BackendPool object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the Front Door Backend Pool - BackendPoolProperties object
name string No Resource name.

FrontendEndpoint object

Name Type Required Value
id string No Resource ID.
properties object No Properties of the Frontend endpoint - FrontendEndpointProperties object
name string No Resource name.

BackendPoolsSettings object

Name Type Required Value
enforceCertificateNameCheck enum No Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. - Enabled or Disabled

RoutingRuleProperties object

Name Type Required Value
frontendEndpoints array No Frontend endpoints associated with this rule - SubResource object
acceptedProtocols array No Protocol schemes to match for this rule - Http or Https
patternsToMatch array No The route patterns of the rule. - string
enabledState enum No Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. - Enabled or Disabled
routeConfiguration object No A reference to the routing configuration. - RouteConfiguration object
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

LoadBalancingSettingsProperties object

Name Type Required Value
sampleSize integer No The number of samples to consider for load balancing decisions
successfulSamplesRequired integer No The number of samples within the sample period that must succeed
additionalLatencyMilliseconds integer No The additional latency in milliseconds for probes to fall into the lowest latency bucket
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

HealthProbeSettingsProperties object

Name Type Required Value
path string No The path to use for the health probe. Default is /
protocol enum No Protocol scheme to use for this probe. - Http or Https
intervalInSeconds integer No The number of seconds between health probes.
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

BackendPoolProperties object

Name Type Required Value
backends array No The set of backends for this pool - Backend object
loadBalancingSettings object No Load balancing settings for a backend pool - SubResource object
healthProbeSettings object No L7 health probe settings for a backend pool - SubResource object
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

FrontendEndpointProperties object

Name Type Required Value
hostName string No The host name of the frontendEndpoint. Must be a domain name.
sessionAffinityEnabledState enum No Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. - Enabled or Disabled
sessionAffinityTtlSeconds integer No UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable.
webApplicationFirewallPolicyLink object No Defines the Web Application Firewall policy for each host (if applicable) - FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink object
resourceState enum No Resource status. - Creating, Enabling, Enabled, Disabling, Disabled, Deleting

SubResource object

Name Type Required Value
id string No Resource ID.

RouteConfiguration object

Name Type Required Value
@odata.type string Yes

Backend object

Name Type Required Value
address string No Location of the backend (IP address or FQDN)
httpPort integer No The HTTP TCP port number. Must be between 1 and 65535.
httpsPort integer No The HTTPS TCP port number. Must be between 1 and 65535.
enabledState enum No Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'. - Enabled or Disabled
priority integer No Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.
weight integer No Weight of this endpoint for load balancing purposes.
backendHostHeader string No The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host.
Name Type Required Value
id string No Resource ID.

Quickstart templates

See all Front Door templates in Azure Quickstart templates.