{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Use these APIs to manage Azure Front Door resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure.",
    "title": "FrontDoorManagementClient",
    "version": "2018-08-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "frontdoor",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "backendPoolNameParameter": {
      "description": "Name of the Backend Pool which is unique within the Front Door.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "backendPoolName",
      "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-previous-pattern": "^[-\\w\\d\\._]+$"
    },
    "frontDoorNameParameter": {
      "description": "Name of the Front Door which is globally unique.",
      "in": "path",
      "maxLength": 64,
      "minLength": 5,
      "name": "frontDoorName",
      "pattern": "^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-new-pattern": "^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$"
    },
    "frontendEndpointNameParameter": {
      "description": "Name of the Frontend endpoint which is unique within the Front Door.",
      "in": "path",
      "maxLength": 255,
      "minLength": 1,
      "name": "frontendEndpointName",
      "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-previous-pattern": "^[-\\w\\d\\._]+$"
    },
    "healthProbeSettingsNameParameter": {
      "description": "Name of the health probe settings which is unique within the Front Door.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "healthProbeSettingsName",
      "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-previous-pattern": "^[-\\w\\d\\._]+$"
    },
    "loadBalancingSettingsNameParameter": {
      "description": "Name of the load balancing settings which is unique within the Front Door.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "loadBalancingSettingsName",
      "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-previous-pattern": "^[-\\w\\d\\._]+$"
    },
    "resourceGroupNameParameter": {
      "description": "Name of the Resource group within the Azure subscription.",
      "in": "path",
      "maxLength": 80,
      "minLength": 1,
      "name": "resourceGroupName",
      "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "routingRuleNameParameter": {
      "description": "Name of the Routing Rule which is unique within the Front Door.",
      "in": "path",
      "maxLength": 90,
      "minLength": 1,
      "name": "routingRuleName",
      "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-previous-pattern": "^[-\\w\\d\\._]+$"
    }
  },
  "paths": {
    "/providers/Microsoft.Network/checkFrontDoorNameAvailability": {
      "post": {
        "description": "Check the availability of a Front Door resource name.",
        "operationId": "CheckFrontDoorNameAvailability",
        "parameters": [
          {
            "description": "Input to check.",
            "in": "body",
            "name": "checkFrontDoorNameAvailabilityInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityInput"
            }
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityOutput"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "CheckFrontDoorNameAvailability"
        ],
        "x-ms-examples": {
          "CheckNameAvailability": {
            "parameters": {
              "api-version": "2018-08-01",
              "checkFrontDoorNameAvailabilityInput": {
                "name": "sampleName",
                "type": "Microsoft.Network/frontDoors"
              }
            },
            "responses": {
              "200": {
                "body": {
                  "message": "Name not available",
                  "nameAvailability": "Unavailable",
                  "reason": "Name is already in use"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability": {
      "post": {
        "description": "Check the availability of a Front Door subdomain.",
        "operationId": "CheckFrontDoorNameAvailabilityWithSubscription",
        "parameters": [
          {
            "description": "Input to check.",
            "in": "body",
            "name": "checkFrontDoorNameAvailabilityInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityInput"
            }
          },
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityOutput"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "CheckFrontDoorNameAvailabilityWithSubscription"
        ],
        "x-ms-examples": {
          "CheckNameAvailabilityWithSubscription": {
            "parameters": {
              "api-version": "2018-08-01",
              "checkFrontDoorNameAvailabilityInput": {
                "name": "sampleName",
                "type": "Microsoft.Network/frontDoors/frontendEndpoints"
              },
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "message": "Name not available",
                  "nameAvailability": "Unavailable",
                  "reason": "Name is already in use"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors": {
      "get": {
        "description": "Lists all of the Front Doors within an Azure subscription.",
        "operationId": "FrontDoors_List",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontDoorListResult"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "List all Front Doors": {
            "parameters": {
              "api-version": "2018-08-01",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                      "location": "westus",
                      "name": "frontDoor1",
                      "properties": {
                        "backendPools": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                            "name": "backendPool1",
                            "properties": {
                              "backends": [
                                {
                                  "address": "w3.contoso.com",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 2,
                                  "weight": 1
                                },
                                {
                                  "address": "contoso.com.website-us-west-2.othercloud.net",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 1,
                                  "weight": 2
                                },
                                {
                                  "address": "contoso1.azurewebsites.net",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 1,
                                  "weight": 1
                                }
                              ],
                              "healthProbeSettings": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                              },
                              "loadBalancingSettings": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                              }
                            }
                          }
                        ],
                        "cname": "frontDoor1.azurefd.net",
                        "enabledState": "Enabled",
                        "frontendEndpoints": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                            "name": "frontendEndpoint1",
                            "properties": {
                              "hostName": "www.contoso.com",
                              "sessionAffinityEnabledState": "Enabled",
                              "sessionAffinityTtlSeconds": 60,
                              "webApplicationFirewallPolicyLink": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                              }
                            }
                          },
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                            "name": "default",
                            "properties": {
                              "hostName": "frontDoor1.azurefd.net"
                            }
                          }
                        ],
                        "healthProbeSettings": [
                          {
                            "name": "healthProbeSettings1",
                            "properties": {
                              "intervalInSeconds": 120,
                              "path": "/",
                              "protocol": "Http"
                            }
                          }
                        ],
                        "loadBalancingSettings": [
                          {
                            "name": "loadBalancingSettings1",
                            "properties": {
                              "sampleSize": 4,
                              "successfulSamplesRequired": 2
                            }
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "resourceState": "Enabled",
                        "routingRules": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                            "name": "routingRule1",
                            "properties": {
                              "acceptedProtocols": [
                                "Http"
                              ],
                              "backendPool": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                              },
                              "customForwardingPath": "",
                              "enabledState": "Enabled",
                              "forwardingProtocol": "MatchRequest",
                              "frontendEndpoints": [
                                {
                                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                                },
                                {
                                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                                }
                              ],
                              "patternsToMatch": [
                                "/*"
                              ]
                            }
                          }
                        ]
                      },
                      "tags": {
                        "tag1": "value1",
                        "tag2": "value2"
                      },
                      "type": "Microsoft.Network/frontDoor"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors": {
      "get": {
        "description": "Lists all of the Front Doors within a resource group under a subscription.",
        "operationId": "FrontDoors_ListByResourceGroup",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontDoorListResult"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "List Front Doors in a Resource Group": {
            "parameters": {
              "api-version": "2018-08-01",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                      "location": "westus",
                      "name": "frontDoor1",
                      "properties": {
                        "backendPools": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                            "name": "backendPool1",
                            "properties": {
                              "backends": [
                                {
                                  "address": "w3.contoso.com",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 2,
                                  "weight": 1
                                },
                                {
                                  "address": "contoso.com.website-us-west-2.othercloud.net",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 1,
                                  "weight": 2
                                },
                                {
                                  "address": "contoso1.azurewebsites.net",
                                  "enabledState": "Enabled",
                                  "httpPort": 80,
                                  "httpsPort": 443,
                                  "priority": 1,
                                  "weight": 1
                                }
                              ],
                              "healthProbeSettings": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                              },
                              "loadBalancingSettings": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                              }
                            }
                          }
                        ],
                        "cname": "frontDoor1.azurefd.net",
                        "enabledState": "Enabled",
                        "frontendEndpoints": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                            "name": "frontendEndpoint1",
                            "properties": {
                              "hostName": "www.contoso.com",
                              "sessionAffinityEnabledState": "Enabled",
                              "sessionAffinityTtlSeconds": 60,
                              "webApplicationFirewallPolicyLink": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                              }
                            }
                          },
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                            "name": "default",
                            "properties": {
                              "hostName": "frontDoor1.azurefd.net"
                            }
                          }
                        ],
                        "healthProbeSettings": [
                          {
                            "name": "healthProbeSettings1",
                            "properties": {
                              "intervalInSeconds": 120,
                              "path": "/",
                              "protocol": "Http"
                            }
                          }
                        ],
                        "loadBalancingSettings": [
                          {
                            "name": "loadBalancingSettings1",
                            "properties": {
                              "sampleSize": 4,
                              "successfulSamplesRequired": 2
                            }
                          }
                        ],
                        "provisioningState": "Succeeded",
                        "resourceState": "Enabled",
                        "routingRules": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                            "name": "routingRule1",
                            "properties": {
                              "acceptedProtocols": [
                                "Http"
                              ],
                              "backendPool": {
                                "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                              },
                              "customForwardingPath": "",
                              "enabledState": "Enabled",
                              "forwardingProtocol": "MatchRequest",
                              "frontendEndpoints": [
                                {
                                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                                },
                                {
                                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                                }
                              ],
                              "patternsToMatch": [
                                "/*"
                              ]
                            }
                          }
                        ]
                      },
                      "tags": {
                        "tag1": "value1",
                        "tag2": "value2"
                      },
                      "type": "Microsoft.Network/frontDoor"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}": {
      "delete": {
        "description": "Deletes an existing Front Door with the specified parameters.",
        "operationId": "FrontDoors_Delete",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
          },
          "204": {
            "description": "No Content. The request has been accepted but the Front Door was not found."
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "Delete Front Door": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets a Front Door with the specified Front Door name under the specified subscription and resource group.",
        "operationId": "FrontDoors_Get",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontDoor"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "Get Front Door": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                  "location": "westus",
                  "name": "frontDoor1",
                  "properties": {
                    "backendPools": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        "name": "backendPool1",
                        "properties": {
                          "backends": [
                            {
                              "address": "w3.contoso.com",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 2,
                              "weight": 1
                            },
                            {
                              "address": "contoso.com.website-us-west-2.othercloud.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 2
                            },
                            {
                              "address": "contoso1.azurewebsites.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 1
                            }
                          ],
                          "healthProbeSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                          },
                          "loadBalancingSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                          }
                        }
                      }
                    ],
                    "cname": "frontDoor1.azurefd.net",
                    "enabledState": "Enabled",
                    "frontendEndpoints": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                        "name": "frontendEndpoint1",
                        "properties": {
                          "hostName": "www.contoso.com",
                          "sessionAffinityEnabledState": "Enabled",
                          "sessionAffinityTtlSeconds": 60,
                          "webApplicationFirewallPolicyLink": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                          }
                        }
                      },
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                        "name": "default",
                        "properties": {
                          "hostName": "frontDoor1.azurefd.net"
                        }
                      }
                    ],
                    "healthProbeSettings": [
                      {
                        "name": "healthProbeSettings1",
                        "properties": {
                          "intervalInSeconds": 120,
                          "path": "/",
                          "protocol": "Http"
                        }
                      }
                    ],
                    "loadBalancingSettings": [
                      {
                        "name": "loadBalancingSettings1",
                        "properties": {
                          "sampleSize": 4,
                          "successfulSamplesRequired": 2
                        }
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "resourceState": "Enabled",
                    "routingRules": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                        "name": "routingRule1",
                        "properties": {
                          "acceptedProtocols": [
                            "Http"
                          ],
                          "backendPool": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                          },
                          "customForwardingPath": "",
                          "enabledState": "Enabled",
                          "forwardingProtocol": "MatchRequest",
                          "frontendEndpoints": [
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                            },
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                            }
                          ],
                          "patternsToMatch": [
                            "/*"
                          ]
                        }
                      }
                    ]
                  },
                  "tags": {
                    "tag1": "value1",
                    "tag2": "value2"
                  },
                  "type": "Microsoft.Network/frontDoor"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a new Front Door with a Front Door name under the specified subscription and resource group.",
        "operationId": "FrontDoors_CreateOrUpdate",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "Front Door properties needed to create a new Front Door.",
            "in": "body",
            "name": "frontDoorParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FrontDoor"
            }
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontDoor"
            }
          },
          "201": {
            "description": "Created. The request has been fulfilled and a new Front Door has been created.",
            "schema": {
              "$ref": "#/definitions/FrontDoor"
            }
          },
          "202": {
            "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
            "schema": {
              "$ref": "#/definitions/FrontDoor"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "Create or update specific Front Door": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "frontDoorParameters": {
                "location": "westus",
                "properties": {
                  "backendPools": [
                    {
                      "name": "backendPool1",
                      "properties": {
                        "backends": [
                          {
                            "address": "w3.contoso.com",
                            "httpPort": 80,
                            "httpsPort": 443,
                            "priority": 2,
                            "weight": 1
                          },
                          {
                            "address": "contoso.com.website-us-west-2.othercloud.net",
                            "httpPort": 80,
                            "httpsPort": 443,
                            "priority": 1,
                            "weight": 2
                          },
                          {
                            "address": "contoso1.azurewebsites.net",
                            "httpPort": 80,
                            "httpsPort": 443,
                            "priority": 1,
                            "weight": 1
                          }
                        ],
                        "healthProbeSettings": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                        },
                        "loadBalancingSettings": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                        }
                      }
                    }
                  ],
                  "enabledState": "Enabled",
                  "frontendEndpoints": [
                    {
                      "name": "frontendEndpoint1",
                      "properties": {
                        "hostName": "www.contoso.com",
                        "sessionAffinityEnabledState": "Enabled",
                        "sessionAffinityTtlSeconds": 60,
                        "webApplicationFirewallPolicyLink": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                        }
                      }
                    },
                    {
                      "name": "default",
                      "properties": {
                        "hostName": "frontDoor1.azurefd.net"
                      }
                    }
                  ],
                  "healthProbeSettings": [
                    {
                      "name": "healthProbeSettings1",
                      "properties": {
                        "intervalInSeconds": 120,
                        "path": "/",
                        "protocol": "Http"
                      }
                    }
                  ],
                  "loadBalancingSettings": [
                    {
                      "name": "loadBalancingSettings1",
                      "properties": {
                        "sampleSize": 4,
                        "successfulSamplesRequired": 2
                      }
                    }
                  ],
                  "routingRules": [
                    {
                      "name": "routingRule1",
                      "properties": {
                        "acceptedProtocols": [
                          "Http"
                        ],
                        "backendPool": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                        },
                        "enabledState": "Enabled",
                        "frontendEndpoints": [
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                          },
                          {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                          }
                        ],
                        "patternsToMatch": [
                          "/*"
                        ]
                      }
                    }
                  ]
                },
                "tags": {
                  "tag1": "value1",
                  "tag2": "value2"
                }
              },
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                  "location": "westus",
                  "name": "frontDoor1",
                  "properties": {
                    "backendPools": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        "name": "backendPool1",
                        "properties": {
                          "backends": [
                            {
                              "address": "w3.contoso.com",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 2,
                              "weight": 1
                            },
                            {
                              "address": "contoso.com.website-us-west-2.othercloud.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 2
                            },
                            {
                              "address": "contoso1.azurewebsites.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 1
                            }
                          ],
                          "healthProbeSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                          },
                          "loadBalancingSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                          }
                        }
                      }
                    ],
                    "cname": "frontDoor1.azurefd.net",
                    "enabledState": "Enabled",
                    "frontendEndpoints": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                        "name": "frontendEndpoint1",
                        "properties": {
                          "hostName": "www.contoso.com",
                          "sessionAffinityEnabledState": "Enabled",
                          "sessionAffinityTtlSeconds": 60,
                          "webApplicationFirewallPolicyLink": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                          }
                        }
                      },
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                        "name": "default",
                        "properties": {
                          "hostName": "frontDoor1.azurefd.net"
                        }
                      }
                    ],
                    "healthProbeSettings": [
                      {
                        "name": "healthProbeSettings1",
                        "properties": {
                          "intervalInSeconds": 120,
                          "path": "/",
                          "protocol": "Http"
                        }
                      }
                    ],
                    "loadBalancingSettings": [
                      {
                        "name": "loadBalancingSettings1",
                        "properties": {
                          "sampleSize": 4,
                          "successfulSamplesRequired": 2
                        }
                      }
                    ],
                    "provisioningState": "Succeeded",
                    "resourceState": "Creating",
                    "routingRules": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                        "name": "routingRule1",
                        "properties": {
                          "acceptedProtocols": [
                            "Http"
                          ],
                          "backendPool": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                          },
                          "customForwardingPath": "",
                          "enabledState": "Enabled",
                          "forwardingProtocol": "MatchRequest",
                          "frontendEndpoints": [
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                            },
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                            }
                          ],
                          "patternsToMatch": [
                            "/*"
                          ]
                        }
                      }
                    ]
                  },
                  "tags": {
                    "tag1": "value1",
                    "tag2": "value2"
                  },
                  "type": "Microsoft.Network/frontDoor"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                  "location": "westus",
                  "name": "frontDoor1",
                  "properties": {
                    "backendPools": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        "name": "backendPool1",
                        "properties": {
                          "backends": [
                            {
                              "address": "w3.contoso.com",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 2,
                              "weight": 1
                            },
                            {
                              "address": "contoso.com.website-us-west-2.othercloud.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 2
                            },
                            {
                              "address": "contoso1.azurewebsites.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 1
                            }
                          ],
                          "healthProbeSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                          },
                          "loadBalancingSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                          }
                        }
                      }
                    ],
                    "cname": "frontDoor1.azurefd.net",
                    "enabledState": "Enabled",
                    "frontendEndpoints": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                        "name": "frontendEndpoint1",
                        "properties": {
                          "hostName": "www.contoso.com",
                          "sessionAffinityEnabledState": "Enabled",
                          "sessionAffinityTtlSeconds": 60,
                          "webApplicationFirewallPolicyLink": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                          }
                        }
                      },
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                        "name": "default",
                        "properties": {
                          "hostName": "frontDoor1.azurefd.net"
                        }
                      }
                    ],
                    "healthProbeSettings": [
                      {
                        "name": "healthProbeSettings1",
                        "properties": {
                          "intervalInSeconds": 120,
                          "path": "/",
                          "protocol": "Http"
                        }
                      }
                    ],
                    "loadBalancingSettings": [
                      {
                        "name": "loadBalancingSettings1",
                        "properties": {
                          "sampleSize": 4,
                          "successfulSamplesRequired": 2
                        }
                      }
                    ],
                    "provisioningState": "Provisioning",
                    "resourceState": "Creating",
                    "routingRules": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                        "name": "routingRule1",
                        "properties": {
                          "acceptedProtocols": [
                            "Http"
                          ],
                          "backendPool": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                          },
                          "customForwardingPath": "",
                          "enabledState": "Enabled",
                          "forwardingProtocol": "MatchRequest",
                          "frontendEndpoints": [
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                            },
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                            }
                          ],
                          "patternsToMatch": [
                            "/*"
                          ]
                        }
                      }
                    ]
                  },
                  "tags": {
                    "tag1": "value1",
                    "tag2": "value2"
                  },
                  "type": "Microsoft.Network/frontDoor"
                }
              },
              "202": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1",
                  "location": "westus",
                  "name": "frontDoor1",
                  "properties": {
                    "backendPools": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1",
                        "name": "backendPool1",
                        "properties": {
                          "backends": [
                            {
                              "address": "w3.contoso.com",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 2,
                              "weight": 1
                            },
                            {
                              "address": "contoso.com.website-us-west-2.othercloud.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 2
                            },
                            {
                              "address": "contoso1.azurewebsites.net",
                              "enabledState": "Enabled",
                              "httpPort": 80,
                              "httpsPort": 443,
                              "priority": 1,
                              "weight": 1
                            }
                          ],
                          "healthProbeSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/healthProbeSettings/healthProbeSettings1"
                          },
                          "loadBalancingSettings": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/loadBalancingSettings/loadBalancingSettings1"
                          }
                        }
                      }
                    ],
                    "cname": "frontDoor1.azurefd.net",
                    "enabledState": "Enabled",
                    "frontendEndpoints": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                        "name": "frontendEndpoint1",
                        "properties": {
                          "hostName": "www.contoso.com",
                          "sessionAffinityEnabledState": "Enabled",
                          "sessionAffinityTtlSeconds": 60,
                          "webApplicationFirewallPolicyLink": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                          }
                        }
                      },
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default",
                        "name": "default",
                        "properties": {
                          "hostName": "frontDoor1.azurefd.net"
                        }
                      }
                    ],
                    "healthProbeSettings": [
                      {
                        "name": "healthProbeSettings1",
                        "properties": {
                          "intervalInSeconds": 120,
                          "path": "/",
                          "protocol": "Http"
                        }
                      }
                    ],
                    "loadBalancingSettings": [
                      {
                        "name": "loadBalancingSettings1",
                        "properties": {
                          "sampleSize": 4,
                          "successfulSamplesRequired": 2
                        }
                      }
                    ],
                    "provisioningState": "Provisioning",
                    "resourceState": "Creating",
                    "routingRules": [
                      {
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/routingRules/routingRule1",
                        "name": "routingRule1",
                        "properties": {
                          "acceptedProtocols": [
                            "Http"
                          ],
                          "backendPool": {
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1"
                          },
                          "customForwardingPath": "",
                          "enabledState": "Enabled",
                          "forwardingProtocol": "MatchRequest",
                          "frontendEndpoints": [
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1"
                            },
                            {
                              "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/default"
                            }
                          ],
                          "patternsToMatch": [
                            "/*"
                          ]
                        }
                      }
                    ]
                  },
                  "tags": {
                    "tag1": "value1",
                    "tag2": "value2"
                  },
                  "type": "Microsoft.Network/frontDoor"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints": {
      "get": {
        "description": "Lists all of the frontend endpoints within a Front Door.",
        "operationId": "FrontendEndpoints_ListByFrontDoor",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontendEndpointsListResult"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "List Frontend endpoints in a Front Door": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                      "name": "frontendEndpoint1",
                      "properties": {
                        "hostName": "www.contoso.com",
                        "sessionAffinityEnabledState": "Enabled",
                        "sessionAffinityTtlSeconds": 60,
                        "webApplicationFirewallPolicyLink": {
                          "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}": {
      "get": {
        "description": "Gets a Frontend endpoint with the specified name within the specified Front Door.",
        "operationId": "FrontendEndpoints_Get",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "$ref": "#/parameters/frontendEndpointNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/FrontendEndpoint"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "Get Frontend Endpoint": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "frontendEndpointName": "frontendEndpoint1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/frontendEndpoints/frontendEndpoint1",
                  "name": "frontendEndpoint1",
                  "properties": {
                    "hostName": "www.contoso.com",
                    "sessionAffinityEnabledState": "Enabled",
                    "sessionAffinityTtlSeconds": 60,
                    "webApplicationFirewallPolicyLink": {
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies/policy1"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps": {
      "post": {
        "description": "Disables a frontendEndpoint for HTTPS traffic",
        "operationId": "FrontendEndpoints_DisableHttps",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "$ref": "#/parameters/frontendEndpointNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "FrontendEndpoints_DisableHttps": {
            "parameters": {
              "api-version": "2018-08-01",
              "frontDoorName": "frontDoor1",
              "frontendEndpointName": "frontendEndpoint1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {},
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps": {
      "post": {
        "description": "Enables a frontendEndpoint for HTTPS traffic",
        "operationId": "FrontendEndpoints_EnableHttps",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "$ref": "#/parameters/frontendEndpointNameParameter"
          },
          {
            "description": "The configuration specifying how to enable HTTPS",
            "in": "body",
            "name": "customHttpsConfiguration",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CustomHttpsConfiguration"
            }
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "FrontendEndpoints_EnableHttps": {
            "parameters": {
              "api-version": "2018-08-01",
              "customHttpsConfiguration": {
                "certificateSource": "AzureKeyVault",
                "keyVaultCertificateSourceParameters": {
                  "secretName": "secret1",
                  "secretVersion": "00000000-0000-0000-0000-000000000000",
                  "vault": {
                    "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.KeyVault/vaults/vault1"
                  }
                },
                "protocolType": "ServerNameIndication"
              },
              "frontDoorName": "frontDoor1",
              "frontendEndpointName": "frontendEndpoint1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {},
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge": {
      "post": {
        "description": "Removes a content from Front Door.",
        "operationId": "Endpoints_PurgeContent",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.",
            "in": "body",
            "name": "contentFilePaths",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PurgeParameters"
            }
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "Purge content from Front Door": {
            "parameters": {
              "api-version": "2018-08-01",
              "contentFilePaths": {
                "contentPaths": [
                  "/pictures.aspx",
                  "/pictures/*"
                ]
              },
              "frontDoorName": "frontDoor1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {},
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain": {
      "post": {
        "description": "Validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in DNS.",
        "operationId": "FrontDoors_ValidateCustomDomain",
        "parameters": [
          {
            "description": "The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "in": "path",
            "name": "subscriptionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/frontDoorNameParameter"
          },
          {
            "description": "Client API version.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "description": "Custom domain to be validated.",
            "in": "body",
            "name": "customDomainProperties",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ValidateCustomDomainInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/ValidateCustomDomainOutput"
            }
          },
          "default": {
            "description": "Front Door error response describing why the operation failed.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "tags": [
          "FrontDoors"
        ],
        "x-ms-examples": {
          "FrontDoor_ValidateCustomDomain": {
            "parameters": {
              "api-version": "2018-08-01",
              "customDomainProperties": {
                "hostName": "www.someDomain.com"
              },
              "frontDoorName": "frontDoor1",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "customDomainValidated": true,
                  "message": null,
                  "reason": null
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Backend": {
      "description": "Backend address of a frontDoor load balancer.",
      "properties": {
        "address": {
          "description": "Location of the backend (IP address or FQDN)",
          "type": "string"
        },
        "backendHostHeader": {
          "description": "The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host.",
          "type": "string"
        },
        "enabledState": {
          "description": "Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorEnabledState"
          }
        },
        "httpPort": {
          "description": "The HTTP TCP port number. Must be between 1 and 65535.",
          "exclusiveMaximum": false,
          "exclusiveMinimum": false,
          "maximum": 65535,
          "minimum": 1,
          "type": "integer"
        },
        "httpsPort": {
          "description": "The HTTPS TCP port number. Must be between 1 and 65535.",
          "exclusiveMaximum": false,
          "exclusiveMinimum": false,
          "maximum": 65535,
          "minimum": 1,
          "type": "integer"
        },
        "priority": {
          "description": "Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy.",
          "maximum": 5,
          "minimum": 1,
          "type": "integer"
        },
        "weight": {
          "description": "Weight of this endpoint for load balancing purposes.",
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "BackendPool": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "A backend pool is a collection of backends that can be routed to.",
      "properties": {
        "name": {
          "description": "Resource name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/BackendPoolProperties",
          "description": "Properties of the Front Door Backend Pool",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "BackendPoolListResult": {
      "description": "Result of the request to list Backend Pools. It contains a list of Backend Pools objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of BackendPool objects if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of Backend Pools within a Front Door.",
          "items": {
            "$ref": "#/definitions/BackendPool"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "BackendPoolProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/BackendPoolUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create a routing rule.",
      "properties": {
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status."
        }
      }
    },
    "BackendPoolUpdateParameters": {
      "description": "A collection of backends that can be routed to.",
      "properties": {
        "backends": {
          "description": "The set of backends for this pool",
          "items": {
            "$ref": "#/definitions/Backend"
          },
          "type": "array"
        },
        "healthProbeSettings": {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        },
        "loadBalancingSettings": {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      },
      "type": "object"
    },
    "CacheConfiguration": {
      "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.",
      "properties": {
        "dynamicCompression": {
          "description": "Whether to use dynamic compression for cached content",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "DynamicCompressionEnabled"
          }
        },
        "queryParameterStripDirective": {
          "description": "Treatment of URL query terms when forming the cache key.",
          "enum": [
            "StripNone",
            "StripAll"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorQuery"
          }
        }
      },
      "type": "object"
    },
    "CheckNameAvailabilityInput": {
      "description": "Input of CheckNameAvailability API.",
      "properties": {
        "name": {
          "description": "The resource name to validate.",
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/ResourceType",
          "description": "The type of the resource whose name is to be validated."
        }
      },
      "required": [
        "name",
        "type"
      ],
      "type": "object"
    },
    "CheckNameAvailabilityOutput": {
      "description": "Output of check name availability API.",
      "properties": {
        "message": {
          "description": "The detailed error message describing why the name is not available.",
          "readOnly": true,
          "type": "string"
        },
        "nameAvailability": {
          "description": "Indicates whether the name is available.",
          "enum": [
            "Available",
            "Unavailable"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "Availability"
          }
        },
        "reason": {
          "description": "The reason why the name is not available.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "CustomHttpsConfiguration": {
      "description": "Https settings for a domain",
      "properties": {
        "certificateSource": {
          "description": "Defines the source of the SSL certificate",
          "enum": [
            "AzureKeyVault",
            "FrontDoor"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorCertificateSource"
          }
        },
        "frontDoorCertificateSourceParameters": {
          "$ref": "#/definitions/FrontDoorCertificateSourceParameters",
          "description": "Parameters required for enabling SSL with Front Door-managed certificates (if certificateSource=FrontDoor)",
          "x-ms-client-flatten": true
        },
        "keyVaultCertificateSourceParameters": {
          "$ref": "#/definitions/KeyVaultCertificateSourceParameters",
          "description": "KeyVault certificate source parameters (if certificateSource=AzureKeyVault)",
          "x-ms-client-flatten": true
        },
        "protocolType": {
          "description": "Defines the TLS extension protocol that is used for secure delivery",
          "enum": [
            "ServerNameIndication"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorTlsProtocolType"
          }
        }
      },
      "type": "object"
    },
    "ErrorResponse": {
      "description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.",
      "properties": {
        "code": {
          "description": "Error code.",
          "readOnly": true,
          "type": "string"
        },
        "message": {
          "description": "Error message indicating why the operation failed.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "FrontDoor": {
      "allOf": [
        {
          "description": "Common resource representation.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "readOnly": true,
              "type": "string"
            },
            "location": {
              "description": "Resource location.",
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Front Door represents a collection of backend endpoints to route traffic to along with rules that specify how traffic is sent there.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/FrontDoorProperties",
          "description": "Properties of the Front Door Load Balancer",
          "x-ms-client-flatten": true
        }
      }
    },
    "FrontDoorCertificateSourceParameters": {
      "description": "Parameters required for enabling SSL with Front Door-managed certificates",
      "properties": {
        "certificateType": {
          "description": "Defines the type of the certificate used for secure connections to a frontendEndpoint",
          "enum": [
            "Dedicated"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorCertificateType"
          }
        }
      },
      "type": "object"
    },
    "FrontDoorListResult": {
      "description": "Result of the request to list Front Doors. It contains a list of Front Door objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of Front Door objects if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of Front Doors within a resource group.",
          "items": {
            "$ref": "#/definitions/FrontDoor"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "FrontDoorProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/FrontDoorUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create an endpoint.",
      "properties": {
        "cname": {
          "description": "The host that each frontendEndpoint must CNAME to.",
          "readOnly": true,
          "type": "string"
        },
        "provisioningState": {
          "description": "Provisioning state of the Front Door.",
          "readOnly": true,
          "type": "string"
        },
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status of the Front Door."
        }
      }
    },
    "FrontDoorUpdateParameters": {
      "description": "The properties needed to update a Front Door",
      "properties": {
        "backendPools": {
          "description": "Backend pools available to routing rules.",
          "items": {
            "$ref": "#/definitions/BackendPool",
            "description": "A backend pool"
          },
          "type": "array"
        },
        "enabledState": {
          "description": "Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorEnabledState"
          }
        },
        "friendlyName": {
          "description": "A friendly name for the frontDoor",
          "type": "string"
        },
        "frontendEndpoints": {
          "description": "Frontend endpoints available to routing rules.",
          "items": {
            "$ref": "#/definitions/FrontendEndpoint",
            "description": "A frontend endpoint"
          },
          "type": "array"
        },
        "healthProbeSettings": {
          "description": "Health probe settings associated with this Front Door instance.",
          "items": {
            "$ref": "#/definitions/HealthProbeSettingsModel",
            "description": "A health probe settings"
          },
          "type": "array"
        },
        "loadBalancingSettings": {
          "description": "Load balancing settings associated with this Front Door instance.",
          "items": {
            "$ref": "#/definitions/LoadBalancingSettingsModel",
            "description": "A load balancing settings"
          },
          "type": "array"
        },
        "routingRules": {
          "description": "Routing rules associated with this Front Door.",
          "items": {
            "$ref": "#/definitions/RoutingRule",
            "description": "A routing rule"
          },
          "type": "array"
        }
      }
    },
    "FrontendEndpoint": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "A frontend endpoint used for routing.",
      "properties": {
        "name": {
          "description": "Resource name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/FrontendEndpointProperties",
          "description": "Properties of the Frontend endpoint",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "FrontendEndpointProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/FrontendEndpointUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create a frontend endpoint.",
      "properties": {
        "customHttpsConfiguration": {
          "$ref": "#/definitions/CustomHttpsConfiguration",
          "description": "The configuration specifying how to enable HTTPS",
          "readOnly": true
        },
        "customHttpsProvisioningState": {
          "description": "Provisioning status of Custom Https of the frontendEndpoint.",
          "enum": [
            "Enabling",
            "Enabled",
            "Disabling",
            "Disabled",
            "Failed"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CustomHttpsProvisioningState"
          }
        },
        "customHttpsProvisioningSubstate": {
          "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.",
          "enum": [
            "SubmittingDomainControlValidationRequest",
            "PendingDomainControlValidationREquestApproval",
            "DomainControlValidationRequestApproved",
            "DomainControlValidationRequestRejected",
            "DomainControlValidationRequestTimedOut",
            "IssuingCertificate",
            "DeployingCertificate",
            "CertificateDeployed",
            "DeletingCertificate",
            "CertificateDeleted"
          ],
          "readOnly": true,
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CustomHttpsProvisioningSubstate"
          }
        },
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status."
        }
      }
    },
    "FrontendEndpointUpdateParameters": {
      "description": "Frontend endpoint used in routing rule",
      "properties": {
        "hostName": {
          "description": "The host name of the frontendEndpoint. Must be a domain name.",
          "type": "string"
        },
        "sessionAffinityEnabledState": {
          "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SessionAffinityEnabledState"
          }
        },
        "sessionAffinityTtlSeconds": {
          "description": "UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable.",
          "type": "integer"
        },
        "webApplicationFirewallPolicyLink": {
          "description": "Defines the Web Application Firewall policy for each host (if applicable)",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "FrontendEndpointsListResult": {
      "description": "Result of the request to list frontend endpoints. It contains a list of Frontend endpoint objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of frontend endpoints if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of Frontend endpoints within a Front Door.",
          "items": {
            "$ref": "#/definitions/FrontendEndpoint"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "HealthProbeSettingsListResult": {
      "description": "Result of the request to list HealthProbeSettings. It contains a list of HealthProbeSettings objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of HealthProbeSettings objects if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of HealthProbeSettings within a Front Door.",
          "items": {
            "$ref": "#/definitions/HealthProbeSettingsModel"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "HealthProbeSettingsModel": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Load balancing settings for a backend pool",
      "properties": {
        "name": {
          "description": "Resource name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/HealthProbeSettingsProperties",
          "description": "Properties of the health probe settings",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "HealthProbeSettingsProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/HealthProbeSettingsUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create a health probe settings.",
      "properties": {
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status."
        }
      }
    },
    "HealthProbeSettingsUpdateParameters": {
      "description": "L7 health probe settings for a backend pool",
      "properties": {
        "intervalInSeconds": {
          "description": "The number of seconds between health probes.",
          "type": "integer"
        },
        "path": {
          "description": "The path to use for the health probe. Default is /",
          "type": "string"
        },
        "protocol": {
          "description": "Protocol scheme to use for this probe",
          "enum": [
            "Http",
            "Https"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorProtocol"
          }
        }
      },
      "type": "object"
    },
    "KeyVaultCertificateSourceParameters": {
      "description": "Parameters required for bring-your-own-certification via Key Vault",
      "properties": {
        "secretName": {
          "description": "The name of the Key Vault secret representing the full certificate PFX",
          "type": "string"
        },
        "secretVersion": {
          "description": "The version of the Key Vault secret representing the full certificate PFX",
          "type": "string"
        },
        "vault": {
          "description": "The Key Vault containing the SSL certificate",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "LoadBalancingSettingsListResult": {
      "description": "Result of the request to list load balancing settings. It contains a list of load balancing settings objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of LoadBalancingSettings objects if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of Backend Pools within a Front Door.",
          "items": {
            "$ref": "#/definitions/LoadBalancingSettingsModel"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "LoadBalancingSettingsModel": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Load balancing settings for a backend pool",
      "properties": {
        "name": {
          "description": "Resource name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/LoadBalancingSettingsProperties",
          "description": "Properties of the load balancing settings",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "LoadBalancingSettingsProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/LoadBalancingSettingsUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create load balancing settings",
      "properties": {
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status."
        }
      }
    },
    "LoadBalancingSettingsUpdateParameters": {
      "description": "Round-Robin load balancing settings for a backend pool",
      "properties": {
        "additionalLatencyMilliseconds": {
          "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket",
          "type": "integer"
        },
        "sampleSize": {
          "description": "The number of samples to consider for load balancing decisions",
          "type": "integer"
        },
        "successfulSamplesRequired": {
          "description": "The number of samples within the sample period that must succeed",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PurgeParameters": {
      "description": "Parameters required for content purge.",
      "properties": {
        "contentPaths": {
          "description": "The path to the content to be purged. Can describe a file path or a wild card directory.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "required": [
        "contentPaths"
      ],
      "type": "object"
    },
    "ResourceState": {
      "enum": [
        "Creating",
        "Enabling",
        "Enabled",
        "Disabling",
        "Disabled",
        "Deleting"
      ],
      "readOnly": true,
      "title": "Resource status of the Front Door or Front Door SubResource.",
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "FrontDoorResourceState"
      }
    },
    "ResourceType": {
      "description": "Type of Front Door resource used in CheckNameAvailability.",
      "enum": [
        "Microsoft.Network/frontDoors",
        "Microsoft.Network/frontDoors/frontendEndpoints"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "ResourceType"
      }
    },
    "RoutingRule": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "A routing rule represents a specification for traffic to treat and where to send it, along with health probe information.",
      "properties": {
        "name": {
          "description": "Resource name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RoutingRuleProperties",
          "description": "Properties of the Front Door Routing Rule",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "RoutingRuleListResult": {
      "description": "Result of the request to list Routing Rules. It contains a list of Routing Rule objects and a URL link to get the next set of results.",
      "properties": {
        "nextLink": {
          "description": "URL to get the next set of RoutingRule objects if there are any.",
          "type": "string"
        },
        "value": {
          "description": "List of Routing Rules within a Front Door.",
          "items": {
            "$ref": "#/definitions/RoutingRule"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "RoutingRuleProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/RoutingRuleUpdateParameters"
        }
      ],
      "description": "The JSON object that contains the properties required to create a routing rule.",
      "properties": {
        "resourceState": {
          "$ref": "#/definitions/ResourceState",
          "description": "Resource status."
        }
      }
    },
    "RoutingRuleUpdateParameters": {
      "description": "Routing rules to apply to an endpoint",
      "properties": {
        "acceptedProtocols": {
          "description": "Protocol schemes to match for this rule",
          "items": {
            "description": "Accepted protocol schemes.",
            "enum": [
              "Http",
              "Https"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "FrontDoorProtocol"
            }
          },
          "type": "array"
        },
        "backendPool": {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        },
        "cacheConfiguration": {
          "$ref": "#/definitions/CacheConfiguration",
          "description": "The caching configuration associated with this rule."
        },
        "customForwardingPath": {
          "description": "A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path.",
          "type": "string"
        },
        "enabledState": {
          "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'",
          "enum": [
            "Enabled",
            "Disabled"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorEnabledState"
          }
        },
        "forwardingProtocol": {
          "description": "Protocol this rule will use when forwarding traffic to backends.",
          "enum": [
            "HttpOnly",
            "HttpsOnly",
            "MatchRequest"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "FrontDoorForwardingProtocol"
          }
        },
        "frontendEndpoints": {
          "description": "Frontend endpoints associated with this rule",
          "items": {
            "description": "Reference to another subresource.",
            "properties": {
              "id": {
                "description": "Resource ID.",
                "type": "string"
              }
            },
            "x-ms-azure-resource": true
          },
          "type": "array"
        },
        "patternsToMatch": {
          "description": "The route patterns of the rule.",
          "items": {
            "description": "A route pattern of the rule. Must not have any * except possibly after the final / at the end of the path.",
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ValidateCustomDomainInput": {
      "description": "Input of the custom domain to be validated for DNS mapping.",
      "properties": {
        "hostName": {
          "description": "The host name of the custom domain. Must be a domain name.",
          "type": "string"
        }
      },
      "required": [
        "hostName"
      ],
      "type": "object"
    },
    "ValidateCustomDomainOutput": {
      "description": "Output of custom domain validation.",
      "properties": {
        "customDomainValidated": {
          "description": "Indicates whether the custom domain is valid or not.",
          "readOnly": true,
          "type": "boolean"
        },
        "message": {
          "description": "Error message describing why the custom domain is not valid.",
          "readOnly": true,
          "type": "string"
        },
        "reason": {
          "description": "The reason why the custom domain is not valid.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}