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: 2019-05-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/stable/2019-05-01/frontdoor.json
      version: "2.0"
  x-preferred: true
  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: 2019-05-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: 2019-05-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: 2019-05-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
                      backendPoolsSettings:
                        enforceCertificateNameCheck: Enabled
                      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:
                            enabledState: Enabled
                            healthProbeMethod: HEAD
                            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
                            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:
                              - /*
                            routeConfiguration:
                              "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                              backendPool:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                              customForwardingPath: ""
                              forwardingProtocol: MatchRequest
                    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: 2019-05-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
                      backendPoolsSettings:
                        enforceCertificateNameCheck: Enabled
                        sendRecvTimeoutSeconds: 60
                      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:
                            enabledState: Enabled
                            healthProbeMethod: HEAD
                            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
                            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:
                              - /*
                            routeConfiguration:
                              "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                              backendPool:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                              customForwardingPath: ""
                              forwardingProtocol: MatchRequest
                    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: 2019-05-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: 2019-05-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
                  backendPoolsSettings:
                    enforceCertificateNameCheck: Enabled
                    sendRecvTimeoutSeconds: 60
                  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:
                        enabledState: Enabled
                        healthProbeMethod: HEAD
                        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
                        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:
                          - /*
                        routeConfiguration:
                          "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                          backendPool:
                            id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                          customForwardingPath: ""
                          forwardingProtocol: MatchRequest
                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: 2019-05-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
                backendPoolsSettings:
                  enforceCertificateNameCheck: Enabled
                  sendRecvTimeoutSeconds: 60
                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:
                      enabledState: Enabled
                      healthProbeMethod: HEAD
                      intervalInSeconds: 120
                      path: /
                      protocol: Http
                loadBalancingSettings:
                  - name: loadBalancingSettings1
                    properties:
                      sampleSize: 4
                      successfulSamplesRequired: 2
                routingRules:
                  - name: routingRule1
                    properties:
                      acceptedProtocols:
                        - Http
                      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:
                        - /*
                      routeConfiguration:
                        "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                        backendPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
              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
                  backendPoolsSettings:
                    enforceCertificateNameCheck: Enabled
                    sendRecvTimeoutSeconds: 60
                  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:
                        enabledState: Enabled
                        healthProbeMethod: HEAD
                        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
                        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:
                          - /*
                        routeConfiguration:
                          "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                          backendPool:
                            id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                          customForwardingPath: ""
                          forwardingProtocol: MatchRequest
                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
                  backendPoolsSettings:
                    enforceCertificateNameCheck: Enabled
                    sendRecvTimeoutSeconds: 60
                  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:
                        enabledState: Enabled
                        healthProbeMethod: HEAD
                        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
                        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:
                          - /*
                        routeConfiguration:
                          "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                          backendPool:
                            id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                          customForwardingPath: ""
                          forwardingProtocol: MatchRequest
                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
                  backendPoolsSettings:
                    enforceCertificateNameCheck: Enabled
                    sendRecvTimeoutSeconds: 60
                  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:
                        enabledState: Enabled
                        healthProbeMethod: HEAD
                        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
                        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:
                          - /*
                        routeConfiguration:
                          "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
                          backendPool:
                            id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontDoors/frontDoor1/backendPools/backendPool1
                          customForwardingPath: ""
                          forwardingProtocol: MatchRequest
                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: 2019-05-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: 2019-05-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: 2019-05-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: 2019-05-01
            customHttpsConfiguration:
              certificateSource: AzureKeyVault
              keyVaultCertificateSourceParameters:
                secretName: secret1
                secretVersion: 00000000-0000-0000-0000-000000000000
                vault:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.KeyVault/vaults/vault1
              minimumTlsVersion: "1.0"
              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: 2019-05-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: 2019-05-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: backendEnabledState
      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
  BackendPoolsSettings:
    description: Settings that apply to all backend pools.
    properties:
      enforceCertificateNameCheck:
        default: Enabled
        description: Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests.
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: enforceCertificateNameCheckEnabledState
      sendRecvTimeoutSeconds:
        description: Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns.
        exclusiveMinimum: false
        minimum: 16
        type: integer
    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
      minimumTlsVersion:
        description: The minimum TLS version required from the clients to establish an SSL handshake with Front Door.
        enum:
          - "1.0"
          - "1.2"
        type: string
        x-ms-enum:
          modelAsString: true
          name: MinimumTLSVersion
      protocolType:
        description: Defines the TLS extension protocol that is used for secure delivery
        enum:
          - ServerNameIndication
        type: string
        x-ms-enum:
          modelAsString: true
          name: FrontDoorTlsProtocolType
    required:
      - minimumTlsVersion
      - certificateSource
      - protocolType
    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
  ForwardingConfiguration:
    allOf:
      - $ref: "#/definitions/RouteConfiguration"
    description: Describes Forwarding Route.
    properties:
      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
      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
    x-ms-discriminator-value: "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
  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
      backendPoolsSettings:
        $ref: "#/definitions/BackendPoolsSettings"
        description: Settings for all backendPools
      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:
      enabledState:
        description: Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: HealthProbeEnabled
      healthProbeMethod:
        default: HEAD
        description: Configures which HTTP method to use to probe the backends defined under backendPools.
        enum:
          - GET
          - HEAD
        type: string
        x-ms-enum:
          modelAsString: true
          name: FrontDoorHealthProbeMethod
      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
  RedirectConfiguration:
    allOf:
      - $ref: "#/definitions/RouteConfiguration"
    description: Describes Redirect Route.
    properties:
      customFragment:
        description: "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."
        type: string
      customHost:
        description: Host to redirect. Leave empty to use the incoming host as the destination host.
        type: string
      customPath:
        description: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
        type: string
      customQueryString:
        description: The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in <key>=<value> format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &.
        type: string
      redirectProtocol:
        description: The protocol of the destination to where the traffic is redirected
        enum:
          - HttpOnly
          - HttpsOnly
          - MatchRequest
        type: string
        x-ms-enum:
          modelAsString: true
          name: FrontDoorRedirectProtocol
      redirectType:
        description: The redirect type the rule will use when redirecting traffic.
        enum:
          - Moved
          - Found
          - TemporaryRedirect
          - PermanentRedirect
        type: string
        x-ms-enum:
          modelAsString: true
          name: FrontDoorRedirectType
    x-ms-discriminator-value: "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"
  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
  RouteConfiguration:
    description: Base class for all types of Route.
    discriminator: "@odata.type"
    properties:
      "@odata.type":
        type: string
    required:
      - "@odata.type"
  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
      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: routingRuleEnabledState
      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
      routeConfiguration:
        $ref: "#/definitions/RouteConfiguration"
        description: A reference to the routing configuration.
    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
