swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.
  title: NetworkManagementClient
  version: 2019-07-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/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationGateway.json
      version: "2.0"
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2019-07-01/applicationGateway.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-applicationGateway
  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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders":
    get:
      description: Lists all available request headers.
      operationId: ApplicationGateways_ListAvailableRequestHeaders
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of all available request headers.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableRequestHeadersResult"
        default:
          description: Unexpected error.
          schema:
            $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1providers~1Microsoft.Network~1applicationGatewayAvailableServerVariables/get/responses/default/schema"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Request Headers:
          parameters:
            api-version: 2019-07-01
            subscriptionId: 72f988bf-86f1-41af-91ab-2d7cd0dddd4
          responses:
            "200":
              body:
                - Accept-Charset
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders":
    get:
      description: Lists all available response headers.
      operationId: ApplicationGateways_ListAvailableResponseHeaders
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of all available response headers.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableResponseHeadersResult"
        default:
          description: Unexpected error.
          schema:
            $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1providers~1Microsoft.Network~1applicationGatewayAvailableServerVariables/get/responses/default/schema"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Response Headers:
          parameters:
            api-version: 2019-07-01
            subscriptionId: 72f988bf-86f1-41af-91ab-2d7cd0dddd4
          responses:
            "200":
              body:
                - Access-Control-Allow-Origin
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables":
    get:
      description: Lists all available server variables.
      operationId: ApplicationGateways_ListAvailableServerVariables
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of all available server variables.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableServerVariablesResult"
        default:
          description: Unexpected error.
          schema:
            description: Common error representation.
            properties:
              code:
                description: Error code.
                type: string
              details:
                description: Error details.
                items:
                  description: Common error details representation.
                  properties:
                    code:
                      description: Error code.
                      type: string
                    message:
                      description: Error message.
                      type: string
                    target:
                      description: Error target.
                      type: string
                type: array
              innerError:
                description: Inner error message.
                type: string
              message:
                description: Error message.
                type: string
              target:
                description: Error target.
                type: string
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Server Variables:
          parameters:
            api-version: 2019-07-01
            subscriptionId: 72f988bf-86f1-41af-91ab-2d7cd0dddd4
          responses:
            "200":
              body:
                - request_query
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default":
    get:
      description: Lists available Ssl options for configuring Ssl policy.
      operationId: ApplicationGateways_ListAvailableSslOptions
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns all available Ssl options for configuring Ssl policy.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableSslOptions"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Ssl Options:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default
                name: default
                properties:
                  availableCipherSuites:
                    - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
                    - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
                    - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
                    - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
                    - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                    - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                    - TLS_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_RSA_WITH_AES_256_CBC_SHA256
                    - TLS_RSA_WITH_AES_128_CBC_SHA256
                    - TLS_RSA_WITH_AES_256_CBC_SHA
                    - TLS_RSA_WITH_AES_128_CBC_SHA
                    - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
                    - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
                    - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
                    - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
                    - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
                    - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
                    - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
                    - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
                    - TLS_DHE_DSS_WITH_AES_256_CBC_SHA
                    - TLS_DHE_DSS_WITH_AES_128_CBC_SHA
                    - TLS_RSA_WITH_3DES_EDE_CBC_SHA
                    - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
                  availableProtocols:
                    - TLSv1_0
                    - TLSv1_1
                    - TLSv1_2
                  defaultPolicy: AppGwSslPolicy20150501
                  predefinedPolicies:
                    - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501
                    - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401
                    - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S
                type: Microsoft.Network/ApplicationGatewayAvailableSslOptions
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies":
    get:
      description: Lists all SSL predefined policies for configuring Ssl policy.
      operationId: ApplicationGateways_ListAvailableSslPredefinedPolicies
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a lists of all Ssl predefined policies for configuring Ssl policy.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableSslPredefinedPolicies"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Ssl Predefined Policies:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501
                    name: AppGwSslPolicy20150501
                    properties:
                      cipherSuites:
                        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
                        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
                        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
                        - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                        - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                        - TLS_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA256
                        - TLS_RSA_WITH_AES_128_CBC_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA
                        - TLS_RSA_WITH_AES_128_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
                        - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
                        - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
                        - TLS_DHE_DSS_WITH_AES_256_CBC_SHA
                        - TLS_DHE_DSS_WITH_AES_128_CBC_SHA
                        - TLS_RSA_WITH_3DES_EDE_CBC_SHA
                        - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
                      minProtocolVersion: TLSv1_0
                  - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401
                    name: AppGwSslPolicy20170401
                    properties:
                      cipherSuites:
                        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
                        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
                        - TLS_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA256
                        - TLS_RSA_WITH_AES_128_CBC_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA
                        - TLS_RSA_WITH_AES_128_CBC_SHA
                      minProtocolVersion: TLSv1_1
                  - id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S
                    name: AppGwSslPolicy20170401S
                    properties:
                      cipherSuites:
                        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
                        - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
                        - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
                        - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
                        - TLS_RSA_WITH_AES_256_GCM_SHA384
                        - TLS_RSA_WITH_AES_128_GCM_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA256
                        - TLS_RSA_WITH_AES_128_CBC_SHA256
                        - TLS_RSA_WITH_AES_256_CBC_SHA
                        - TLS_RSA_WITH_AES_128_CBC_SHA
                      minProtocolVersion: TLSv1_2
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}":
    get:
      description: Gets Ssl predefined policy with the specified policy name.
      operationId: ApplicationGateways_GetSslPredefinedPolicy
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
        - description: Name of Ssl predefined policy.
          in: path
          name: predefinedPolicyName
          required: true
          type: string
      responses:
        "200":
          description: Success. The operation returns a Ssl predefined policy with the specified policy name.
          schema:
            $ref: "#/definitions/ApplicationGatewaySslPredefinedPolicy"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Ssl Predefined Policy by name:
          parameters:
            api-version: 2019-07-01
            predefinedPolicyName: AppGwSslPolicy20150501
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/ApplicationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501
                name: AppGwSslPolicy20150501
                properties:
                  cipherSuites:
                    - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
                    - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
                    - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
                    - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
                    - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                    - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                    - TLS_RSA_WITH_AES_256_GCM_SHA384
                    - TLS_RSA_WITH_AES_128_GCM_SHA256
                    - TLS_RSA_WITH_AES_256_CBC_SHA256
                    - TLS_RSA_WITH_AES_128_CBC_SHA256
                    - TLS_RSA_WITH_AES_256_CBC_SHA
                    - TLS_RSA_WITH_AES_128_CBC_SHA
                    - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
                    - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
                    - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
                    - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
                    - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
                    - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
                    - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
                    - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
                    - TLS_DHE_DSS_WITH_AES_256_CBC_SHA
                    - TLS_DHE_DSS_WITH_AES_128_CBC_SHA
                    - TLS_RSA_WITH_3DES_EDE_CBC_SHA
                    - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
                  minProtocolVersion: TLSv1_0
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets":
    get:
      description: Lists all available web application firewall rule sets.
      operationId: ApplicationGateways_ListAvailableWafRuleSets
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of all available web application firewall rule sets.
          schema:
            $ref: "#/definitions/ApplicationGatewayAvailableWafRuleSetsResult"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Available Waf Rule Sets:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions//resourceGroups//providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets/
                    name: OWASP_3.0
                    properties:
                      provisioningState: Succeeded
                      ruleGroups:
                        - description: ""
                          ruleGroupName: General
                          rules:
                            - description: Possible Multipart Unmatched Boundary.
                              ruleId: 200004
                      ruleSetType: OWASP
                      ruleSetVersion: "3.0"
                    type: Microsoft.Network/applicationGatewayAvailableWafRuleSets
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways":
    get:
      description: Gets all the application gateways in a subscription.
      operationId: ApplicationGateways_ListAll
      parameters:
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of ApplicationGateway resources.
          schema:
            $ref: "#/definitions/ApplicationGatewayListResult"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Lists all application gateways in a subscription:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - location: southcentralus
                    name: appgw
                    properties:
                      backendAddressPools:
                        - name: appgwpool
                          properties:
                            backendAddresses:
                              - ipAddress: 10.0.1.1
                              - ipAddress: 10.0.1.2
                      backendHttpSettingsCollection:
                        - name: appgwbhs
                          properties:
                            cookieBasedAffinity: Disabled
                            port: 80
                            protocol: Http
                            requestTimeout: 30
                      frontendIPConfigurations:
                        - name: appgwfip
                          properties:
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                      frontendPorts:
                        - name: appgwfp
                          properties:
                            port: 443
                      gatewayIPConfigurations:
                        - name: appgwipc
                          properties:
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet
                      httpListeners:
                        - name: appgwhl
                          properties:
                            frontendIPConfiguration:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                            frontendPort:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                            protocol: Https
                            requireServerNameIndication: false
                            sslCertificate:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                      requestRoutingRules:
                        - name: appgwrule
                          properties:
                            backendAddressPool:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                            backendHttpSettings:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                            httpListener:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                            ruleType: Basic
                      sku:
                        capacity: 3
                        name: Standard_Medium
                        tier: Standard
                      sslCertificates:
                        - name: sslcert
                          properties:
                            data: base64-pfxData
                            password: pass1
                    type: Microsoft.Network/applicationGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways":
    get:
      description: Lists all application gateways in a resource group.
      operationId: ApplicationGateways_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Success. The operation returns a list of ApplicationGateway resources.
          schema:
            $ref: "#/definitions/ApplicationGatewayListResult"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Lists all application gateways in a resource group:
          parameters:
            api-version: 2019-07-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - location: southcentralus
                    name: appgw
                    properties:
                      backendAddressPools:
                        - name: appgwpool
                          properties:
                            backendAddresses:
                              - ipAddress: 10.0.1.1
                              - ipAddress: 10.0.1.2
                      backendHttpSettingsCollection:
                        - name: appgwbhs
                          properties:
                            cookieBasedAffinity: Disabled
                            port: 80
                            protocol: Http
                            requestTimeout: 30
                      frontendIPConfigurations:
                        - name: appgwfip
                          properties:
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                      frontendPorts:
                        - name: appgwfp
                          properties:
                            port: 443
                      gatewayIPConfigurations:
                        - name: appgwipc
                          properties:
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet
                      httpListeners:
                        - name: appgwhl
                          properties:
                            frontendIPConfiguration:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                            frontendPort:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                            protocol: Https
                            requireServerNameIndication: false
                            sslCertificate:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                      requestRoutingRules:
                        - name: appgwrule
                          properties:
                            backendAddressPool:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                            backendHttpSettings:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                            httpListener:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                            ruleType: Basic
                      sku:
                        capacity: 3
                        name: Standard_Medium
                        tier: Standard
                      sslCertificates:
                        - name: sslcert
                          properties:
                            data: base64-pfxData
                            password: pass1
                    type: Microsoft.Network/applicationGateways
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}":
    delete:
      description: Deletes the specified application gateway.
      operationId: ApplicationGateways_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource with the specified name does not exist.
      tags:
        - ApplicationGateways
      x-ms-examples:
        Delete ApplicationGateway:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified application gateway.
      operationId: ApplicationGateways_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Request successful. The operation returns an ApplicationGateway resource.
          schema:
            $ref: "#/definitions/ApplicationGateway"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get ApplicationGateway:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw
                location: southcentralus
                name: appgw
                properties:
                  authenticationCertificates: []
                  backendAddressPools:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                      name: appgwpool
                      properties:
                        backendAddresses: []
                        provisioningState: Succeeded
                  backendHttpSettingsCollection:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                      name: appgwbhs
                      properties:
                        cookieBasedAffinity: Disabled
                        port: 80
                        protocol: Http
                        provisioningState: Succeeded
                        requestTimeout: 30
                  frontendIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                      name: appgwfip
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                  frontendPorts:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                      name: appgwfp
                      properties:
                        port: 443
                        provisioningState: Succeeded
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                      name: appgwfp80
                      properties:
                        port: 80
                        provisioningState: Succeeded
                  gatewayIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc
                      name: appgwipc
                      properties:
                        provisioningState: Succeeded
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet
                  httpListeners:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                      name: appgwhl
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                        protocol: Https
                        provisioningState: Succeeded
                        requireServerNameIndication: false
                        sslCertificate:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                      name: appgwhttplistener
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                        protocol: Http
                        provisioningState: Succeeded
                  operationalState: Running
                  probes: []
                  provisioningState: Succeeded
                  requestRoutingRules:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule
                      name: appgwrule
                      properties:
                        backendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                        priority: 10
                        provisioningState: Succeeded
                        rewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        ruleType: Basic
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule
                      name: appgwPathBasedRule
                      properties:
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                        priority: 20
                        provisioningState: Succeeded
                        ruleType: PathBasedRouting
                        urlPathMap:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                  rewriteRuleSets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                      name: rewriteRuleSet1
                      properties:
                        provisioningState: Succeeded
                        rewriteRules:
                          - actionSet:
                              requestHeaderConfigurations:
                                - headerName: X-Forwarded-For
                                  headerValue: "{var_remote-addr}"
                              responseHeaderConfigurations:
                                - headerName: Strict-Transport-Security
                                  headerValue: max-age=31536000
                            conditions:
                              - ignoreCase: true
                                negate: false
                                pattern: ^Bearer
                                variable: http_req_Authorization
                            name: Set X-Forwarded-For
                            ruleSequence: 102
                  sku:
                    capacity: 3
                    name: Standard_Medium
                    tier: Standard
                  sslCertificates:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                      name: sslcert
                      properties:
                        provisioningState: Succeeded
                        publicCertData: "*****"
                  urlPathMaps:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                      name: pathMap1
                      properties:
                        defaultBackendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        defaultBackendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        defaultRewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        pathRules:
                          - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths
                            name: apiPaths
                            properties:
                              backendAddressPool:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                              backendHttpSettings:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                              paths:
                                - /api
                                - /v1/api
                              provisioningState: Succeeded
                              rewriteRuleSet:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        provisioningState: Succeeded
                type: Microsoft.Network/applicationGateways
    patch:
      description: Updates the specified application gateway tags.
      operationId: ApplicationGateways_UpdateTags
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - description: Parameters supplied to update application gateway tags.
          in: body
          name: parameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Update successful. The operation returns the resulting ApplicationGateway resource.
          schema:
            $ref: "#/definitions/ApplicationGateway"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Update Application Gateway tags:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: AppGw
            parameters:
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw
                location: westus
                name: AppGw
                properties:
                  authenticationCertificates: []
                  backendAddressPools:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01
                      name: Pool01
                      properties:
                        backendAddresses:
                          - ipAddress: 10.10.10.1
                          - ipAddress: 10.10.10.2
                          - ipAddress: 10.10.10.3
                        provisioningState: Succeeded
                  backendHttpSettingsCollection:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01
                      name: PoolSetting01
                      properties:
                        cookieBasedAffinity: Disabled
                        pickHostNameFromBackendAddress: false
                        port: 80
                        protocol: Http
                        provisioningState: Succeeded
                        requestTimeout: 30
                  frontendIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01
                      name: FrontEndConfig01
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/publicIp1
                  frontendPorts:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01
                      name: FrontEndPort01
                      properties:
                        port: 80
                        provisioningState: Succeeded
                  gatewayIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/gatewayIPConfigurations/GatewayIp01
                      name: GatewayIp01
                      properties:
                        provisioningState: Succeeded
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnet1
                  httpListeners:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1
                      name: listener1
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendIPConfigurations/FrontEndConfig01
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/frontendPorts/FrontEndPort01
                        protocol: Http
                        provisioningState: Succeeded
                        requireServerNameIndication: false
                  operationalState: Running
                  probes: []
                  provisioningState: Succeeded
                  redirectConfigurations: []
                  requestRoutingRules:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/requestRoutingRules/Rule01
                      name: Rule01
                      properties:
                        backendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendAddressPools/Pool01
                        backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/backendHttpSettingsCollection/PoolSetting01
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/AppGw/httpListeners/listener1
                        provisioningState: Succeeded
                        ruleType: Basic
                  resourceGuid: 00000000-0000-0000-0000-000000000000
                  sku:
                    capacity: 2
                    name: Standard_Small
                    tier: Standard
                  sslCertificates: []
                  urlPathMaps: []
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Network/applicationGateways
      x-ms-long-running-operation: true
    put:
      description: Creates or updates the specified application gateway.
      operationId: ApplicationGateways_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - description: Parameters supplied to the create or update application gateway operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ApplicationGateway"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Update successful. The operation returns the resulting ApplicationGateway resource.
          schema:
            $ref: "#/definitions/ApplicationGateway"
        "201":
          description: Create successful. The operation returns the resulting ApplicationGateway resource.
          schema:
            $ref: "#/definitions/ApplicationGateway"
      tags:
        - ApplicationGateways
      x-ms-examples:
        Create Application Gateway:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            parameters:
              identity:
                type: UserAssigned
                userAssignedIdentities:
                  /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1: {}
              location: eastus
              properties:
                backendAddressPools:
                  - name: appgwpool
                    properties:
                      backendAddresses:
                        - ipAddress: 10.0.1.1
                        - ipAddress: 10.0.1.2
                backendHttpSettingsCollection:
                  - name: appgwbhs
                    properties:
                      cookieBasedAffinity: Disabled
                      port: 80
                      protocol: Http
                      requestTimeout: 30
                frontendIPConfigurations:
                  - name: appgwfip
                    properties:
                      publicIPAddress:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                frontendPorts:
                  - name: appgwfp
                    properties:
                      port: 443
                  - name: appgwfp80
                    properties:
                      port: 80
                gatewayIPConfigurations:
                  - name: appgwipc
                    properties:
                      subnet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet/subnets/appgwsubnet
                httpListeners:
                  - name: appgwhl
                    properties:
                      frontendIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                      frontendPort:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                      protocol: Https
                      requireServerNameIndication: false
                      sslCertificate:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                  - name: appgwhttplistener
                    properties:
                      frontendIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                      frontendPort:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                      protocol: Http
                requestRoutingRules:
                  - name: appgwrule
                    properties:
                      backendAddressPool:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                      backendHttpSettings:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                      httpListener:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                      priority: 10
                      rewriteRuleSet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                      ruleType: Basic
                  - name: appgwPathBasedRule
                    properties:
                      httpListener:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                      priority: 20
                      ruleType: PathBasedRouting
                      urlPathMap:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                rewriteRuleSets:
                  - name: rewriteRuleSet1
                    properties:
                      rewriteRules:
                        - actionSet:
                            requestHeaderConfigurations:
                              - headerName: X-Forwarded-For
                                headerValue: "{var_add_x_forwarded_for_proxy}"
                            responseHeaderConfigurations:
                              - headerName: Strict-Transport-Security
                                headerValue: max-age=31536000
                          conditions:
                            - ignoreCase: true
                              negate: false
                              pattern: ^Bearer
                              variable: http_req_Authorization
                          name: Set X-Forwarded-For
                          ruleSequence: 102
                sku:
                  capacity: 3
                  name: Standard_v2
                  tier: Standard_v2
                sslCertificates:
                  - name: sslcert
                    properties:
                      data: "****"
                      password: "****"
                  - name: sslcert2
                    properties:
                      keyVaultSecretId: https://kv/secret
                trustedRootCertificates:
                  - name: rootcert
                    properties:
                      data: "****"
                  - name: rootcert1
                    properties:
                      keyVaultSecretId: https://kv/secret
                urlPathMaps:
                  - name: pathMap1
                    properties:
                      defaultBackendAddressPool:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                      defaultBackendHttpSettings:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                      defaultRewriteRuleSet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                      pathRules:
                        - name: apiPaths
                          properties:
                            backendAddressPool:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                            backendHttpSettings:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                            paths:
                              - /api
                              - /v1/api
                            rewriteRuleSet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw
                location: southcentralus
                name: appgw
                properties:
                  authenticationCertificates: []
                  backendAddressPools:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                      name: appgwpool
                      properties:
                        backendAddresses: []
                        provisioningState: Succeeded
                  backendHttpSettingsCollection:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                      name: appgwbhs
                      properties:
                        cookieBasedAffinity: Disabled
                        port: 80
                        protocol: Http
                        provisioningState: Succeeded
                        requestTimeout: 30
                  frontendIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                      name: appgwfip
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                  frontendPorts:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                      name: appgwfp
                      properties:
                        port: 443
                        provisioningState: Succeeded
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                      name: appgwfp80
                      properties:
                        port: 80
                        provisioningState: Succeeded
                  gatewayIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc
                      name: appgwipc
                      properties:
                        provisioningState: Succeeded
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet
                  httpListeners:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                      name: appgwhl
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                        protocol: Https
                        provisioningState: Succeeded
                        requireServerNameIndication: false
                        sslCertificate:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                      name: appgwhttplistener
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                        protocol: Http
                        provisioningState: Succeeded
                  operationalState: Running
                  probes: []
                  provisioningState: Succeeded
                  requestRoutingRules:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule
                      name: appgwrule
                      properties:
                        backendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                        provisioningState: Succeeded
                        rewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        ruleType: Basic
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule
                      name: appgwPathBasedRule
                      properties:
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                        provisioningState: Succeeded
                        ruleType: PathBasedRouting
                        urlPathMap:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                  rewriteRuleSets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                      name: rewriteRuleSet1
                      properties:
                        provisioningState: Succeeded
                        rewriteRules:
                          - actionSet:
                              requestHeaderConfigurations:
                                - headerName: X-Forwarded-For
                                  headerValue: "{var_remote-addr}"
                              responseHeaderConfigurations:
                                - headerName: Strict-Transport-Security
                                  headerValue: max-age=31536000
                            conditions:
                              - ignoreCase: true
                                negate: false
                                pattern: ^Bearer
                                variable: http_req_Authorization
                            name: Set X-Forwarded-For
                            ruleSequence: 102
                  sku:
                    capacity: 3
                    name: Standard_Medium
                    tier: Standard
                  sslCertificates:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                      name: sslcert
                      properties:
                        provisioningState: Succeeded
                        publicCertData: "*****"
                  urlPathMaps:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                      name: pathMap1
                      properties:
                        defaultBackendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        defaultBackendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        defaultRewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        pathRules:
                          - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths
                            name: apiPaths
                            properties:
                              backendAddressPool:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                              backendHttpSettings:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                              paths:
                                - /api
                                - /v1/api
                              provisioningState: Succeeded
                              rewriteRuleSet:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        provisioningState: Succeeded
                type: Microsoft.Network/applicationGateways
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw
                location: southcentralus
                name: appgw
                properties:
                  authenticationCertificates: []
                  backendAddressPools:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                      name: appgwpool
                      properties:
                        backendAddresses: []
                        provisioningState: Succeeded
                  backendHttpSettingsCollection:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                      name: appgwbhs
                      properties:
                        cookieBasedAffinity: Disabled
                        port: 80
                        protocol: Http
                        provisioningState: Succeeded
                        requestTimeout: 30
                  frontendIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                      name: appgwfip
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip
                  frontendPorts:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                      name: appgwfp
                      properties:
                        port: 443
                        provisioningState: Succeeded
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                      name: appgwfp80
                      properties:
                        port: 80
                        provisioningState: Succeeded
                  gatewayIPConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/gatewayIPConfigurations/appgwipc
                      name: appgwipc
                      properties:
                        provisioningState: Succeeded
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/virtualNetwork1/subnets/appgwsubnet
                  httpListeners:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                      name: appgwhl
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp
                        protocol: Https
                        provisioningState: Succeeded
                        requireServerNameIndication: false
                        sslCertificate:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                      name: appgwhttplistener
                      properties:
                        frontendIPConfiguration:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendIPConfigurations/appgwfip
                        frontendPort:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80
                        protocol: Http
                        provisioningState: Succeeded
                  operationalState: Running
                  probes: []
                  provisioningState: Succeeded
                  requestRoutingRules:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwrule
                      name: appgwrule
                      properties:
                        backendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhl
                        provisioningState: Succeeded
                        rewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        ruleType: Basic
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule
                      name: appgwPathBasedRule
                      properties:
                        httpListener:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener
                        provisioningState: Succeeded
                        ruleType: PathBasedRouting
                        urlPathMap:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                  rewriteRuleSets:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                      name: rewriteRuleSet1
                      properties:
                        provisioningState: Succeeded
                        rewriteRules:
                          - actionSet:
                              requestHeaderConfigurations:
                                - headerName: X-Forwarded-For
                                  headerValue: "{var_remote-addr}"
                              responseHeaderConfigurations:
                                - headerName: Strict-Transport-Security
                                  headerValue: max-age=31536000
                            conditions:
                              - ignoreCase: true
                                negate: false
                                pattern: ^Bearer
                                variable: http_req_Authorization
                            name: Set X-Forwarded-For
                            ruleSequence: 102
                  sku:
                    capacity: 3
                    name: Standard_Medium
                    tier: Standard
                  sslCertificates:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/sslCertificates/sslcert
                      name: sslcert
                      properties:
                        provisioningState: Succeeded
                        publicCertData: "*****"
                  urlPathMaps:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1
                      name: pathMap1
                      properties:
                        defaultBackendAddressPool:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                        defaultBackendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                        defaultRewriteRuleSet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        pathRules:
                          - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths
                            name: apiPaths
                            properties:
                              backendAddressPool:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool
                              backendHttpSettings:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs
                              paths:
                                - /api
                                - /v1/api
                              provisioningState: Succeeded
                              rewriteRuleSet:
                                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1
                        provisioningState: Succeeded
                type: Microsoft.Network/applicationGateways
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth":
    post:
      description: Gets the backend health of the specified application gateway in a resource group.
      operationId: ApplicationGateways_BackendHealth
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - 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: Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
          in: query
          name: $expand
          required: false
          type: string
      responses:
        "200":
          description: Request successful.
          schema:
            $ref: "#/definitions/ApplicationGatewayBackendHealth"
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - ApplicationGateways
      x-ms-examples:
        Get Backend Health:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            resourceGroupName: appgw
            subscriptionId: subid
          responses:
            "200":
              body:
                backendAddressPools:
                  - backendAddressPool:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool
                    backendHttpSettingsCollection:
                      - backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings
                        servers:
                          - address: 10.220.1.8
                            health: Up
                  - backendAddressPool:
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFPool
                    backendHttpSettingsCollection:
                      - backendHttpSettings:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings
                        servers:
                          - address: 10.220.1.4
                            health: Up
                          - address: 10.220.1.5
                            health: Up
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand":
    post:
      description: Gets the backend health for given combination of backend pool and http setting of the specified application gateway in a resource group.
      operationId: ApplicationGateways_BackendHealthOnDemand
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
        - description: Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
          in: query
          name: $expand
          required: false
          type: string
        - description: Request body for on-demand test probe operation.
          in: body
          name: probeRequest
          required: true
          schema:
            $ref: "#/definitions/ApplicationGatewayOnDemandProbe"
      responses:
        "200":
          description: Request successful.
          schema:
            $ref: "#/definitions/ApplicationGatewayBackendHealthOnDemand"
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - ApplicationGateways
      x-ms-examples:
        Test Backend Health:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            probeRequest:
              backendAddressPool:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool
              backendHttpSettings:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings
              path: /
              pickHostNameFromBackendHttpSettings: true
              protocol: Http
              timeout: 30
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                backendAddressPool:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendaddressPools/MFAnalyticsPool
                backendHealthHttpSettings:
                  backendHttpSettings:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/MFPoolSettings
                  servers:
                    - address: 10.220.1.4
                      health: Up
                    - address: 10.220.1.5
                      health: Up
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start":
    post:
      description: Starts the specified application gateway.
      operationId: ApplicationGateways_Start
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Request successful. The operation starts the ApplicationGateway resource.
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - ApplicationGateways
      x-ms-examples:
        Start Application Gateway:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop":
    post:
      description: Stops the specified application gateway in a resource group.
      operationId: ApplicationGateways_Stop
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the application gateway.
          in: path
          name: applicationGatewayName
          required: true
          type: string
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/2"
        - $ref: "#/paths/~1subscriptions~1%7BsubscriptionId%7D~1resourceGroups~1%7BresourceGroupName%7D~1providers~1Microsoft.Network~1applicationGateways~1%7BapplicationGatewayName%7D~1backendhealth/post/parameters/3"
      responses:
        "200":
          description: Request successful. The operation stops the ApplicationGateway resource.
        "202":
          description: Accepted and the operation will complete asynchronously.
      tags:
        - ApplicationGateways
      x-ms-examples:
        Stop Application Gateway:
          parameters:
            api-version: 2019-07-01
            applicationGatewayName: appgw
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
definitions:
  ApplicationGateway:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            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: Application gateway resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      identity:
        description: Identity for the resource.
        properties:
          principalId:
            description: The principal id of the system assigned identity. This property will only be provided for a system assigned identity.
            readOnly: true
            type: string
          tenantId:
            description: The tenant id of the system assigned identity. This property will only be provided for a system assigned identity.
            readOnly: true
            type: string
          type:
            description: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.
            enum:
              - SystemAssigned
              - UserAssigned
              - SystemAssigned, UserAssigned
              - None
            type: string
            x-ms-enum:
              modelAsString: false
              name: ResourceIdentityType
          userAssignedIdentities:
            additionalProperties:
              properties:
                clientId:
                  description: The client id of user assigned identity.
                  readOnly: true
                  type: string
                principalId:
                  description: The principal id of user assigned identity.
                  readOnly: true
                  type: string
              type: object
            description: "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
            type: object
      properties:
        $ref: "#/definitions/ApplicationGatewayPropertiesFormat"
        description: Properties of the application gateway.
        x-ms-client-flatten: true
      zones:
        description: A list of availability zones denoting where the resource needs to come from.
        items:
          type: string
        type: array
  ApplicationGatewayAuthenticationCertificate:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Authentication certificates of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the authentication certificate that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat"
        description: Properties of the application gateway authentication certificate.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayAuthenticationCertificatePropertiesFormat:
    description: Authentication certificates properties of an application gateway.
    properties:
      data:
        description: Certificate public data.
        type: string
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
  ApplicationGatewayAutoscaleConfiguration:
    description: Application Gateway autoscale configuration.
    properties:
      maxCapacity:
        description: Upper bound on number of Application Gateway capacity.
        exclusiveMinimum: false
        format: int32
        minimum: 2
        type: integer
      minCapacity:
        description: Lower bound on number of Application Gateway capacity.
        exclusiveMinimum: false
        format: int32
        minimum: 0
        type: integer
    required:
      - minCapacity
  ApplicationGatewayAvailableRequestHeadersResult:
    description: Response for ApplicationGatewayAvailableRequestHeaders API service call.
    items:
      type: string
    type: array
  ApplicationGatewayAvailableResponseHeadersResult:
    description: Response for ApplicationGatewayAvailableResponseHeaders API service call.
    items:
      type: string
    type: array
  ApplicationGatewayAvailableServerVariablesResult:
    description: Response for ApplicationGatewayAvailableServerVariables API service call.
    items:
      type: string
    type: array
  ApplicationGatewayAvailableSslOptions:
    allOf:
      - $ref: "#/definitions/ApplicationGateway/allOf/0"
    description: Response for ApplicationGatewayAvailableSslOptions API service call.
    properties:
      properties:
        $ref: "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat"
        description: Properties of the application gateway available SSL options.
        x-ms-client-flatten: true
  ApplicationGatewayAvailableSslOptionsPropertiesFormat:
    description: Properties of ApplicationGatewayAvailableSslOptions.
    properties:
      availableCipherSuites:
        description: List of available Ssl cipher suites.
        items:
          $ref: "#/definitions/CipherSuitesEnum"
        type: array
      availableProtocols:
        description: List of available Ssl protocols.
        items:
          $ref: "#/definitions/ProtocolsEnum"
        type: array
      defaultPolicy:
        $ref: "#/definitions/PolicyNameEnum"
        description: Name of the Ssl predefined policy applied by default to application gateway.
      predefinedPolicies:
        description: List of available Ssl predefined policy.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
  ApplicationGatewayAvailableSslPredefinedPolicies:
    description: Response for ApplicationGatewayAvailableSslOptions API service call.
    properties:
      nextLink:
        description: URL to get the next set of results.
        type: string
      value:
        description: List of available Ssl predefined policy.
        items:
          $ref: "#/definitions/ApplicationGatewaySslPredefinedPolicy"
        type: array
  ApplicationGatewayAvailableWafRuleSetsResult:
    description: Response for ApplicationGatewayAvailableWafRuleSets API service call.
    properties:
      value:
        description: The list of application gateway rule sets.
        items:
          $ref: "#/definitions/ApplicationGatewayFirewallRuleSet"
        type: array
  ApplicationGatewayBackendAddress:
    description: Backend address of an application gateway.
    properties:
      fqdn:
        description: Fully qualified domain name (FQDN).
        type: string
      ipAddress:
        description: IP address.
        type: string
  ApplicationGatewayBackendAddressPool:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Backend Address Pool of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the backend address pool that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat"
        description: Properties of the application gateway backend address pool.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayBackendAddressPoolPropertiesFormat:
    description: Properties of Backend Address Pool of an application gateway.
    properties:
      backendAddresses:
        description: Backend addresses.
        items:
          $ref: "#/definitions/ApplicationGatewayBackendAddress"
        type: array
      backendIPConfigurations:
        description: Collection of references to IPs defined in network interfaces.
        items:
          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration"
        type: array
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
  ApplicationGatewayBackendHealth:
    description: Response for ApplicationGatewayBackendHealth API service call.
    properties:
      backendAddressPools:
        description: A list of ApplicationGatewayBackendHealthPool resources.
        items:
          $ref: "#/definitions/ApplicationGatewayBackendHealthPool"
        type: array
  ApplicationGatewayBackendHealthHttpSettings:
    description: Application gateway BackendHealthHttp settings.
    properties:
      backendHttpSettings:
        $ref: "#/definitions/ApplicationGatewayBackendHttpSettings"
        description: Reference of an ApplicationGatewayBackendHttpSettings resource.
      servers:
        description: List of ApplicationGatewayBackendHealthServer resources.
        items:
          $ref: "#/definitions/ApplicationGatewayBackendHealthServer"
        type: array
  ApplicationGatewayBackendHealthOnDemand:
    description: Result of on demand test probe.
    properties:
      backendAddressPool:
        $ref: "#/definitions/ApplicationGatewayBackendAddressPool"
        description: Reference of an ApplicationGatewayBackendAddressPool resource.
      backendHealthHttpSettings:
        $ref: "#/definitions/ApplicationGatewayBackendHealthHttpSettings"
        description: Application gateway BackendHealthHttp settings.
  ApplicationGatewayBackendHealthPool:
    description: Application gateway BackendHealth pool.
    properties:
      backendAddressPool:
        $ref: "#/definitions/ApplicationGatewayBackendAddressPool"
        description: Reference of an ApplicationGatewayBackendAddressPool resource.
      backendHttpSettingsCollection:
        description: List of ApplicationGatewayBackendHealthHttpSettings resources.
        items:
          $ref: "#/definitions/ApplicationGatewayBackendHealthHttpSettings"
        type: array
  ApplicationGatewayBackendHealthServer:
    description: Application gateway backendhealth http settings.
    properties:
      address:
        description: IP address or FQDN of backend server.
        type: string
      health:
        description: Health of backend server.
        enum:
          - Unknown
          - Up
          - Down
          - Partial
          - Draining
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayBackendHealthServerHealth
      healthProbeLog:
        description: Health Probe Log.
        type: string
      ipConfiguration:
        allOf:
          - description: Reference to another subresource.
            properties:
              id:
                description: Resource ID.
                type: string
            x-ms-azure-resource: true
        description: IPConfiguration in a network interface.
        properties:
          etag:
            description: A unique read-only string that changes whenever the resource is updated.
            type: string
          name:
            description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
            type: string
          properties:
            description: Properties of IP configuration.
            properties:
              applicationGatewayBackendAddressPools:
                description: The reference of ApplicationGatewayBackendAddressPool resource.
                items:
                  allOf:
                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                  description: Backend Address Pool of an application gateway.
                  properties:
                    etag:
                      description: A unique read-only string that changes whenever the resource is updated.
                      type: string
                    name:
                      description: Name of the backend address pool that is unique within an Application Gateway.
                      type: string
                    properties:
                      description: Properties of Backend Address Pool of an application gateway.
                      properties:
                        backendAddresses:
                          description: Backend addresses.
                          items:
                            description: Backend address of an application gateway.
                            properties:
                              fqdn:
                                description: Fully qualified domain name (FQDN).
                                type: string
                              ipAddress:
                                description: IP address.
                                type: string
                          type: array
                        backendIPConfigurations:
                          description: Collection of references to IPs defined in network interfaces.
                          items:
                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/properties/properties/properties/destinationNetworkInterfaceIPConfiguration"
                          type: array
                        provisioningState:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                          description: The provisioning state of the backend address pool resource.
                    type:
                      description: Type of the resource.
                      type: string
                type: array
              applicationSecurityGroups:
                description: Application security groups in which the IP configuration is included.
                items:
                  allOf:
                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                  description: An application security group in a resource group.
                  properties:
                    etag:
                      description: A unique read-only string that changes whenever the resource is updated.
                      readOnly: true
                      type: string
                    properties:
                      description: Application security group properties.
                      properties:
                        provisioningState:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                          description: The provisioning state of the application security group resource.
                          readOnly: true
                        resourceGuid:
                          description: The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups.
                          readOnly: true
                          type: string
                type: array
              loadBalancerBackendAddressPools:
                description: The reference of LoadBalancerBackendAddressPool resource.
                items:
                  allOf:
                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                  description: Pool of backend IP addresses.
                  properties:
                    etag:
                      description: A unique read-only string that changes whenever the resource is updated.
                      type: string
                    name:
                      description: The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource.
                      type: string
                    properties:
                      description: Properties of the backend address pool.
                      properties:
                        backendIPConfigurations:
                          description: An array of references to IP addresses defined in network interfaces.
                          items:
                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/properties/properties/properties/destinationNetworkInterfaceIPConfiguration"
                          readOnly: true
                          type: array
                        loadBalancingRules:
                          description: An array of references to load balancing rules that use this backend address pool.
                          items:
                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          readOnly: true
                          type: array
                        outboundRule:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: A reference to an outbound rule that uses this backend address pool.
                          readOnly: true
                        outboundRules:
                          description: An array of references to outbound rules that use this backend address pool.
                          items:
                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          readOnly: true
                          type: array
                        provisioningState:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                          description: The provisioning state of the backend address pool resource.
                    type:
                      description: Type of the resource.
                      readOnly: true
                      type: string
                type: array
              loadBalancerInboundNatRules:
                description: A list of references of LoadBalancerInboundNatRules.
                items:
                  allOf:
                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                  description: Inbound NAT rule of the load balancer.
                  properties:
                    etag:
                      description: A unique read-only string that changes whenever the resource is updated.
                      type: string
                    name:
                      description: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource.
                      type: string
                    properties:
                      description: Properties of the inbound NAT rule.
                      properties:
                        backendIPConfiguration:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/properties/properties/properties/destinationNetworkInterfaceIPConfiguration"
                        backendPort:
                          description: The port used for the internal endpoint. Acceptable values range from 1 to 65535.
                          format: int32
                          type: integer
                        enableFloatingIP:
                          description: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint.
                          type: boolean
                        enableTcpReset:
                          description: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.
                          type: boolean
                        frontendIPConfiguration:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: A reference to frontend IP addresses.
                        frontendPort:
                          description: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534.
                          format: int32
                          type: integer
                        idleTimeoutInMinutes:
                          description: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP.
                          format: int32
                          type: integer
                        protocol:
                          description: The transport protocol for the endpoint.
                          enum:
                            - Udp
                            - Tcp
                            - All
                          type: string
                          x-ms-enum:
                            modelAsString: true
                            name: TransportProtocol
                        provisioningState:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                          description: The provisioning state of the inbound NAT rule resource.
                    type:
                      description: Type of the resource.
                      readOnly: true
                      type: string
                type: array
              primary:
                description: Whether this is a primary customer address on the network interface.
                type: boolean
              privateIPAddress:
                description: Private IP address of the IP configuration.
                type: string
              privateIPAddressVersion:
                description: IP address version.
                enum:
                  - IPv4
                  - IPv6
                type: string
                x-ms-enum:
                  modelAsString: true
                  name: IPVersion
              privateIPAllocationMethod:
                description: IP address allocation method.
                enum:
                  - Static
                  - Dynamic
                type: string
                x-ms-enum:
                  modelAsString: true
                  name: IPAllocationMethod
              privateLinkConnectionProperties:
                description: PrivateLinkConnection properties for the network interface.
                properties:
                  fqdns:
                    description: List of FQDNs for current private link connection.
                    items:
                      type: string
                    readOnly: true
                    type: array
                  groupId:
                    description: The group ID for current private link connection.
                    readOnly: true
                    type: string
                  requiredMemberName:
                    description: The required member name for current private link connection.
                    readOnly: true
                    type: string
              provisioningState:
                description: The current provisioning state.
                enum:
                  - Succeeded
                  - Updating
                  - Deleting
                  - Failed
                readOnly: true
                type: string
                x-ms-enum:
                  modelAsString: true
                  name: ProvisioningState
              publicIPAddress:
                allOf:
                  - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                description: Public IP address resource.
                properties:
                  etag:
                    description: A unique read-only string that changes whenever the resource is updated.
                    type: string
                  properties:
                    description: Public IP address properties.
                    properties:
                      ddosSettings:
                        description: Contains the DDoS protection settings of the public IP.
                        properties:
                          ddosCustomPolicy:
                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                            description: The DDoS custom policy associated with the public IP.
                            readOnly: false
                          protectionCoverage:
                            description: The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized.
                            enum:
                              - Basic
                              - Standard
                            readOnly: false
                            type: string
                            x-ms-enum:
                              modelAsString: true
                              name: DdosSettingsProtectionCoverage
                      dnsSettings:
                        description: Contains FQDN of the DNS record associated with the public IP address.
                        properties:
                          domainNameLabel:
                            description: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system.
                            type: string
                          fqdn:
                            description: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone.
                            type: string
                          reverseFqdn:
                            description: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN.
                            type: string
                      idleTimeoutInMinutes:
                        description: The idle timeout of the public IP address.
                        format: int32
                        type: integer
                      ipAddress:
                        description: The IP address associated with the public IP address resource.
                        type: string
                      ipConfiguration:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/ipConfigurations/items"
                      ipTags:
                        description: The list of tags associated with the public IP address.
                        items:
                          description: Contains the IpTag associated with the object.
                          properties:
                            ipTagType:
                              description: "The IP tag type. Example: FirstPartyUsage."
                              type: string
                            tag:
                              description: "The value of the IP tag associated with the public IP. Example: SQL."
                              type: string
                        type: array
                      provisioningState:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                        description: The provisioning state of the public IP address resource.
                      publicIPAddressVersion:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAddressVersion"
                        description: The public IP address version.
                      publicIPAllocationMethod:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAllocationMethod"
                        description: The public IP address allocation method.
                      publicIPPrefix:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                        description: The Public IP Prefix this Public IP Address should be allocated from.
                      resourceGuid:
                        description: The resource GUID property of the public IP address resource.
                        type: string
                  sku:
                    description: SKU of a public IP address.
                    properties:
                      name:
                        description: Name of a public IP address SKU.
                        enum:
                          - Basic
                          - Standard
                        type: string
                        x-ms-enum:
                          modelAsString: true
                          name: PublicIPAddressSkuName
                  zones:
                    description: A list of availability zones denoting the IP allocated for the resource needs to come from.
                    items:
                      type: string
                    type: array
              subnet:
                allOf:
                  - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                description: Subnet in a virtual network resource.
                properties:
                  etag:
                    description: A unique read-only string that changes whenever the resource is updated.
                    type: string
                  name:
                    description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                    type: string
                  properties:
                    description: Properties of the subnet.
                    properties:
                      addressPrefix:
                        description: The address prefix for the subnet.
                        type: string
                      addressPrefixes:
                        description: List of address prefixes for the subnet.
                        items:
                          type: string
                        type: array
                      delegations:
                        description: An array of references to the delegations on the subnet.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: Details the service to which the subnet is delegated.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            name:
                              description: The name of the resource that is unique within a subnet. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of a service delegation.
                              properties:
                                actions:
                                  description: Describes the actions permitted to the service upon delegation.
                                  items:
                                    type: string
                                  type: array
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the service delegation resource.
                                  readOnly: true
                                serviceName:
                                  description: The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers).
                                  type: string
                        type: array
                      ipConfigurationProfiles:
                        description: Array of IP configuration profiles which reference this subnet.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: IP configuration profile child resource.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            name:
                              description: The name of the resource. This name can be used to access the resource.
                              type: string
                            properties:
                              description: IP configuration profile properties.
                              properties:
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the IP configuration profile resource.
                                  readOnly: true
                                subnet:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  description: The reference of the subnet resource to create a container network interface ip configuration.
                            type:
                              description: Sub Resource type.
                              readOnly: true
                              type: string
                        readOnly: true
                        type: array
                      ipConfigurations:
                        description: An array of references to the network interface IP configurations using subnet.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: IP configuration.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            name:
                              description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of IP configuration.
                              properties:
                                privateIPAddress:
                                  description: The private IP address of the IP configuration.
                                  type: string
                                privateIPAllocationMethod:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAllocationMethod"
                                  description: The private IP address allocation method.
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the IP configuration resource.
                                publicIPAddress:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/publicIPAddress"
                                  description: The reference of the public IP resource.
                                subnet:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  description: The reference of the subnet resource.
                        readOnly: true
                        type: array
                      natGateway:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                        description: Nat gateway associated with this subnet.
                      networkSecurityGroup:
                        allOf:
                          - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                        description: NetworkSecurityGroup resource.
                        properties:
                          etag:
                            description: A unique read-only string that changes whenever the resource is updated.
                            type: string
                          properties:
                            description: Network Security Group resource.
                            properties:
                              defaultSecurityRules:
                                description: The default security rules of network security group.
                                items:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/networkSecurityGroup/properties/properties/properties/securityRules/items"
                                type: array
                              networkInterfaces:
                                description: A collection of references to network interfaces.
                                items:
                                  allOf:
                                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                                  description: A network interface in a resource group.
                                  properties:
                                    etag:
                                      description: A unique read-only string that changes whenever the resource is updated.
                                      type: string
                                    properties:
                                      description: NetworkInterface properties.
                                      properties:
                                        dnsSettings:
                                          description: DNS settings of a network interface.
                                          properties:
                                            appliedDnsServers:
                                              description: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs.
                                              items:
                                                type: string
                                              type: array
                                            dnsServers:
                                              description: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection.
                                              items:
                                                type: string
                                              type: array
                                            internalDnsNameLabel:
                                              description: Relative DNS name for this NIC used for internal communications between VMs in the same virtual network.
                                              type: string
                                            internalDomainNameSuffix:
                                              description: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix.
                                              type: string
                                            internalFqdn:
                                              description: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.
                                              type: string
                                        enableAcceleratedNetworking:
                                          description: If the network interface is accelerated networking enabled.
                                          type: boolean
                                        enableIPForwarding:
                                          description: Indicates whether IP forwarding is enabled on this network interface.
                                          type: boolean
                                        hostedWorkloads:
                                          description: A list of references to linked BareMetal resources.
                                          items:
                                            type: string
                                          readOnly: true
                                          type: array
                                        ipConfigurations:
                                          description: A list of IPConfigurations of the network interface.
                                          items:
                                            allOf:
                                              - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                            description: IPConfiguration in a network interface.
                                            properties:
                                              etag:
                                                description: A unique read-only string that changes whenever the resource is updated.
                                                type: string
                                              name:
                                                description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                                type: string
                                              properties:
                                                description: Properties of IP configuration.
                                                properties:
                                                  applicationGatewayBackendAddressPools:
                                                    description: The reference of ApplicationGatewayBackendAddressPool resource.
                                                    items:
                                                      $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationGatewayBackendAddressPools/items"
                                                    type: array
                                                  applicationSecurityGroups:
                                                    description: Application security groups in which the IP configuration is included.
                                                    items:
                                                      $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationSecurityGroups/items"
                                                    type: array
                                                  loadBalancerBackendAddressPools:
                                                    description: The reference of LoadBalancerBackendAddressPool resource.
                                                    items:
                                                      $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/loadBalancerBackendAddressPools/items"
                                                    type: array
                                                  loadBalancerInboundNatRules:
                                                    description: A list of references of LoadBalancerInboundNatRules.
                                                    items:
                                                      $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/loadBalancerInboundNatRules/items"
                                                    type: array
                                                  primary:
                                                    description: Whether this is a primary customer address on the network interface.
                                                    type: boolean
                                                  privateIPAddress:
                                                    description: Private IP address of the IP configuration.
                                                    type: string
                                                  privateIPAddressVersion:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAddressVersion"
                                                    description: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.
                                                  privateIPAllocationMethod:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAllocationMethod"
                                                    description: The private IP address allocation method.
                                                  privateLinkConnectionProperties:
                                                    description: PrivateLinkConnection properties for the network interface.
                                                    properties:
                                                      fqdns:
                                                        description: List of FQDNs for current private link connection.
                                                        items:
                                                          type: string
                                                        readOnly: true
                                                        type: array
                                                      groupId:
                                                        description: The group ID for current private link connection.
                                                        readOnly: true
                                                        type: string
                                                      requiredMemberName:
                                                        description: The required member name for current private link connection.
                                                        readOnly: true
                                                        type: string
                                                  provisioningState:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                                    description: The provisioning state of the network interface IP configuration.
                                                  publicIPAddress:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/publicIPAddress"
                                                    description: Public IP address bound to the IP configuration.
                                                  subnet:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                                    description: Subnet bound to the IP configuration.
                                                  virtualNetworkTaps:
                                                    description: The reference to Virtual Network Taps.
                                                    items:
                                                      $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items"
                                                    type: array
                                          type: array
                                        macAddress:
                                          description: The MAC address of the network interface.
                                          type: string
                                        networkSecurityGroup:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/networkSecurityGroup"
                                          description: The reference of the NetworkSecurityGroup resource.
                                        primary:
                                          description: Whether this is a primary network interface on a virtual machine.
                                          type: boolean
                                        privateEndpoint:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/privateEndpoints/items"
                                          description: A reference to the private endpoint to which the network interface is linked.
                                          readOnly: true
                                        provisioningState:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                          description: The provisioning state of the network interface resource.
                                        resourceGuid:
                                          description: The resource GUID property of the network interface resource.
                                          type: string
                                        tapConfigurations:
                                          description: A list of TapConfigurations of the network interface.
                                          items:
                                            allOf:
                                              - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                            description: Tap configuration in a Network Interface.
                                            properties:
                                              etag:
                                                description: A unique read-only string that changes whenever the resource is updated.
                                                type: string
                                              name:
                                                description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                                type: string
                                              properties:
                                                description: Properties of Virtual Network Tap configuration.
                                                properties:
                                                  provisioningState:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                                    description: The provisioning state of the network interface tap configuration resource.
                                                    readOnly: true
                                                  virtualNetworkTap:
                                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items"
                                                    description: The reference of the Virtual Network Tap resource.
                                              type:
                                                description: Sub Resource type.
                                                readOnly: true
                                                type: string
                                          type: array
                                        virtualMachine:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                          description: The reference of a virtual machine.
                                          readOnly: true
                                readOnly: true
                                type: array
                              provisioningState:
                                $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                description: The provisioning state of the network security group resource.
                              resourceGuid:
                                description: The resource GUID property of the network security group resource.
                                type: string
                              securityRules:
                                description: A collection of security rules of the network security group.
                                items:
                                  allOf:
                                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  description: Network security rule.
                                  properties:
                                    etag:
                                      description: A unique read-only string that changes whenever the resource is updated.
                                      type: string
                                    name:
                                      description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                      type: string
                                    properties:
                                      description: Security rule resource.
                                      properties:
                                        access:
                                          description: Whether network traffic is allowed or denied.
                                          enum:
                                            - Allow
                                            - Deny
                                          type: string
                                          x-ms-enum:
                                            modelAsString: true
                                            name: SecurityRuleAccess
                                        description:
                                          description: A description for this rule. Restricted to 140 chars.
                                          type: string
                                        destinationAddressPrefix:
                                          description: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.
                                          type: string
                                        destinationAddressPrefixes:
                                          description: The destination address prefixes. CIDR or destination IP ranges.
                                          items:
                                            type: string
                                          type: array
                                        destinationApplicationSecurityGroups:
                                          description: The application security group specified as destination.
                                          items:
                                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationSecurityGroups/items"
                                          type: array
                                        destinationPortRange:
                                          description: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
                                          type: string
                                        destinationPortRanges:
                                          description: The destination port ranges.
                                          items:
                                            description: The destination port.
                                            type: string
                                          type: array
                                        direction:
                                          description: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.
                                          enum:
                                            - Inbound
                                            - Outbound
                                          type: string
                                          x-ms-enum:
                                            modelAsString: true
                                            name: SecurityRuleDirection
                                        priority:
                                          description: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.
                                          format: int32
                                          type: integer
                                        protocol:
                                          description: Network protocol this rule applies to.
                                          enum:
                                            - Tcp
                                            - Udp
                                            - Icmp
                                            - Esp
                                            - "*"
                                          type: string
                                          x-ms-enum:
                                            modelAsString: true
                                            name: SecurityRuleProtocol
                                        provisioningState:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                          description: The provisioning state of the security rule resource.
                                        sourceAddressPrefix:
                                          description: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.
                                          type: string
                                        sourceAddressPrefixes:
                                          description: The CIDR or source IP ranges.
                                          items:
                                            type: string
                                          type: array
                                        sourceApplicationSecurityGroups:
                                          description: The application security group specified as source.
                                          items:
                                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationSecurityGroups/items"
                                          type: array
                                        sourcePortRange:
                                          description: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.
                                          type: string
                                        sourcePortRanges:
                                          description: The source port ranges.
                                          items:
                                            description: The source port.
                                            type: string
                                          type: array
                                      required:
                                        - protocol
                                        - access
                                        - direction
                                type: array
                              subnets:
                                description: A collection of references to subnets.
                                items:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                readOnly: true
                                type: array
                      privateEndpointNetworkPolicies:
                        description: Enable or Disable apply network policies on private end point in the subnet.
                        type: string
                      privateEndpoints:
                        description: An array of references to private endpoints.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                          description: Private endpoint resource.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            properties:
                              description: Properties of the private endpoint.
                              properties:
                                manualPrivateLinkServiceConnections:
                                  description: A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/privateEndpoints/items/properties/properties/properties/privateLinkServiceConnections/items"
                                  type: array
                                networkInterfaces:
                                  description: An array of references to the network interfaces created for this private endpoint.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet/properties/properties/properties/networkSecurityGroup/properties/properties/properties/networkInterfaces/items"
                                  readOnly: true
                                  type: array
                                privateLinkServiceConnections:
                                  description: A grouping of information about the connection to the remote resource.
                                  items:
                                    allOf:
                                      - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                    description: PrivateLinkServiceConnection resource.
                                    properties:
                                      etag:
                                        description: A unique read-only string that changes whenever the resource is updated.
                                        readOnly: true
                                        type: string
                                      name:
                                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                        type: string
                                      properties:
                                        description: Properties of the PrivateLinkServiceConnection.
                                        properties:
                                          groupIds:
                                            description: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.
                                            items:
                                              type: string
                                            type: array
                                          privateLinkServiceConnectionState:
                                            description: A collection of information about the state of the connection between service consumer and provider.
                                            properties:
                                              actionsRequired:
                                                description: A message indicating if changes on the service provider require any updates on the consumer.
                                                type: string
                                              description:
                                                description: The reason for approval/rejection of the connection.
                                                type: string
                                              status:
                                                description: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.
                                                type: string
                                          privateLinkServiceId:
                                            description: The resource id of private link service.
                                            type: string
                                          provisioningState:
                                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                            description: The provisioning state of the private link service connection resource.
                                          requestMessage:
                                            description: A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars.
                                            type: string
                                      type:
                                        description: The resource type.
                                        readOnly: true
                                        type: string
                                  type: array
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the private endpoint resource.
                                subnet:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  description: The ID of the subnet from which the private IP will be allocated.
                        readOnly: true
                        type: array
                      privateLinkServiceNetworkPolicies:
                        description: Enable or Disable apply network policies on private link service in the subnet.
                        type: string
                      provisioningState:
                        $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                        description: The provisioning state of the subnet resource.
                      purpose:
                        description: A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties.
                        readOnly: true
                        type: string
                      resourceNavigationLinks:
                        description: An array of references to the external resources using subnet.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: ResourceNavigationLink resource.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              readOnly: true
                              type: string
                            id:
                              description: Resource navigation link identifier.
                              readOnly: true
                              type: string
                            name:
                              description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of ResourceNavigationLink.
                              properties:
                                link:
                                  description: Link to the external resource.
                                  type: string
                                linkedResourceType:
                                  description: Resource type of the linked resource.
                                  type: string
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the resource navigation link resource.
                                  readOnly: true
                            type:
                              description: Resource type.
                              readOnly: true
                              type: string
                        type: array
                      routeTable:
                        allOf:
                          - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                        description: Route table resource.
                        properties:
                          etag:
                            description: A unique read-only string that changes whenever the resource is updated.
                            type: string
                          properties:
                            description: Route Table resource.
                            properties:
                              disableBgpRoutePropagation:
                                description: Whether to disable the routes learned by BGP on that route table. True means disable.
                                type: boolean
                              provisioningState:
                                $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                description: The provisioning state of the route table resource.
                              routes:
                                description: Collection of routes contained within a route table.
                                items:
                                  allOf:
                                    - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  description: Route resource.
                                  properties:
                                    etag:
                                      description: A unique read-only string that changes whenever the resource is updated.
                                      type: string
                                    name:
                                      description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                      type: string
                                    properties:
                                      description: Route resource.
                                      properties:
                                        addressPrefix:
                                          description: The destination CIDR to which the route applies.
                                          type: string
                                        nextHopIpAddress:
                                          description: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.
                                          type: string
                                        nextHopType:
                                          description: The type of Azure hop the packet should be sent to.
                                          enum:
                                            - VirtualNetworkGateway
                                            - VnetLocal
                                            - Internet
                                            - VirtualAppliance
                                            - None
                                          type: string
                                          x-ms-enum:
                                            modelAsString: true
                                            name: RouteNextHopType
                                        provisioningState:
                                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                          description: The provisioning state of the route resource.
                                          type: string
                                      required:
                                        - nextHopType
                                type: array
                              subnets:
                                description: A collection of references to subnets.
                                items:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                readOnly: true
                                type: array
                      serviceAssociationLinks:
                        description: An array of references to services injecting into this subnet.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: ServiceAssociationLink resource.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              readOnly: true
                              type: string
                            name:
                              description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of ServiceAssociationLink.
                              properties:
                                allowDelete:
                                  description: If true, the resource can be deleted.
                                  type: boolean
                                link:
                                  description: Link to the external resource.
                                  type: string
                                linkedResourceType:
                                  description: Resource type of the linked resource.
                                  type: string
                                locations:
                                  description: A list of locations.
                                  items:
                                    type: string
                                  type: array
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the service association link resource.
                                  readOnly: true
                            type:
                              description: Resource type.
                              type: string
                        type: array
                      serviceEndpointPolicies:
                        description: An array of service endpoint policies.
                        items:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items/allOf/0"
                          description: Service End point policy resource.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            properties:
                              description: Service Endpoint Policy resource.
                              properties:
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the service endpoint policy resource.
                                  readOnly: true
                                resourceGuid:
                                  description: The resource GUID property of the service endpoint policy resource.
                                  readOnly: true
                                  type: string
                                serviceEndpointPolicyDefinitions:
                                  description: A collection of service endpoint policy definitions of the service endpoint policy.
                                  items:
                                    allOf:
                                      - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                    description: Service Endpoint policy definitions.
                                    properties:
                                      etag:
                                        description: A unique read-only string that changes whenever the resource is updated.
                                        type: string
                                      name:
                                        description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                        type: string
                                      properties:
                                        description: Service Endpoint policy definition resource.
                                        properties:
                                          description:
                                            description: A description for this rule. Restricted to 140 chars.
                                            type: string
                                          provisioningState:
                                            $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                            description: The provisioning state of the service endpoint policy definition resource.
                                            readOnly: true
                                          service:
                                            description: Service endpoint name.
                                            type: string
                                          serviceResources:
                                            description: A list of service resources.
                                            items:
                                              type: string
                                            type: array
                                  type: array
                                subnets:
                                  description: A collection of references to subnets.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  readOnly: true
                                  type: array
                        type: array
                      serviceEndpoints:
                        description: An array of service endpoints.
                        items:
                          description: The service endpoint properties.
                          properties:
                            locations:
                              description: A list of locations.
                              items:
                                type: string
                              type: array
                            provisioningState:
                              $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                              description: The provisioning state of the service endpoint resource.
                            service:
                              description: The type of the endpoint service.
                              type: string
                        type: array
              virtualNetworkTaps:
                description: The reference to Virtual Network Taps.
                items:
                  allOf:
                    - description: Common resource representation.
                      properties:
                        id:
                          description: Resource ID.
                          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: Virtual Network Tap resource.
                  properties:
                    etag:
                      description: A unique read-only string that changes whenever the resource is updated.
                      type: string
                    properties:
                      description: Virtual Network Tap properties.
                      properties:
                        destinationLoadBalancerFrontEndIPConfiguration:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: Frontend IP address of the load balancer.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            name:
                              description: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of Frontend IP Configuration of the load balancer.
                              properties:
                                inboundNatPools:
                                  description: An array of references to inbound pools that use this frontend IP.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  readOnly: true
                                  type: array
                                inboundNatRules:
                                  description: An array of references to inbound rules that use this frontend IP.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  readOnly: true
                                  type: array
                                loadBalancingRules:
                                  description: An array of references to load balancing rules that use this frontend IP.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  readOnly: true
                                  type: array
                                outboundRules:
                                  description: An array of references to outbound rules that use this frontend IP.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  readOnly: true
                                  type: array
                                privateIPAddress:
                                  description: The private IP address of the IP configuration.
                                  type: string
                                privateIPAddressVersion:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAddressVersion"
                                  description: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.
                                privateIPAllocationMethod:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAllocationMethod"
                                  description: The Private IP allocation method.
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the frontend IP configuration resource.
                                publicIPAddress:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/publicIPAddress"
                                  description: The reference of the Public IP resource.
                                publicIPPrefix:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                                  description: The reference of the Public IP Prefix resource.
                                subnet:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  description: The reference of the subnet resource.
                            type:
                              description: Type of the resource.
                              readOnly: true
                              type: string
                            zones:
                              description: A list of availability zones denoting the IP allocated for the resource needs to come from.
                              items:
                                type: string
                              type: array
                        destinationNetworkInterfaceIPConfiguration:
                          allOf:
                            - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                          description: IPConfiguration in a network interface.
                          properties:
                            etag:
                              description: A unique read-only string that changes whenever the resource is updated.
                              type: string
                            name:
                              description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                              type: string
                            properties:
                              description: Properties of IP configuration.
                              properties:
                                applicationGatewayBackendAddressPools:
                                  description: The reference of ApplicationGatewayBackendAddressPool resource.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationGatewayBackendAddressPools/items"
                                  type: array
                                applicationSecurityGroups:
                                  description: Application security groups in which the IP configuration is included.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/applicationSecurityGroups/items"
                                  type: array
                                loadBalancerBackendAddressPools:
                                  description: The reference of LoadBalancerBackendAddressPool resource.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/loadBalancerBackendAddressPools/items"
                                  type: array
                                loadBalancerInboundNatRules:
                                  description: A list of references of LoadBalancerInboundNatRules.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/loadBalancerInboundNatRules/items"
                                  type: array
                                primary:
                                  description: Whether this is a primary customer address on the network interface.
                                  type: boolean
                                privateIPAddress:
                                  description: Private IP address of the IP configuration.
                                  type: string
                                privateIPAddressVersion:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAddressVersion"
                                  description: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.
                                privateIPAllocationMethod:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/privateIPAllocationMethod"
                                  description: The private IP address allocation method.
                                privateLinkConnectionProperties:
                                  description: PrivateLinkConnection properties for the network interface.
                                  properties:
                                    fqdns:
                                      description: List of FQDNs for current private link connection.
                                      items:
                                        type: string
                                      readOnly: true
                                      type: array
                                    groupId:
                                      description: The group ID for current private link connection.
                                      readOnly: true
                                      type: string
                                    requiredMemberName:
                                      description: The required member name for current private link connection.
                                      readOnly: true
                                      type: string
                                provisioningState:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                  description: The provisioning state of the network interface IP configuration.
                                publicIPAddress:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/publicIPAddress"
                                  description: Public IP address bound to the IP configuration.
                                subnet:
                                  $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/subnet"
                                  description: Subnet bound to the IP configuration.
                                virtualNetworkTaps:
                                  description: The reference to Virtual Network Taps.
                                  items:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items"
                                  type: array
                        destinationPort:
                          description: The VXLAN destination port that will receive the tapped traffic.
                          type: integer
                        networkInterfaceTapConfigurations:
                          description: Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped.
                          items:
                            allOf:
                              - $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/allOf/0"
                            description: Tap configuration in a Network Interface.
                            properties:
                              etag:
                                description: A unique read-only string that changes whenever the resource is updated.
                                type: string
                              name:
                                description: The name of the resource that is unique within a resource group. This name can be used to access the resource.
                                type: string
                              properties:
                                description: Properties of Virtual Network Tap configuration.
                                properties:
                                  provisioningState:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                                    description: The provisioning state of the network interface tap configuration resource.
                                    readOnly: true
                                  virtualNetworkTap:
                                    $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/virtualNetworkTaps/items"
                                    description: The reference of the Virtual Network Tap resource.
                              type:
                                description: Sub Resource type.
                                readOnly: true
                                type: string
                          readOnly: true
                          type: array
                        provisioningState:
                          $ref: "#/definitions/ApplicationGatewayBackendHealthServer/properties/ipConfiguration/properties/properties/properties/provisioningState"
                          description: The provisioning state of the virtual network tap resource.
                          readOnly: true
                        resourceGuid:
                          description: The resource GUID property of the virtual network tap resource.
                          readOnly: true
                          type: string
                type: array
  ApplicationGatewayBackendHttpSettings:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Backend address pool settings of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the backend http settings that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat"
        description: Properties of the application gateway backend HTTP settings.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayBackendHttpSettingsPropertiesFormat:
    description: Properties of Backend address pool settings of an application gateway.
    properties:
      affinityCookieName:
        description: Cookie name to use for the affinity cookie.
        type: string
      authenticationCertificates:
        description: Array of references to application gateway authentication certificates.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
      connectionDraining:
        $ref: "#/definitions/ApplicationGatewayConnectionDraining"
        description: Connection draining of the backend http settings resource.
      cookieBasedAffinity:
        description: Cookie based affinity.
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayCookieBasedAffinity
      hostName:
        description: Host header to be sent to the backend servers.
        type: string
      path:
        description: Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null.
        type: string
      pickHostNameFromBackendAddress:
        description: Whether to pick host header should be picked from the host name of the backend server. Default value is false.
        type: boolean
      port:
        description: The destination port on the backend.
        format: int32
        type: integer
      probe:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      probeEnabled:
        description: Whether the probe is enabled. Default value is false.
        type: boolean
      protocol:
        $ref: "#/definitions/ApplicationGatewayProtocol"
        description: The protocol used to communicate with the backend.
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      requestTimeout:
        description: Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds.
        format: int32
        type: integer
      trustedRootCertificates:
        description: Array of references to application gateway trusted root certificates.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
  ApplicationGatewayConnectionDraining:
    description: Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration.
    properties:
      drainTimeoutInSec:
        description: The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
        exclusiveMaximum: false
        exclusiveMinimum: false
        format: int32
        maximum: 3600
        minimum: 1
        type: integer
      enabled:
        description: Whether connection draining is enabled or not.
        type: boolean
    required:
      - enabled
      - drainTimeoutInSec
  ApplicationGatewayCustomError:
    description: Customer error of an application gateway.
    properties:
      customErrorPageUrl:
        description: Error page URL of the application gateway customer error.
        type: string
      statusCode:
        description: Status code of the application gateway customer error.
        enum:
          - HttpStatus403
          - HttpStatus502
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayCustomErrorStatusCode
  ApplicationGatewayFirewallDisabledRuleGroup:
    description: Allows to disable rules within a rule group or an entire rule group.
    properties:
      ruleGroupName:
        description: The name of the rule group that will be disabled.
        type: string
      rules:
        description: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.
        items:
          format: int32
          type: integer
          x-nullable: false
        type: array
    required:
      - ruleGroupName
  ApplicationGatewayFirewallExclusion:
    description: Allow to exclude some variable satisfy the condition for the WAF check.
    properties:
      matchVariable:
        description: The variable to be excluded.
        type: string
      selector:
        description: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to.
        type: string
      selectorMatchOperator:
        description: When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to.
        type: string
    required:
      - matchVariable
      - selectorMatchOperator
      - selector
  ApplicationGatewayFirewallRule:
    description: A web application firewall rule.
    properties:
      description:
        description: The description of the web application firewall rule.
        type: string
      ruleId:
        description: The identifier of the web application firewall rule.
        format: int32
        type: integer
    required:
      - ruleId
  ApplicationGatewayFirewallRuleGroup:
    description: A web application firewall rule group.
    properties:
      description:
        description: The description of the web application firewall rule group.
        type: string
      ruleGroupName:
        description: The name of the web application firewall rule group.
        type: string
      rules:
        description: The rules of the web application firewall rule group.
        items:
          $ref: "#/definitions/ApplicationGatewayFirewallRule"
        type: array
    required:
      - ruleGroupName
      - rules
  ApplicationGatewayFirewallRuleSet:
    allOf:
      - $ref: "#/definitions/ApplicationGateway/allOf/0"
    description: A web application firewall rule set.
    properties:
      properties:
        $ref: "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat"
        description: Properties of the application gateway firewall rule set.
        x-ms-client-flatten: true
  ApplicationGatewayFirewallRuleSetPropertiesFormat:
    description: Properties of the web application firewall rule set.
    properties:
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      ruleGroups:
        description: The rule groups of the web application firewall rule set.
        items:
          $ref: "#/definitions/ApplicationGatewayFirewallRuleGroup"
        type: array
      ruleSetType:
        description: The type of the web application firewall rule set.
        type: string
      ruleSetVersion:
        description: The version of the web application firewall rule set type.
        type: string
    required:
      - ruleSetType
      - ruleSetVersion
      - ruleGroups
  ApplicationGatewayFrontendIPConfiguration:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Frontend IP configuration of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the frontend IP configuration that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat"
        description: Properties of the application gateway frontend IP configuration.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayFrontendIPConfigurationPropertiesFormat:
    description: Properties of Frontend IP configuration of an application gateway.
    properties:
      privateIPAddress:
        description: PrivateIPAddress of the network interface IP Configuration.
        type: string
      privateIPAllocationMethod:
        description: IP address allocation method.
        enum:
          - Static
          - Dynamic
        type: string
        x-ms-enum:
          modelAsString: true
          name: IPAllocationMethod
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      publicIPAddress:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      subnet:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
  ApplicationGatewayFrontendPort:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Frontend port of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the frontend port that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat"
        description: Properties of the application gateway frontend port.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayFrontendPortPropertiesFormat:
    description: Properties of Frontend port of an application gateway.
    properties:
      port:
        description: Frontend port.
        format: int32
        type: integer
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
  ApplicationGatewayHeaderConfiguration:
    description: Header configuration of the Actions set in Application Gateway.
    properties:
      headerName:
        description: Header name of the header configuration.
        type: string
      headerValue:
        description: Header value of the header configuration.
        type: string
  ApplicationGatewayHttpListener:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Http listener of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the HTTP listener that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat"
        description: Properties of the application gateway HTTP listener.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayHttpListenerPropertiesFormat:
    description: Properties of HTTP listener of an application gateway.
    properties:
      customErrorConfigurations:
        description: Custom error configurations of the HTTP listener.
        items:
          $ref: "#/definitions/ApplicationGatewayCustomError"
        type: array
      frontendIPConfiguration:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      frontendPort:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      hostName:
        description: Host name of HTTP listener.
        type: string
      protocol:
        $ref: "#/definitions/ApplicationGatewayProtocol"
        description: Protocol of the HTTP listener.
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      requireServerNameIndication:
        description: Applicable only if protocol is https. Enables SNI for multi-hosting.
        type: boolean
      sslCertificate:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
  ApplicationGatewayIPConfiguration:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the IP configuration that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat"
        description: Properties of the application gateway IP configuration.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayIPConfigurationPropertiesFormat:
    description: Properties of IP configuration of an application gateway.
    properties:
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      subnet:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
  ApplicationGatewayListResult:
    description: Response for ListApplicationGateways API service call.
    properties:
      nextLink:
        description: URL to get the next set of results.
        type: string
      value:
        description: List of an application gateways in a resource group.
        items:
          $ref: "#/definitions/ApplicationGateway"
        type: array
  ApplicationGatewayOnDemandProbe:
    description: Details of on demand test probe request.
    properties:
      backendAddressPool:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      backendHttpSettings:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      host:
        description: Host name to send the probe to.
        type: string
      match:
        $ref: "#/definitions/ApplicationGatewayProbeHealthResponseMatch"
        description: Criterion for classifying a healthy probe response.
      path:
        description: Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
        type: string
      pickHostNameFromBackendHttpSettings:
        description: Whether the host header should be picked from the backend http settings. Default value is false.
        type: boolean
      protocol:
        $ref: "#/definitions/ApplicationGatewayProtocol"
        description: The protocol used for the probe.
      timeout:
        description: The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
        format: int32
        type: integer
  ApplicationGatewayPathRule:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Path rule of URL path map of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the path rule that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat"
        description: Properties of the application gateway path rule.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayPathRulePropertiesFormat:
    description: Properties of path rule of an application gateway.
    properties:
      backendAddressPool:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      backendHttpSettings:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      paths:
        description: Path rules of URL path map.
        items:
          type: string
        type: array
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      redirectConfiguration:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      rewriteRuleSet:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
  ApplicationGatewayProbe:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Probe of the application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the probe that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayProbePropertiesFormat"
        description: Properties of the application gateway probe.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayProbeHealthResponseMatch:
    description: Application gateway probe health response match.
    properties:
      body:
        description: Body that must be contained in the health response. Default value is empty.
        type: string
      statusCodes:
        description: Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.
        items:
          type: string
        type: array
  ApplicationGatewayProbePropertiesFormat:
    description: Properties of probe of an application gateway.
    properties:
      host:
        description: Host name to send the probe to.
        type: string
      interval:
        description: The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds.
        format: int32
        type: integer
      match:
        $ref: "#/definitions/ApplicationGatewayProbeHealthResponseMatch"
        description: Criterion for classifying a healthy probe response.
      minServers:
        description: Minimum number of servers that are always marked healthy. Default value is 0.
        format: int32
        type: integer
      path:
        description: Relative path of probe. Valid path starts from '/'. Probe is sent to <Protocol>://<host>:<port><path>.
        type: string
      pickHostNameFromBackendHttpSettings:
        description: Whether the host header should be picked from the backend http settings. Default value is false.
        type: boolean
      port:
        description: Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
        format: int32
        maximum: 65535
        minimum: 1
        type: integer
      protocol:
        $ref: "#/definitions/ApplicationGatewayProtocol"
        description: The protocol used for the probe.
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      timeout:
        description: The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds.
        format: int32
        type: integer
      unhealthyThreshold:
        description: The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20.
        format: int32
        type: integer
  ApplicationGatewayPropertiesFormat:
    description: Properties of the application gateway.
    properties:
      authenticationCertificates:
        description: Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayAuthenticationCertificate"
        type: array
      autoscaleConfiguration:
        $ref: "#/definitions/ApplicationGatewayAutoscaleConfiguration"
        description: Autoscale Configuration.
      backendAddressPools:
        description: Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayBackendAddressPool"
        type: array
      backendHttpSettingsCollection:
        description: Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayBackendHttpSettings"
        type: array
      customErrorConfigurations:
        description: Custom error configurations of the application gateway resource.
        items:
          $ref: "#/definitions/ApplicationGatewayCustomError"
        type: array
      enableFips:
        description: Whether FIPS is enabled on the application gateway resource.
        type: boolean
      enableHttp2:
        description: Whether HTTP2 is enabled on the application gateway resource.
        type: boolean
      firewallPolicy:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      frontendIPConfigurations:
        description: Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayFrontendIPConfiguration"
        type: array
      frontendPorts:
        description: Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayFrontendPort"
        type: array
      gatewayIPConfigurations:
        description: Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayIPConfiguration"
        type: array
      httpListeners:
        description: Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayHttpListener"
        type: array
      operationalState:
        description: Operational state of the application gateway resource.
        enum:
          - Stopped
          - Starting
          - Running
          - Stopping
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayOperationalState
      probes:
        description: Probes of the application gateway resource.
        items:
          $ref: "#/definitions/ApplicationGatewayProbe"
        type: array
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      redirectConfigurations:
        description: Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayRedirectConfiguration"
        type: array
      requestRoutingRules:
        description: Request routing rules of the application gateway resource.
        items:
          $ref: "#/definitions/ApplicationGatewayRequestRoutingRule"
        type: array
      resourceGuid:
        description: The resource GUID property of the application gateway resource.
        type: string
      rewriteRuleSets:
        description: Rewrite rules for the application gateway resource.
        items:
          $ref: "#/definitions/ApplicationGatewayRewriteRuleSet"
        type: array
      sku:
        $ref: "#/definitions/ApplicationGatewaySku"
        description: SKU of the application gateway resource.
      sslCertificates:
        description: SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewaySslCertificate"
        type: array
      sslPolicy:
        $ref: "#/definitions/ApplicationGatewaySslPolicy"
        description: SSL policy of the application gateway resource.
      trustedRootCertificates:
        description: Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayTrustedRootCertificate"
        type: array
      urlPathMaps:
        description: URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits).
        items:
          $ref: "#/definitions/ApplicationGatewayUrlPathMap"
        type: array
      webApplicationFirewallConfiguration:
        $ref: "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration"
        description: Web application firewall configuration.
  ApplicationGatewayProtocol:
    description: Application Gateway protocol.
    enum:
      - Http
      - Https
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationGatewayProtocol
  ApplicationGatewayRedirectConfiguration:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Redirect configuration of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the redirect configuration that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat"
        description: Properties of the application gateway redirect configuration.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayRedirectConfigurationPropertiesFormat:
    description: Properties of redirect configuration of the application gateway.
    properties:
      includePath:
        description: Include path in the redirected url.
        type: boolean
      includeQueryString:
        description: Include query string in the redirected url.
        type: boolean
      pathRules:
        description: Path rules specifying redirect configuration.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
      redirectType:
        $ref: "#/definitions/RedirectTypeEnum"
        description: HTTP redirection type.
        type: string
      requestRoutingRules:
        description: Request routing specifying redirect configuration.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
      targetListener:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      targetUrl:
        description: Url to redirect the request to.
        type: string
      urlPathMaps:
        description: Url path maps specifying default redirect configuration.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
        type: array
  ApplicationGatewayRequestRoutingRule:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Request routing rule of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the request routing rule that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat"
        description: Properties of the application gateway request routing rule.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayRequestRoutingRulePropertiesFormat:
    description: Properties of request routing rule of the application gateway.
    properties:
      backendAddressPool:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      backendHttpSettings:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      httpListener:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      priority:
        description: Priority of the request routing rule.
        exclusiveMaximum: false
        exclusiveMinimum: false
        format: int32
        maximum: 20000
        minimum: 1
        type: integer
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      redirectConfiguration:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      rewriteRuleSet:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      ruleType:
        description: Rule type.
        enum:
          - Basic
          - PathBasedRouting
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayRequestRoutingRuleType
      urlPathMap:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
  ApplicationGatewayRewriteRule:
    description: Rewrite rule of an application gateway.
    properties:
      actionSet:
        $ref: "#/definitions/ApplicationGatewayRewriteRuleActionSet"
        description: Set of actions to be done as part of the rewrite Rule.
        type: object
      conditions:
        description: Conditions based on which the action set execution will be evaluated.
        items:
          $ref: "#/definitions/ApplicationGatewayRewriteRuleCondition"
        type: array
      name:
        description: Name of the rewrite rule that is unique within an Application Gateway.
        type: string
      ruleSequence:
        description: Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet.
        type: integer
  ApplicationGatewayRewriteRuleActionSet:
    description: Set of actions in the Rewrite Rule in Application Gateway.
    properties:
      requestHeaderConfigurations:
        description: Request Header Actions in the Action Set.
        items:
          $ref: "#/definitions/ApplicationGatewayHeaderConfiguration"
        type: array
      responseHeaderConfigurations:
        description: Response Header Actions in the Action Set.
        items:
          $ref: "#/definitions/ApplicationGatewayHeaderConfiguration"
        type: array
  ApplicationGatewayRewriteRuleCondition:
    description: Set of conditions in the Rewrite Rule in Application Gateway.
    properties:
      ignoreCase:
        description: Setting this paramter to truth value with force the pattern to do a case in-sensitive comparison.
        type: boolean
      negate:
        description: Setting this value as truth will force to check the negation of the condition given by the user.
        type: boolean
      pattern:
        description: The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
        type: string
      variable:
        description: The condition parameter of the RewriteRuleCondition.
        type: string
  ApplicationGatewayRewriteRuleSet:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Rewrite rule set of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      name:
        description: Name of the rewrite rule set that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat"
        description: Properties of the application gateway rewrite rule set.
        x-ms-client-flatten: true
  ApplicationGatewayRewriteRuleSetPropertiesFormat:
    description: Properties of rewrite rule set of the application gateway.
    properties:
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      rewriteRules:
        description: Rewrite rules in the rewrite rule set.
        items:
          $ref: "#/definitions/ApplicationGatewayRewriteRule"
        type: array
  ApplicationGatewaySku:
    description: SKU of an application gateway.
    properties:
      capacity:
        description: Capacity (instance count) of an application gateway.
        format: int32
        type: integer
      name:
        description: Name of an application gateway SKU.
        enum:
          - Standard_Small
          - Standard_Medium
          - Standard_Large
          - WAF_Medium
          - WAF_Large
          - Standard_v2
          - WAF_v2
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewaySkuName
      tier:
        description: Tier of an application gateway.
        enum:
          - Standard
          - WAF
          - Standard_v2
          - WAF_v2
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayTier
  ApplicationGatewaySslCertificate:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: SSL certificates of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the SSL certificate that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat"
        description: Properties of the application gateway SSL certificate.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewaySslCertificatePropertiesFormat:
    description: Properties of SSL certificates of an application gateway.
    properties:
      data:
        description: Base-64 encoded pfx certificate. Only applicable in PUT Request.
        type: string
      keyVaultSecretId:
        description: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault.
        type: string
      password:
        description: Password for the pfx file specified in data. Only applicable in PUT request.
        type: string
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
      publicCertData:
        description: Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request.
        type: string
  ApplicationGatewaySslPolicy:
    description: Application Gateway Ssl policy.
    properties:
      cipherSuites:
        description: Ssl cipher suites to be enabled in the specified order to application gateway.
        items:
          $ref: "#/definitions/CipherSuitesEnum"
        type: array
      disabledSslProtocols:
        description: Ssl protocols to be disabled on application gateway.
        items:
          $ref: "#/definitions/ProtocolsEnum"
          type: string
        type: array
      minProtocolVersion:
        $ref: "#/definitions/ProtocolsEnum"
        description: Minimum version of Ssl protocol to be supported on application gateway.
      policyName:
        $ref: "#/definitions/PolicyNameEnum"
        description: Name of Ssl predefined policy.
      policyType:
        description: Type of Ssl Policy.
        enum:
          - Predefined
          - Custom
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewaySslPolicyType
  ApplicationGatewaySslPredefinedPolicy:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: An Ssl predefined policy.
    properties:
      name:
        description: Name of the Ssl predefined policy.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat"
        description: Properties of the application gateway SSL predefined policy.
        x-ms-client-flatten: true
  ApplicationGatewaySslPredefinedPolicyPropertiesFormat:
    description: Properties of ApplicationGatewaySslPredefinedPolicy.
    properties:
      cipherSuites:
        description: Ssl cipher suites to be enabled in the specified order for application gateway.
        items:
          $ref: "#/definitions/CipherSuitesEnum"
        type: array
      minProtocolVersion:
        $ref: "#/definitions/ProtocolsEnum"
        description: Minimum version of Ssl protocol to be supported on application gateway.
  ApplicationGatewayTrustedRootCertificate:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: Trusted Root certificates of an application gateway.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the trusted root certificate that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat"
        description: Properties of the application gateway trusted root certificate.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayTrustedRootCertificatePropertiesFormat:
    description: Trusted Root certificates properties of an application gateway.
    properties:
      data:
        description: Certificate public data.
        type: string
      keyVaultSecretId:
        description: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault.
        type: string
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
  ApplicationGatewayUrlPathMap:
    allOf:
      - $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
    description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: Name of the URL path map that is unique within an Application Gateway.
        type: string
      properties:
        $ref: "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat"
        description: Properties of the application gateway URL path map.
        x-ms-client-flatten: true
      type:
        description: Type of the resource.
        type: string
  ApplicationGatewayUrlPathMapPropertiesFormat:
    description: Properties of UrlPathMap of the application gateway.
    properties:
      defaultBackendAddressPool:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      defaultBackendHttpSettings:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      defaultRedirectConfiguration:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      defaultRewriteRuleSet:
        $ref: "#/definitions/ApplicationGatewayPathRulePropertiesFormat/properties/rewriteRuleSet"
      pathRules:
        description: Path rule of URL path map resource.
        items:
          $ref: "#/definitions/ApplicationGatewayPathRule"
        type: array
      provisioningState:
        $ref: "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat/properties/provisioningState"
  ApplicationGatewayWebApplicationFirewallConfiguration:
    description: Application gateway web application firewall configuration.
    properties:
      disabledRuleGroups:
        description: The disabled rule groups.
        items:
          $ref: "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup"
        type: array
      enabled:
        description: Whether the web application firewall is enabled or not.
        type: boolean
      exclusions:
        description: The exclusion list.
        items:
          $ref: "#/definitions/ApplicationGatewayFirewallExclusion"
        type: array
      fileUploadLimitInMb:
        description: Maximum file upload size in Mb for WAF.
        exclusiveMinimum: false
        format: int32
        minimum: 0
        type: integer
      firewallMode:
        description: Web application firewall mode.
        enum:
          - Detection
          - Prevention
        type: string
        x-ms-enum:
          modelAsString: true
          name: ApplicationGatewayFirewallMode
      maxRequestBodySize:
        description: Maximum request body size for WAF.
        exclusiveMaximum: false
        exclusiveMinimum: false
        format: int32
        maximum: 128
        minimum: 8
        type: integer
      maxRequestBodySizeInKb:
        description: Maximum request body size in Kb for WAF.
        exclusiveMaximum: false
        exclusiveMinimum: false
        format: int32
        maximum: 128
        minimum: 8
        type: integer
      requestBodyCheck:
        description: Whether allow WAF to check request Body.
        type: boolean
      ruleSetType:
        description: "The type of the web application firewall rule set. Possible values are: 'OWASP'."
        type: string
      ruleSetVersion:
        description: The version of the rule set type.
        type: string
    required:
      - enabled
      - firewallMode
      - ruleSetType
      - ruleSetVersion
  CipherSuitesEnum:
    description: Ssl cipher suites enums.
    enum:
      - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
      - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
      - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
      - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
      - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
      - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
      - TLS_DHE_RSA_WITH_AES_256_CBC_SHA
      - TLS_DHE_RSA_WITH_AES_128_CBC_SHA
      - TLS_RSA_WITH_AES_256_GCM_SHA384
      - TLS_RSA_WITH_AES_128_GCM_SHA256
      - TLS_RSA_WITH_AES_256_CBC_SHA256
      - TLS_RSA_WITH_AES_128_CBC_SHA256
      - TLS_RSA_WITH_AES_256_CBC_SHA
      - TLS_RSA_WITH_AES_128_CBC_SHA
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
      - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
      - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
      - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
      - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
      - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
      - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
      - TLS_DHE_DSS_WITH_AES_256_CBC_SHA
      - TLS_DHE_DSS_WITH_AES_128_CBC_SHA
      - TLS_RSA_WITH_3DES_EDE_CBC_SHA
      - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
      - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationGatewaySslCipherSuite
  PolicyNameEnum:
    description: Ssl predefined policy name enums.
    enum:
      - AppGwSslPolicy20150501
      - AppGwSslPolicy20170401
      - AppGwSslPolicy20170401S
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationGatewaySslPolicyName
  ProtocolsEnum:
    description: Ssl protocol enums.
    enum:
      - TLSv1_0
      - TLSv1_1
      - TLSv1_2
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationGatewaySslProtocol
  RedirectTypeEnum:
    description: Redirect type enum.
    enum:
      - Permanent
      - Found
      - SeeOther
      - Temporary
    type: string
    x-ms-enum:
      modelAsString: true
      name: ApplicationGatewayRedirectType
