swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure.
  title: CdnManagementClient
  version: 2019-06-15-preview
  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/cdn/resource-manager/Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: cdn
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow.
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  apiVersionParameter:
    description: Version of the API to be used with the client request. Current version is 2017-04-02.
    in: query
    name: api-version
    required: true
    type: string
  resourceGroupNameParameter:
    description: Name of the Resource group within the Azure subscription.
    in: path
    maxLength: 90
    minLength: 1
    name: resourceGroupName
    pattern: ^[-\w\._\(\)]+$
    required: true
    type: string
    x-ms-parameter-location: method
  subscriptionIdParameter:
    description: Azure Subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.Cdn/checkNameAvailability:
    post:
      description: Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.
      operationId: CheckNameAvailability
      parameters:
        - description: Input to check.
          in: body
          name: checkNameAvailabilityInput
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailabilityInput"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/CheckNameAvailabilityOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CheckNameAvailability
      x-ms-examples:
        CheckNameAvailability:
          parameters:
            api-version: 2019-06-15-preview
            checkNameAvailabilityInput:
              name: sampleName
              type: Microsoft.Cdn/Profiles/Endpoints
          responses:
            "200":
              body:
                message: Name not available
                nameAvailable: false
                reason: Name is already in use
  /providers/Microsoft.Cdn/edgenodes:
    get:
      description: Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.
      operationId: EdgeNodes_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/EdgenodeResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Edgenodes
      x-ms-examples:
        EdgeNodes_List:
          parameters:
            api-version: 2019-06-15-preview
          responses:
            "200":
              body:
                value:
                  - id: /providers/Microsoft.Cdn/edgenodes/Standard_Verizon
                    name: Standard_Verizon
                    properties:
                      ipAddressGroups:
                        - deliveryRegion: All
                          ipv4Addresses:
                            - baseIpAddress: 192.229.176.0
                              prefixLength: 24
                            - baseIpAddress: 180.240.184.128
                              prefixLength: 25
                            - baseIpAddress: 152.195.27.0
                              prefixLength: 24
                          ipv6Addresses:
                            - baseIpAddress: "2606:2800:60f2::"
                              prefixLength: 48
                            - baseIpAddress: "2606:2800:700c::"
                              prefixLength: 48
                    type: Microsoft.Cdn/edgenodes
                  - id: /providers/Microsoft.Cdn/edgenodes/Premium_Verizon
                    name: Premium_Verizon
                    properties:
                      ipAddressGroups:
                        - deliveryRegion: All
                          ipv4Addresses:
                            - baseIpAddress: 192.229.176.0
                              prefixLength: 24
                            - baseIpAddress: 152.195.27.0
                              prefixLength: 24
                          ipv6Addresses:
                            - baseIpAddress: "2606:2800:60f2::"
                              prefixLength: 48
                            - baseIpAddress: "2606:2800:700c::"
                              prefixLength: 48
                    type: Microsoft.Cdn/edgenodes
                  - id: /providers/Microsoft.Cdn/edgenodes/Custom_Verizon
                    name: Custom_Verizon
                    properties:
                      ipAddressGroups:
                        - deliveryRegion: All
                          ipv4Addresses:
                            - baseIpAddress: 192.229.176.0
                              prefixLength: 24
                            - baseIpAddress: "2606:2800:420b::"
                              prefixLength: 48
                            - baseIpAddress: "2606:2800:700c::"
                              prefixLength: 48
                    type: Microsoft.Cdn/edgenodes
      x-ms-pageable:
        nextLinkName: nextLink
  /providers/Microsoft.Cdn/operations:
    get:
      description: Lists all of the available CDN REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OperationsListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Operations
      x-ms-examples:
        Operations_List:
          parameters:
            api-version: 2019-06-15-preview
          responses:
            "200":
              body:
                value:
                  - display:
                      operation: Registers the Microsoft.Cdn Resource Provider
                      provider: Microsoft.Cdn
                      resource: Microsoft.Cdn Resource Provider
                    name: Microsoft.Cdn/register/action
                  - display:
                      operation: read
                      provider: Microsoft.Cdn
                      resource: EdgeNode
                    name: Microsoft.Cdn/edgenodes/read
                  - display:
                      operation: write
                      provider: Microsoft.Cdn
                      resource: EdgeNode
                    name: Microsoft.Cdn/edgenodes/write
                  - display:
                      operation: delete
                      provider: Microsoft.Cdn
                      resource: EdgeNode
                    name: Microsoft.Cdn/edgenodes/delete
                  - display:
                      operation: read
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/profiles/read
                  - display:
                      operation: write
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/profiles/write
                  - display:
                      operation: write
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/operationresults/profileresults/write
                  - display:
                      operation: delete
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/operationresults/profileresults/delete
                  - display:
                      operation: CheckResourceUsage
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action
                  - display:
                      operation: GenerateSsoUri
                      provider: Microsoft.Cdn
                      resource: Profile
                    name: Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability":
    post:
      description: Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.
      operationId: CheckNameAvailabilityWithSubscription
      parameters:
        - description: Input to check.
          in: body
          name: checkNameAvailabilityInput
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailabilityInput"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/CheckNameAvailabilityOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CheckNameAvailabilityWithSubscription
      x-ms-examples:
        CheckNameAvailabilityWithSubscription:
          parameters:
            api-version: 2019-06-15-preview
            checkNameAvailabilityInput:
              name: sampleName
              type: Microsoft.Cdn/Profiles/Endpoints
            subscriptionId: subid
          responses:
            "200":
              body:
                message: Name not available
                nameAvailable: false
                reason: Name is already in use
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage":
    post:
      description: Check the quota and actual usage of the CDN profiles under the given subscription.
      operationId: ResourceUsage_List
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ResourceUsageListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CheckResourceUsage
      x-ms-examples:
        ResourceUsage_List:
          parameters:
            api-version: 2019-06-15-preview
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - currentValue: 31
                    limit: 200
                    resourceType: profile
                    unit: count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles":
    get:
      description: Lists all of the CDN profiles within an Azure subscription.
      operationId: Profiles_List
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ProfileListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_List:
          parameters:
            api-version: 2019-06-15-preview
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1
                    location: WestCentralUs
                    name: profile1
                    properties:
                      provisioningState: Succeeded
                      resourceState: Active
                    sku:
                      name: Standard_Akamai
                    tags: {}
                    type: Microsoft.Cdn/profiles
                  - id: /subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2
                    location: WestCentralUs
                    name: profile2
                    properties:
                      provisioningState: Succeeded
                      resourceState: Active
                    sku:
                      name: Standard_Akamai
                    tags: {}
                    type: Microsoft.Cdn/profiles
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe":
    post:
      description: Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.
      operationId: ValidateProbe
      parameters:
        - description: Input to check.
          in: body
          name: validateProbeInput
          required: true
          schema:
            $ref: "#/definitions/ValidateProbeInput"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ValidateProbeOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - ValidateProbe
      x-ms-examples:
        ValidateProbe:
          parameters:
            api-version: 2019-06-15-preview
            subscriptionId: subid
            validateProbeInput:
              probeURL: https://www.bing.com/image
          responses:
            "200":
              body:
                errorCode: None
                isValid: true
                message: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles":
    get:
      description: Lists all of the CDN profiles within a resource group.
      operationId: Profiles_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ProfileListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_ListByResourceGroup:
          parameters:
            api-version: 2019-06-15-preview
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                    location: WestCentralUs
                    name: profile1
                    properties:
                      provisioningState: Succeeded
                      resourceState: Active
                    sku:
                      name: Standard_Akamai
                    tags: {}
                    type: Microsoft.Cdn/profiles
                  - id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2
                    location: WestCentralUs
                    name: profile2
                    properties:
                      provisioningState: Succeeded
                      resourceState: Active
                    sku:
                      name: Standard_Akamai
                    tags: {}
                    type: Microsoft.Cdn/profiles
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}":
    delete:
      description: Deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.
      operationId: Profiles_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
        "204":
          description: No Content. The request has been accepted but the profile was not found.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_Delete:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets a CDN profile with the specified profile name under the specified subscription and resource group.
      operationId: Profiles_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_Get:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Succeeded
                  resourceState: Active
                sku:
                  name: Standard_Akamai
                tags: {}
                type: Microsoft.Cdn/profiles
    patch:
      description: Updates an existing CDN profile with the specified profile name under the specified subscription and resource group.
      operationId: Profiles_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Profile properties needed to update an existing profile.
          in: body
          name: profileUpdateParameters
          required: true
          schema:
            $ref: "#/definitions/ProfileUpdateParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_Update:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            profileUpdateParameters:
              tags:
                additionalProperties: Tag1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Succeeded
                  resourceState: Active
                sku:
                  name: Standard_Verizon
                tags:
                  additionalProperties: Tag1
                type: Microsoft.Cdn/profiles
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Succeeded
                  resourceState: Active
                sku:
                  name: Standard_Verizon
                tags:
                  additionalProperties: Tag1
                type: Microsoft.Cdn/profiles
      x-ms-long-running-operation: true
    put:
      description: Creates a new CDN profile with a profile name under the specified subscription and resource group.
      operationId: Profiles_Create
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Profile properties needed to create a new profile.
          in: body
          name: profile
          required: true
          schema:
            $ref: "#/definitions/Profile"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Profile"
        "201":
          description: Created. The request has been fulfilled and a new profile has been created.
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_Create:
          parameters:
            api-version: 2019-06-15-preview
            profile:
              location: WestCentralUs
              sku:
                name: Standard_Verizon
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Creating
                  resourceState: Creating
                sku:
                  name: Standard_Verizon
                tags: {}
                type: Microsoft.Cdn/profiles
            "201":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Creating
                  resourceState: Creating
                sku:
                  name: Standard_Verizon
                tags: {}
                type: Microsoft.Cdn/profiles
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1
                location: WestCentralUs
                name: profile1
                properties:
                  provisioningState: Creating
                  resourceState: Creating
                sku:
                  name: Standard_Verizon
                tags: {}
                type: Microsoft.Cdn/profiles
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage":
    post:
      description: Checks the quota and actual usage of endpoints under the given CDN profile.
      operationId: Profiles_ListResourceUsage
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ResourceUsageListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_ListResourceUsage:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - currentValue: 0
                    limit: 25
                    resourceType: endpoint
                    unit: count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints":
    get:
      description: Lists existing CDN endpoints.
      operationId: Endpoints_ListByProfile
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/EndpointListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_ListByProfile:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                    location: CentralUs
                    name: endpoint1
                    properties:
                      contentTypesToCompress: []
                      geoFilters: []
                      hostName: endpoint1.azureedge.net
                      isCompressionEnabled: false
                      isHttpAllowed: true
                      isHttpsAllowed: true
                      optimizationType: DynamicSiteAcceleration
                      originHostHeader: www.bing.com
                      originPath: null
                      origins:
                        - name: www-bing-com
                          properties:
                            hostName: www.bing.com
                            httpPort: 80
                            httpsPort: 443
                      probePath: /image
                      provisioningState: Succeeded
                      queryStringCachingBehavior: NotSet
                      resourceState: Running
                      webApplicationFirewallPolicyLink: null
                    tags: {}
                    type: Microsoft.Cdn/profiles/endpoints
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}":
    delete:
      description: Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.
      operationId: Endpoints_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: No Content. The request has been accepted but the endpoint was not found.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Delete:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.
      operationId: Endpoints_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Get:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: CentralUs
                name: endpoint1
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: DynamicSiteAcceleration
                  originHostHeader: www.bing.com
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: /image
                  provisioningState: Succeeded
                  queryStringCachingBehavior: NotSet
                  resourceState: Running
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1
                tags: {}
                type: Microsoft.Cdn/profiles/endpoints
    patch:
      description: Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags and Origin HostHeader can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update custom domains, use the Update Custom Domain operation.
      operationId: Endpoints_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Endpoint update properties
          in: body
          name: endpointUpdateProperties
          required: true
          schema:
            $ref: "#/definitions/EndpointUpdateParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Endpoint"
        "202":
          description: Accepted and the operation will complete asynchronously
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Update:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            endpointUpdateProperties:
              properties:
                webApplicationFirewallPolicyLink:
                  id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2
              tags:
                additionalProperties: Tag1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestCentralUs
                name: endpoint1
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: null
                  originHostHeader: null
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: null
                  provisioningState: Creating
                  queryStringCachingBehavior: IgnoreQueryString
                  resourceState: Creating
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2
                tags:
                  additionalProperties: Tag1
                type: Microsoft.Cdn/profiles/endpoints
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestCentralUs
                name: endpoint1
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: null
                  originHostHeader: null
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: null
                  provisioningState: Creating
                  queryStringCachingBehavior: IgnoreQueryString
                  resourceState: Creating
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy2
                tags:
                  additionalProperties: Tag1
                type: Microsoft.Cdn/profiles/endpoints
      x-ms-long-running-operation: true
    put:
      description: Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.
      operationId: Endpoints_Create
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Endpoint properties
          in: body
          name: endpoint
          required: true
          schema:
            $ref: "#/definitions/Endpoint"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Endpoint"
        "201":
          description: Created. The request has been fulfilled and a new endpoint has been created.
          schema:
            $ref: "#/definitions/Endpoint"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Create:
          parameters:
            api-version: 2019-06-15-preview
            endpoint:
              location: WestUs
              properties:
                contentTypesToCompress:
                  - text/html
                  - application/octet-stream
                deliveryPolicy:
                  description: Test description for a policy.
                  rules:
                    - actions:
                        - name: CacheExpiration
                          parameters:
                            "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
                            cacheBehavior: Override
                            cacheDuration: 10:10:09
                            cacheType: All
                        - name: ModifyResponseHeader
                          parameters:
                            "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                            headerAction: Overwrite
                            headerName: Access-Control-Allow-Origin
                            value: "*"
                        - name: ModifyRequestHeader
                          parameters:
                            "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                            headerAction: Overwrite
                            headerName: Accept-Encoding
                            value: gzip
                      conditions:
                        - name: RemoteAddress
                          parameters:
                            "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
                            matchValues:
                              - 192.168.1.0/24
                              - 10.0.0.0/24
                            negateCondition: true
                            operator: IPMatch
                      name: rule1
                      order: 1
                isCompressionEnabled: true
                isHttpAllowed: true
                isHttpsAllowed: true
                originHostHeader: www.bing.com
                originPath: /photos
                origins:
                  - name: origin1
                    properties:
                      hostName: host1.hello.com
                queryStringCachingBehavior: BypassCaching
                webApplicationFirewallPolicyLink:
                  id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1
              tags:
                kay1: value1
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress:
                    - text/html
                    - application/octet-stream
                  deliveryPolicy:
                    description: Test description for a policy.
                    rules:
                      - actions:
                          - name: CacheExpiration
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
                              cacheBehavior: Override
                              cacheDuration: 10:10:09
                              cacheType: All
                          - name: ModifyResponseHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Access-Control-Allow-Origin
                              value: "*"
                          - name: ModifyRequestHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Accept-Encoding
                              value: gzip
                        conditions:
                          - name: RemoteAddress
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
                              matchValues:
                                - 192.168.1.0/24
                                - 10.0.0.0/24
                              negateCondition: true
                              operator: IPMatch
                              transforms: []
                        name: rule1
                        order: 1
                  geoFilters: []
                  hostName: endpoint4899.azureedge-test.net
                  isCompressionEnabled: true
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: null
                  originHostHeader: www.bing.com
                  originPath: /photos
                  origins:
                    - name: origin1
                      properties:
                        hostName: host1.hello.com
                        httpPort: null
                        httpsPort: null
                  probePath: null
                  provisioningState: Creating
                  queryStringCachingBehavior: BypassCaching
                  resourceState: Creating
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
            "201":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress:
                    - text/html
                    - application/octet-stream
                  deliveryPolicy:
                    description: Test description for a policy.
                    rules:
                      - actions:
                          - name: CacheExpiration
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
                              cacheBehavior: Override
                              cacheDuration: 10:10:09
                              cacheType: All
                          - name: ModifyResponseHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Access-Control-Allow-Origin
                              value: "*"
                          - name: ModifyRequestHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Accept-Encoding
                              value: gzip
                        conditions:
                          - name: RemoteAddress
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
                              matchValues:
                                - 192.168.1.0/24
                                - 10.0.0.0/24
                              negateCondition: true
                              operator: IPMatch
                              transforms: []
                        name: rule1
                        order: 1
                  geoFilters: []
                  hostName: endpoint4899.azureedge-test.net
                  isCompressionEnabled: true
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: null
                  originHostHeader: www.bing.com
                  originPath: /photos
                  origins:
                    - name: origin1
                      properties:
                        hostName: host1.hello.com
                        httpPort: null
                        httpsPort: null
                  probePath: null
                  provisioningState: Creating
                  queryStringCachingBehavior: BypassCaching
                  resourceState: Creating
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress:
                    - text/html
                    - application/octet-stream
                  deliveryPolicy:
                    description: Test description for a policy.
                    rules:
                      - actions:
                          - name: CacheExpiration
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
                              cacheBehavior: Override
                              cacheDuration: 10:10:09
                              cacheType: All
                          - name: ModifyResponseHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Access-Control-Allow-Origin
                              value: "*"
                          - name: ModifyRequestHeader
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
                              headerAction: Overwrite
                              headerName: Accept-Encoding
                              value: gzip
                        conditions:
                          - name: RemoteAddress
                            parameters:
                              "@odata.type": "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
                              matchValues:
                                - 192.168.1.0/24
                                - 10.0.0.0/24
                              negateCondition: true
                              operator: IPMatch
                              transforms: []
                        name: rule1
                        order: 1
                  geoFilters: []
                  hostName: endpoint4899.azureedge-test.net
                  isCompressionEnabled: true
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: null
                  originHostHeader: www.bing.com
                  originPath: /photos
                  origins:
                    - name: origin1
                      properties:
                        hostName: host1.hello.com
                        httpPort: null
                        httpsPort: null
                  probePath: null
                  provisioningState: Creating
                  queryStringCachingBehavior: BypassCaching
                  resourceState: Creating
                  webApplicationFirewallPolicyLink:
                    id: /subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/cdnWafPolicy1
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage":
    post:
      description: Checks the quota and usage of geo filters and custom domains under the given endpoint.
      operationId: Endpoints_ListResourceUsage
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ResourceUsageListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_ListResourceUsage:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - currentValue: 1
                    limit: 20
                    resourceType: customdomain
                    unit: count
                  - currentValue: 0
                    limit: 25
                    resourceType: geofilter
                    unit: count
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains":
    get:
      description: Lists all of the existing custom domains within an endpoint.
      operationId: CustomDomains_ListByEndpoint
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/CustomDomainListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_ListByEndpoint:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                    name: www-someDomain-net
                    properties:
                      customHttpsProvisioningState: Disabled
                      customHttpsProvisioningSubstate: None
                      hostName: www.someDomain.net
                      provisioningState: Succeeded
                      resourceState: Active
                      validationData: null
                    type: Microsoft.Cdn/profiles/endpoints/customdomains
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}":
    delete:
      description: Deletes an existing custom domain within an endpoint.
      operationId: CustomDomains_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/CustomDomain"
        "204":
          description: No Content. The request has been accepted but the custom domain was not found
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_Delete:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets an existing custom domain within an endpoint.
      operationId: CustomDomains_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/CustomDomain"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_Get:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Disabled
                  customHttpsProvisioningSubstate: None
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
    put:
      description: Creates a new custom domain within an endpoint.
      operationId: CustomDomains_Create
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: Properties required to create a new custom domain.
          in: body
          name: customDomainProperties
          required: true
          schema:
            $ref: "#/definitions/CustomDomainParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/CustomDomain"
        "201":
          description: Created. The request has been fulfilled and a new custom domain has been created.
          schema:
            $ref: "#/definitions/CustomDomain"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/CustomDomain"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_Create:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            customDomainProperties:
              properties:
                hostName: www.someDomain.net
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
            "201":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps":
    post:
      description: Disable https delivery of the custom domain.
      operationId: CustomDomains_DisableCustomHttps
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/CustomDomain"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_DisableCustomHttps:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: null
                type: Microsoft.Cdn/profiles/endpoints/customdomains
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps":
    post:
      description: Enable https delivery of the custom domain.
      operationId: CustomDomains_EnableCustomHttps
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.
          in: body
          name: customDomainHttpsParameters
          required: false
          schema:
            $ref: "#/definitions/CustomDomainHttpsParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/CustomDomain"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - CustomDomains
      x-ms-examples:
        CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            customHttpsParameters:
              certificateSource: Cdn
              certificateSourceParameters:
                OData.type: "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
                certificateType: Shared
              protocolType: ServerNameIndication
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: validationdata
                type: Microsoft.Cdn/profiles/endpoints/customdomains
        CustomDomains_EnableCustomHttpsUsingYourOwnCertificate:
          parameters:
            api-version: 2019-06-15-preview
            customDomainName: www-someDomain-net
            customHttpsParameters:
              certificateSource: AzureKeyVault
              certificateSourceParameters:
                OData.type: "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters"
                deleteRule: NoAction
                resourceGroupName: RG
                secretName: secret1
                secretVersion: 00000000-0000-0000-0000-000000000000
                subscriptionId: subid
                updateRule: NoAction
                vaultName: kv
              protocolType: ServerNameIndication
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net
                name: www-someDomain-net
                properties:
                  customHttpsProvisioningState: Enabling
                  customHttpsProvisioningSubstate: PendingDomainControlValidationREquestApproval
                  hostName: www.someDomain.net
                  provisioningState: Succeeded
                  resourceState: Active
                  validationData: validationdata
                type: Microsoft.Cdn/profiles/endpoints/customdomains
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load":
    post:
      description: Pre-loads a content to CDN. Available for Verizon Profiles.
      operationId: Endpoints_LoadContent
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictures/city.png' which loads a single file "
          in: body
          name: contentFilePaths
          required: true
          schema:
            $ref: "#/definitions/LoadParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
        "202":
          description: Accepted and the operation will complete asynchronously.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_LoadContent:
          parameters:
            api-version: 2019-06-15-preview
            contentFilePaths:
              contentPaths:
                - /folder1
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins":
    get:
      description: Lists all of the existing origins within an endpoint.
      operationId: Origins_ListByEndpoint
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OriginListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Origins
      x-ms-examples:
        Origins_ListByEndpoint:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net
                    location: WestUs
                    name: www-someDomain-net
                    properties:
                      hostName: www.someDomain.net
                      httpPort: null
                      httpsPort: null
                      provisioningState: Succeeded
                      resourceState: Active
                    type: Microsoft.Cdn/profiles/endpoints/origins
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}":
    get:
      description: Gets an existing origin within an endpoint.
      operationId: Origins_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the origin which is unique within the endpoint.
          in: path
          name: originName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Origin"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Origins
      x-ms-examples:
        Origins_Get:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            originName: www-someDomain-net
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net
                location: WestUs
                name: www-someDomain-net
                properties:
                  hostName: www.someDomain.net
                  httpPort: null
                  httpsPort: null
                  provisioningState: Succeeded
                  resourceState: Active
                type: Microsoft.Cdn/profiles/endpoints/origins
    patch:
      description: Updates an existing origin within an endpoint.
      operationId: Origins_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the origin which is unique within the endpoint.
          in: path
          name: originName
          required: true
          type: string
        - description: Origin properties
          in: body
          name: originUpdateProperties
          required: true
          schema:
            $ref: "#/definitions/OriginUpdateParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Origin"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Origin"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Origins
      x-ms-examples:
        Origins_Update:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            originName: www-someDomain-net
            originUpdateProperties:
              properties:
                httpPort: 42
                httpsPort: 43
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net
                location: WestUs
                name: www-someDomain-net
                properties:
                  hostName: www.someDomain.net
                  httpPort: 42
                  httpsPort: 43
                  provisioningState: Succeeded
                  resourceState: Active
                type: Microsoft.Cdn/profiles/endpoints/origins
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net
                location: WestUs
                name: www-someDomain-net
                properties:
                  hostName: www.someDomain.net
                  httpPort: 42
                  httpsPort: 43
                  provisioningState: Succeeded
                  resourceState: Active
                type: Microsoft.Cdn/profiles/endpoints/origins
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge":
    post:
      description: Removes a content from CDN.
      operationId: Endpoints_PurgeContent
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.
          in: body
          name: contentFilePaths
          required: true
          schema:
            $ref: "#/definitions/PurgeParameters"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
        "202":
          description: Accepted and the operation will complete asynchronously.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_PurgeContent:
          parameters:
            api-version: 2019-06-15-preview
            contentFilePaths:
              contentPaths:
                - /folder1
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start":
    post:
      description: Starts an existing CDN endpoint that is on a stopped state.
      operationId: Endpoints_Start
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Endpoint"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Start:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: DynamicSiteAcceleration
                  originHostHeader: www.bing.com
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: /image
                  provisioningState: Succeeded
                  queryStringCachingBehavior: NotSet
                  resourceState: Starting
                  webApplicationFirewallPolicyLink: null
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: DynamicSiteAcceleration
                  originHostHeader: www.bing.com
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: /image
                  provisioningState: Succeeded
                  queryStringCachingBehavior: NotSet
                  resourceState: Starting
                  webApplicationFirewallPolicyLink: null
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop":
    post:
      description: Stops an existing running CDN endpoint.
      operationId: Endpoints_Stop
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Endpoint"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_Stop:
          parameters:
            api-version: 2019-06-15-preview
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: DynamicSiteAcceleration
                  originHostHeader: www.bing.com
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: /image
                  provisioningState: Succeeded
                  queryStringCachingBehavior: NotSet
                  resourceState: Stopping
                  webApplicationFirewallPolicyLink: null
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
            "202":
              body:
                id: /subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1
                location: WestUs
                name: endpoint4899
                properties:
                  contentTypesToCompress: []
                  geoFilters: []
                  hostName: endpoint1.azureedge.net
                  isCompressionEnabled: false
                  isHttpAllowed: true
                  isHttpsAllowed: true
                  optimizationType: DynamicSiteAcceleration
                  originHostHeader: www.bing.com
                  originPath: null
                  origins:
                    - name: www-bing-com
                      properties:
                        hostName: www.bing.com
                        httpPort: 80
                        httpsPort: 443
                  probePath: /image
                  provisioningState: Succeeded
                  queryStringCachingBehavior: NotSet
                  resourceState: Stopping
                  webApplicationFirewallPolicyLink: null
                tags:
                  kay1: value1
                type: Microsoft.Cdn/profiles/endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain":
    post:
      description: Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.
      operationId: Endpoints_ValidateCustomDomain
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the endpoint under the profile which is unique globally.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Custom domain to be validated.
          in: body
          name: customDomainProperties
          required: true
          schema:
            $ref: "#/definitions/ValidateCustomDomainInput"
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/ValidateCustomDomainOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Endpoints
      x-ms-examples:
        Endpoints_ValidateCustomDomain:
          parameters:
            api-version: 2019-06-15-preview
            customDomainProperties:
              hostName: www.someDomain.com
            endpointName: endpoint1
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                customDomainValidated: true
                message: null
                reason: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri":
    post:
      description: Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.
      operationId: Profiles_GenerateSsoUri
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/SsoUri"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_GenerateSsoUri:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                ssoUriValue: https://someuri.com
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes":
    post:
      description: Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.
      operationId: Profiles_ListSupportedOptimizationTypes
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - description: Name of the CDN profile which is unique within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/SupportedOptimizationTypesListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Profiles
      x-ms-examples:
        Profiles_ListSupportedOptimizationTypes:
          parameters:
            api-version: 2019-06-15-preview
            profileName: profile1
            resourceGroupName: RG
            subscriptionId: subid
          responses:
            "200":
              body:
                supportedOptimizationTypes:
                  - GeneralWebDelivery
                  - DynamicSiteAcceleration
definitions:
  CacheExpirationActionParameters:
    description: Defines the parameters for the cache expiration action.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters"
        type: string
      cacheBehavior:
        description: Caching behavior for the requests
        enum:
          - BypassCache
          - Override
          - SetIfMissing
        type: string
        x-ms-enum:
          modelAsString: true
          name: cacheBehavior
      cacheDuration:
        description: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss
        type: string
        x-nullable: true
      cacheType:
        description: The level at which the content needs to be cached.
        enum:
          - All
        type: string
        x-ms-enum:
          modelAsString: true
          name: CacheType
    required:
      - cacheBehavior
      - cacheType
      - "@odata.type"
  CacheKeyQueryStringActionParameters:
    description: Defines the parameters for the cache-key query string action.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters"
        type: string
      queryParameters:
        description: query parameters to include or exclude (comma separated).
        type: string
        x-nullable: true
      queryStringBehavior:
        description: Caching behavior for the requests
        enum:
          - Include
          - IncludeAll
          - Exclude
          - ExcludeAll
        type: string
        x-ms-enum:
          modelAsString: true
          name: queryStringBehavior
    required:
      - queryStringBehavior
      - "@odata.type"
  CdnCertificateSourceParameters:
    description: Defines the parameters for using CDN managed certificate for securing custom domain.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
        type: string
      certificateType:
        description: Type of certificate used
        enum:
          - Shared
          - Dedicated
        type: string
        x-ms-enum:
          modelAsString: true
          name: CertificateType
    required:
      - "@odata.type"
      - certificateType
  CdnManagedHttpsParameters:
    allOf:
      - $ref: "#/definitions/CustomDomainHttpsParameters"
    description: Defines the certificate source parameters using CDN managed certificate for enabling SSL.
    properties:
      certificateSourceParameters:
        $ref: "#/definitions/CdnCertificateSourceParameters"
        description: Defines the certificate source parameters using CDN managed certificate for enabling SSL.
    required:
      - certificateSourceParameters
    x-ms-discriminator-value: Cdn
  CheckNameAvailabilityInput:
    description: Input of CheckNameAvailability API.
    properties:
      name:
        description: The resource name to validate.
        type: string
      type:
        $ref: "#/definitions/ResourceType"
        description: The type of the resource whose name is to be validated.
    required:
      - name
      - type
    type: object
  CheckNameAvailabilityOutput:
    description: Output of check name availability API.
    properties:
      message:
        description: The detailed error message describing why the name is not available.
        readOnly: true
        type: string
      nameAvailable:
        description: Indicates whether the name is available.
        readOnly: true
        type: boolean
      reason:
        description: The reason why the name is not available.
        readOnly: true
        type: string
    type: object
  CookiesMatchConditionParameters:
    description: Defines the parameters for Cookies match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: CookiesOperator
      selector:
        description: Name of Cookies to be matched
        type: string
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - selector
      - "@odata.type"
  CustomDomain:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.
    properties:
      properties:
        $ref: "#/definitions/CustomDomainProperties"
        x-ms-client-flatten: true
    type: object
  CustomDomainHttpsParameters:
    description: The JSON object that contains the properties to secure a custom domain.
    discriminator: certificateSource
    properties:
      certificateSource:
        description: Defines the source of the SSL certificate.
        enum:
          - AzureKeyVault
          - Cdn
        type: string
        x-ms-enum:
          modelAsString: true
          name: CertificateSource
      minimumTlsVersion:
        description: TLS protocol version that will be used for Https
        enum:
          - None
          - TLS10
          - TLS12
        type: string
        x-ms-enum:
          modelAsString: false
          name: minimumTlsVersion
      protocolType:
        description: Defines the TLS extension protocol that is used for secure delivery.
        enum:
          - ServerNameIndication
          - IPBased
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProtocolType
    required:
      - certificateSource
      - protocolType
  CustomDomainListResult:
    description: Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of custom domain objects if there are any.
        type: string
      value:
        description: List of CDN CustomDomains within an endpoint.
        items:
          $ref: "#/definitions/CustomDomain"
        readOnly: true
        type: array
  CustomDomainParameters:
    description: The customDomain JSON object required for custom domain creation or update.
    properties:
      properties:
        $ref: "#/definitions/CustomDomainPropertiesParameters"
        x-ms-client-flatten: true
    type: object
  CustomDomainProperties:
    description: The JSON object that contains the properties of the custom domain to create.
    properties:
      customHttpsParameters:
        $ref: "#/definitions/CustomDomainHttpsParameters"
        description: Certificate parameters for securing custom HTTPS
      customHttpsProvisioningState:
        description: Provisioning status of Custom Https of the custom domain.
        enum:
          - Enabling
          - Enabled
          - Disabling
          - Disabled
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: CustomHttpsProvisioningState
      customHttpsProvisioningSubstate:
        description: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.
        enum:
          - SubmittingDomainControlValidationRequest
          - PendingDomainControlValidationREquestApproval
          - DomainControlValidationRequestApproved
          - DomainControlValidationRequestRejected
          - DomainControlValidationRequestTimedOut
          - IssuingCertificate
          - DeployingCertificate
          - CertificateDeployed
          - DeletingCertificate
          - CertificateDeleted
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: CustomHttpsProvisioningSubstate
      hostName:
        description: The host name of the custom domain. Must be a domain name.
        type: string
      provisioningState:
        description: Provisioning status of the custom domain.
        readOnly: true
        type: string
      resourceState:
        description: Resource status of the custom domain.
        enum:
          - Creating
          - Active
          - Deleting
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: CustomDomainResourceState
      validationData:
        description: Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.
        type: string
    required:
      - hostName
  CustomDomainPropertiesParameters:
    description: The JSON object that contains the properties of the custom domain to create.
    properties:
      hostName:
        description: The host name of the custom domain. Must be a domain name.
        type: string
    required:
      - hostName
  DeepCreatedOrigin:
    description: The main origin of CDN content which is added when creating a CDN endpoint.
    properties:
      name:
        description: Origin name
        type: string
      properties:
        $ref: "#/definitions/DeepCreatedOriginProperties"
        x-ms-client-flatten: true
    required:
      - name
    type: object
    x-ms-azure-resource: true
  DeepCreatedOriginProperties:
    description: Properties of the origin created on the CDN endpoint.
    properties:
      hostName:
        description: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.
        type: string
      httpPort:
        description: The value of the HTTP port. Must be between 1 and 65535
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
      httpsPort:
        description: The value of the HTTPS port. Must be between 1 and 65535
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
    required:
      - hostName
    type: object
    x-ms-azure-resource: true
  DeliveryRule:
    description: A rule that specifies a set of actions and conditions
    properties:
      actions:
        description: A list of actions that are executed when all the conditions of a rule are satisfied.
        items:
          $ref: "#/definitions/DeliveryRuleAction"
        type: array
      conditions:
        description: A list of conditions that must be matched for the actions to be executed
        items:
          $ref: "#/definitions/DeliveryRuleCondition"
        type: array
      name:
        description: Name of the rule
        type: string
      order:
        description: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.
        type: integer
    required:
      - order
      - actions
    type: object
  DeliveryRuleAction:
    description: An action for the delivery rule.
    discriminator: name
    properties:
      name:
        description: The name of the action for the delivery rule.
        enum:
          - CacheExpiration
          - CacheKeyQueryString
          - ModifyRequestHeader
          - ModifyResponseHeader
          - UrlRedirect
          - UrlRewrite
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeliveryRuleAction
    required:
      - name
  DeliveryRuleCacheExpirationAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the cache expiration action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/CacheExpirationActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: CacheExpiration
  DeliveryRuleCacheKeyQueryStringAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the cache-key query string action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/CacheKeyQueryStringActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: CacheKeyQueryString
  DeliveryRuleCondition:
    description: A condition for the delivery rule.
    discriminator: name
    properties:
      name:
        description: The name of the condition for the delivery rule.
        enum:
          - RemoteAddress
          - RequestMethod
          - QueryString
          - PostArgs
          - RequestUri
          - RequestHeader
          - RequestBody
          - RequestScheme
          - UrlPath
          - UrlFileExtension
          - UrlFileName
          - HttpVersion
          - Cookies
          - IsDevice
        type: string
        x-ms-enum:
          modelAsString: true
          name: MatchVariable
    required:
      - name
  DeliveryRuleCookiesCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the Cookies condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/CookiesMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: Cookies
  DeliveryRuleHttpVersionCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the HttpVersion condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/HttpVersionMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: HttpVersion
  DeliveryRuleIsDeviceCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the IsDevice condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/IsDeviceMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: IsDevice
  DeliveryRulePostArgsCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the PostArgs condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/PostArgsMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: PostArgs
  DeliveryRuleQueryStringCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the QueryString condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/QueryStringMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: QueryString
  DeliveryRuleRemoteAddressCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RemoteAddress condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RemoteAddressMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RemoteAddress
  DeliveryRuleRequestBodyCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RequestBody condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RequestBodyMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RequestBody
  DeliveryRuleRequestHeaderAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the request header action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/HeaderActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: ModifyRequestHeader
  DeliveryRuleRequestHeaderCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RequestHeader condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RequestHeaderMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RequestHeader
  DeliveryRuleRequestMethodCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RequestMethod condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RequestMethodMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RequestMethod
  DeliveryRuleRequestSchemeCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RequestScheme condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RequestSchemeMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RequestScheme
  DeliveryRuleRequestUriCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the RequestUri condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/RequestUriMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: RequestUri
  DeliveryRuleResponseHeaderAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the response header action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/HeaderActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: ModifyResponseHeader
  DeliveryRuleUrlFileExtensionCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the UrlFileExtension condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/UrlFileExtensionMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: UrlFileExtension
  DeliveryRuleUrlFileNameCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the UrlFileName condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/UrlFileNameMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: UrlFileName
  DeliveryRuleUrlPathCondition:
    allOf:
      - $ref: "#/definitions/DeliveryRuleCondition"
    description: Defines the UrlPath condition for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/UrlPathMatchConditionParameters"
        description: Defines the parameters for the condition.
    required:
      - parameters
    x-ms-discriminator-value: UrlPath
  EdgeNode:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.
    properties:
      properties:
        $ref: "#/definitions/EdgeNodeProperties"
        x-ms-client-flatten: true
    type: object
  EdgeNodeProperties:
    description: The JSON object that contains the properties required to create an edgenode.
    properties:
      ipAddressGroups:
        description: List of ip address groups.
        items:
          $ref: "#/definitions/IpAddressGroup"
        type: array
    required:
      - ipAddressGroups
  EdgenodeResult:
    description: Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of edgenode list results if there are any.
        type: string
      value:
        description: Edge node of CDN service.
        items:
          $ref: "#/definitions/EdgeNode"
        readOnly: true
        type: array
  Endpoint:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format <endpointname>.azureedge.net.
    properties:
      properties:
        $ref: "#/definitions/EndpointProperties"
        x-ms-client-flatten: true
    type: object
  EndpointListResult:
    description: Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of endpoint objects if there is any.
        type: string
      value:
        description: List of CDN endpoints within a profile
        items:
          $ref: "#/definitions/Endpoint"
        readOnly: true
        type: array
  EndpointProperties:
    allOf:
      - $ref: "#/definitions/EndpointPropertiesUpdateParameters"
    description: The JSON object that contains the properties required to create an endpoint.
    properties:
      hostName:
        description: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net
        readOnly: true
        type: string
      origins:
        description: The source of the content being delivered via CDN.
        items:
          $ref: "#/definitions/DeepCreatedOrigin"
        type: array
      provisioningState:
        description: Provisioning status of the endpoint.
        readOnly: true
        type: string
      resourceState:
        description: Resource status of the endpoint.
        enum:
          - Creating
          - Deleting
          - Running
          - Starting
          - Stopped
          - Stopping
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: EndpointResourceState
    required:
      - origins
  EndpointPropertiesUpdateParameters:
    description: The JSON object containing endpoint update parameters.
    properties:
      contentTypesToCompress:
        description: List of content types on which compression applies. The value should be a valid MIME type.
        items:
          type: string
        type: array
      deliveryPolicy:
        description: A policy that specifies the delivery rules to be used for an endpoint.
        properties:
          description:
            description: User-friendly description of the policy.
            type: string
          rules:
            description: A list of the delivery rules.
            items:
              $ref: "#/definitions/DeliveryRule"
            type: array
        required:
          - rules
        type: object
      geoFilters:
        description: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/
        items:
          $ref: "#/definitions/GeoFilter"
        type: array
      isCompressionEnabled:
        description: Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.
        type: boolean
      isHttpAllowed:
        description: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.
        type: boolean
      isHttpsAllowed:
        description: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.
        type: boolean
      optimizationType:
        $ref: "#/definitions/OptimizationType"
        description: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.
      originHostHeader:
        description: The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
        type: string
      originPath:
        description: A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.
        type: string
      probePath:
        description: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.
        type: string
      queryStringCachingBehavior:
        $ref: "#/definitions/QueryStringCachingBehavior"
        description: Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.
      webApplicationFirewallPolicyLink:
        description: Defines the Web Application Firewall policy for the endpoint (if applicable)
        properties:
          id:
            description: Resource ID.
            type: string
        type: object
  EndpointUpdateParameters:
    description: Properties required to create or update an endpoint.
    properties:
      properties:
        $ref: "#/definitions/EndpointPropertiesUpdateParameters"
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Endpoint tags.
        type: object
    type: object
    x-ms-azure-resource: true
  ErrorResponse:
    description: Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.
    properties:
      code:
        description: Error code.
        readOnly: true
        type: string
      message:
        description: Error message indicating why the operation failed.
        readOnly: true
        type: string
    type: object
  GeoFilter:
    description: Rules defining user's geo access within a CDN endpoint.
    properties:
      action:
        description: Action of the geo filter, i.e. allow or block access.
        enum:
          - Block
          - Allow
        type: string
        x-ms-enum:
          modelAsString: false
          name: GeoFilterActions
      countryCodes:
        description: Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.
        items:
          type: string
        type: array
      relativePath:
        description: Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)
        type: string
    required:
      - relativePath
      - action
      - countryCodes
    type: object
  HeaderActionParameters:
    description: Defines the parameters for the request header action.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters"
        type: string
      headerAction:
        description: Action to perform
        enum:
          - Append
          - Overwrite
          - Delete
        type: string
        x-ms-enum:
          modelAsString: true
          name: HeaderAction
      headerName:
        description: Name of the header to modify
        type: string
      value:
        description: Value for the specified action
        type: string
    required:
      - headerAction
      - headerName
      - "@odata.type"
  HttpVersionMatchConditionParameters:
    description: Defines the parameters for HttpVersion match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Equal
        type: string
        x-ms-enum:
          modelAsString: true
          name: HttpVersionOperator
    required:
      - operator
      - matchValues
      - "@odata.type"
  IpAddressGroup:
    description: CDN Ip address group
    properties:
      deliveryRegion:
        description: The delivery region of the ip address group
        type: string
      ipv4Addresses:
        description: The list of ip v4 addresses.
        items:
          $ref: "#/definitions/cidrIpAddress"
        type: array
      ipv6Addresses:
        description: The list of ip v6 addresses.
        items:
          $ref: "#/definitions/cidrIpAddress"
        type: array
    type: object
  IsDeviceMatchConditionParameters:
    description: Defines the parameters for IsDevice match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          enum:
            - Mobile
            - Desktop
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Equal
        type: string
        x-ms-enum:
          modelAsString: true
          name: IsDeviceOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  KeyVaultCertificateSourceParameters:
    description: Describes the parameters for using a user's KeyVault certificate for securing custom domain.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters"
        type: string
      deleteRule:
        description: Describes the action that shall be taken when the certificate is removed from Key Vault.
        enum:
          - NoAction
        type: string
        x-ms-enum:
          modelAsString: true
          name: DeleteRule
      resourceGroupName:
        description: Resource group of the user's Key Vault containing the SSL certificate
        type: string
      secretName:
        description: The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.
        type: string
      secretVersion:
        description: The version(GUID) of Key Vault Secret in Key Vault.
        type: string
      subscriptionId:
        description: Subscription Id of the user's Key Vault containing the SSL certificate
        type: string
      updateRule:
        description: Describes the action that shall be taken when the certificate is updated in Key Vault.
        enum:
          - NoAction
        type: string
        x-ms-enum:
          modelAsString: true
          name: UpdateRule
      vaultName:
        description: The name of the user's Key Vault containing the SSL certificate
        type: string
    required:
      - "@odata.type"
      - subscriptionId
      - resourceGroupName
      - vaultName
      - secretName
      - secretVersion
      - updateRule
      - deleteRule
  LoadParameters:
    description: Parameters required for content load.
    properties:
      contentPaths:
        description: The path to the content to be loaded. Path should be a relative file URL of the origin.
        items:
          type: string
        type: array
    required:
      - contentPaths
    type: object
  Operation:
    description: CDN REST API operation
    properties:
      display:
        description: The object that represents the operation.
        properties:
          operation:
            description: "Operation type: Read, write, delete, etc."
            readOnly: true
            type: string
          provider:
            description: "Service provider: Microsoft.Cdn"
            readOnly: true
            type: string
          resource:
            description: "Resource on which the operation is performed: Profile, endpoint, etc."
            readOnly: true
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        readOnly: true
        type: string
    type: object
  OperationsListResult:
    description: Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        type: string
      value:
        description: List of CDN operations supported by the CDN resource provider.
        items:
          $ref: "#/definitions/Operation"
        readOnly: true
        type: array
  OptimizationType:
    description: Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.
    enum:
      - GeneralWebDelivery
      - GeneralMediaStreaming
      - VideoOnDemandMediaStreaming
      - LargeFileDownload
      - DynamicSiteAcceleration
    type: string
    x-ms-enum:
      modelAsString: true
      name: OptimizationType
  Origin:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.
    properties:
      properties:
        $ref: "#/definitions/OriginProperties"
        x-ms-client-flatten: true
    type: object
  OriginListResult:
    description: Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of origin objects if there are any.
        type: string
      value:
        description: List of CDN origins within an endpoint
        items:
          $ref: "#/definitions/Origin"
        readOnly: true
        type: array
  OriginProperties:
    description: The JSON object that contains the properties of the origin.
    properties:
      hostName:
        description: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.
        type: string
      httpPort:
        description: The value of the HTTP port. Must be between 1 and 65535.
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
      httpsPort:
        description: The value of the https port. Must be between 1 and 65535.
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
      provisioningState:
        description: Provisioning status of the origin.
        readOnly: true
        type: string
      resourceState:
        description: Resource status of the origin.
        enum:
          - Creating
          - Active
          - Deleting
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: OriginResourceState
    required:
      - hostName
  OriginPropertiesParameters:
    description: The JSON object that contains the properties of the origin.
    properties:
      hostName:
        description: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.
        type: string
      httpPort:
        description: The value of the HTTP port. Must be between 1 and 65535.
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
      httpsPort:
        description: The value of the HTTPS port. Must be between 1 and 65535.
        exclusiveMaximum: false
        exclusiveMinimum: false
        maximum: 65535
        minimum: 1
        type: integer
  OriginUpdateParameters:
    description: Origin properties needed for origin creation or update.
    properties:
      properties:
        $ref: "#/definitions/OriginPropertiesParameters"
        x-ms-client-flatten: true
    type: object
    x-ms-azure-resource: true
  PostArgsMatchConditionParameters:
    description: Defines the parameters for PostArgs match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: PostArgsOperator
      selector:
        description: Name of PostArg to be matched
        type: string
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - selector
      - "@odata.type"
  Profile:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and pricing tier.
    properties:
      properties:
        $ref: "#/definitions/ProfileProperties"
        x-ms-client-flatten: true
      sku:
        $ref: "#/definitions/Sku"
        description: The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.
    required:
      - sku
    type: object
  ProfileListResult:
    description: Result of the request to list profiles. It contains a list of profile objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of profile objects if there are any.
        type: string
      value:
        description: List of CDN profiles within a resource group.
        items:
          $ref: "#/definitions/Profile"
        readOnly: true
        type: array
  ProfileProperties:
    description: The JSON object that contains the properties required to create a profile.
    properties:
      provisioningState:
        description: Provisioning status of the profile.
        readOnly: true
        type: string
      resourceState:
        description: Resource status of the profile.
        enum:
          - Creating
          - Active
          - Deleting
          - Disabled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProfileResourceState
  ProfileUpdateParameters:
    description: Properties required to update a profile.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Profile tags
        type: object
    type: object
    x-ms-azure-resource: true
  ProxyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM proxy resource. It will have everything other than required location and tags
  PurgeParameters:
    description: Parameters required for content purge.
    properties:
      contentPaths:
        description: The path to the content to be purged. Can describe a file path or a wild card directory.
        items:
          type: string
        type: array
    required:
      - contentPaths
    type: object
  QueryStringCachingBehavior:
    description: Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.
    enum:
      - IgnoreQueryString
      - BypassCaching
      - UseQueryString
      - NotSet
    type: string
    x-ms-enum:
      modelAsString: false
      name: QueryStringCachingBehavior
  QueryStringMatchConditionParameters:
    description: Defines the parameters for QueryString match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: QueryStringOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  RemoteAddressMatchConditionParameters:
    description: Defines the parameters for RemoteAddress match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters"
        type: string
      matchValues:
        description: Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - IPMatch
          - GeoMatch
        type: string
        x-ms-enum:
          modelAsString: true
          name: RemoteAddressOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  RequestBodyMatchConditionParameters:
    description: Defines the parameters for RequestBody match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: RequestBodyOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  RequestHeaderMatchConditionParameters:
    description: Defines the parameters for RequestHeader match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: RequestHeaderOperator
      selector:
        description: Name of Header to be matched
        type: string
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - selector
      - "@odata.type"
  RequestMethodMatchConditionParameters:
    description: Defines the parameters for RequestMethod match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          enum:
            - GET
            - HEAD
            - POST
            - PUT
            - DELETE
            - OPTIONS
            - TRACE
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Equal
        type: string
        x-ms-enum:
          modelAsString: true
          name: RequestMethodOperator
    required:
      - operator
      - matchValues
      - "@odata.type"
  RequestSchemeMatchConditionParameters:
    description: "Defines the parameters for RequestScheme match conditions "
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          enum:
            - HTTP
            - HTTPS
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Equal
        type: string
    required:
      - operator
      - matchValues
      - "@odata.type"
  RequestUriMatchConditionParameters:
    description: Defines the parameters for RequestUri match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: RequestUriOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  Resource:
    description: The core properties of ARM resources
    properties:
      id:
        description: Resource ID.
        readOnly: true
        type: string
      name:
        description: Resource name.
        readOnly: true
        type: string
      type:
        description: Resource type.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ResourceType:
    description: Type of CDN resource used in CheckNameAvailability.
    enum:
      - Microsoft.Cdn/Profiles/Endpoints
    type: string
    x-ms-enum:
      modelAsString: false
      name: ResourceType
  ResourceUsage:
    description: Output of check resource usage API.
    properties:
      currentValue:
        description: Actual value of usage on the specified resource type.
        readOnly: true
        type: integer
      limit:
        description: Quota of the specified resource type.
        readOnly: true
        type: integer
      resourceType:
        description: Resource type for which the usage is provided.
        readOnly: true
        type: string
      unit:
        description: Unit of the usage. e.g. Count.
        readOnly: true
        type: string
    type: object
  ResourceUsageListResult:
    description: Output of check resource usage API.
    properties:
      nextLink:
        description: URL to get the next set of custom domain objects if there are any.
        type: string
      value:
        description: List of resource usages.
        items:
          $ref: "#/definitions/ResourceUsage"
        readOnly: true
        type: array
  Sku:
    description: The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.
    properties:
      name:
        description: Name of the pricing tier.
        enum:
          - Standard_Verizon
          - Premium_Verizon
          - Custom_Verizon
          - Standard_Akamai
          - Standard_ChinaCdn
          - Standard_Microsoft
          - Premium_ChinaCdn
        type: string
        x-ms-enum:
          modelAsString: true
          name: SkuName
    type: object
  SsoUri:
    description: The URI required to login to the supplemental portal from the Azure portal.
    properties:
      ssoUriValue:
        description: The URI used to login to the supplemental portal.
        readOnly: true
        type: string
    type: object
  SupportedOptimizationTypesListResult:
    description: The result of the GetSupportedOptimizationTypes API
    properties:
      supportedOptimizationTypes:
        description: Supported optimization types for a profile.
        items:
          $ref: "#/definitions/OptimizationType"
        readOnly: true
        type: array
    type: object
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM tracked top level resource.
    properties:
      location:
        description: Resource location.
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
        x-ms-mutability:
          - read
          - create
          - update
    required:
      - location
  UrlFileExtensionMatchConditionParameters:
    description: Defines the parameters for UrlFileExtension match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: UrlFileExtensionOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  UrlFileNameMatchConditionParameters:
    description: Defines the parameters for UrlFilename match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
        type: string
        x-ms-enum:
          modelAsString: true
          name: UrlFileNameOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  UrlPathMatchConditionParameters:
    description: Defines the parameters for UrlPath match conditions
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters"
        type: string
      matchValues:
        description: The match value for the condition of the delivery rule
        items:
          type: string
        type: array
      negateCondition:
        description: Describes if this is negate condition or not
        type: boolean
      operator:
        description: Describes operator to be matched
        enum:
          - Any
          - Equal
          - Contains
          - BeginsWith
          - EndsWith
          - LessThan
          - LessThanOrEqual
          - GreaterThan
          - GreaterThanOrEqual
          - Wildcard
        type: string
        x-ms-enum:
          modelAsString: true
          name: UrlPathOperator
      transforms:
        description: List of transforms
        items:
          $ref: "#/definitions/transform"
        type: array
    required:
      - operator
      - matchValues
      - "@odata.type"
  UrlRedirectAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the url redirect action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/UrlRedirectActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: UrlRedirect
  UrlRedirectActionParameters:
    description: Defines the parameters for the url redirect action.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters"
        type: string
      customFragment:
        description: "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #."
        type: string
      customHostname:
        description: Host to redirect. Leave empty to use the incoming host as the destination host.
        type: string
      customPath:
        description: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.
        type: string
      customQueryString:
        description: The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in <key>=<value> format. ? and & will be added automatically so do not include them.
        type: string
      destinationProtocol:
        description: Protocol to use for the redirect. The default value is MatchRequest
        enum:
          - MatchRequest
          - Http
          - Https
        type: string
        x-ms-enum:
          modelAsString: true
          name: DestinationProtocol
      redirectType:
        description: The redirect type the rule will use when redirecting traffic.
        enum:
          - Moved
          - Found
          - TemporaryRedirect
          - PermanentRedirect
        type: string
        x-ms-enum:
          modelAsString: true
          name: RedirectType
    required:
      - redirectType
      - "@odata.type"
  UrlRewriteAction:
    allOf:
      - $ref: "#/definitions/DeliveryRuleAction"
    description: Defines the url rewrite action for the delivery rule.
    properties:
      parameters:
        $ref: "#/definitions/UrlRewriteActionParameters"
        description: Defines the parameters for the action.
    required:
      - parameters
    x-ms-discriminator-value: UrlRewrite
  UrlRewriteActionParameters:
    description: Defines the parameters for the url rewrite action.
    properties:
      "@odata.type":
        enum:
          - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters"
        type: string
      destination:
        description: "Define the destination path for be used in the rewrite. This will overwrite the source pattern "
        type: string
      preserveUnmatchedPath:
        description: "If True, the remaining path after the source pattern will be appended to the new destination path.  "
        type: boolean
      sourcePattern:
        description: define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use "/" as the source pattern value. To match only the root directory and re-write this path, use the origin path field
        type: string
    required:
      - sourcePattern
      - destination
      - "@odata.type"
  UserManagedHttpsParameters:
    allOf:
      - $ref: "#/definitions/CustomDomainHttpsParameters"
    description: Defines the certificate source parameters using user's keyvault certificate for enabling SSL.
    properties:
      certificateSourceParameters:
        $ref: "#/definitions/KeyVaultCertificateSourceParameters"
        description: Defines the certificate source parameters using user's keyvault certificate for enabling SSL.
    required:
      - certificateSourceParameters
    x-ms-discriminator-value: AzureKeyVault
  ValidateCustomDomainInput:
    description: Input of the custom domain to be validated for DNS mapping.
    properties:
      hostName:
        description: The host name of the custom domain. Must be a domain name.
        type: string
    required:
      - hostName
    type: object
  ValidateCustomDomainOutput:
    description: Output of custom domain validation.
    properties:
      customDomainValidated:
        description: Indicates whether the custom domain is valid or not.
        readOnly: true
        type: boolean
      message:
        description: Error message describing why the custom domain is not valid.
        readOnly: true
        type: string
      reason:
        description: The reason why the custom domain is not valid.
        readOnly: true
        type: string
    type: object
  ValidateProbeInput:
    description: Input of the validate probe API.
    properties:
      probeURL:
        description: The probe URL to validate.
        type: string
    required:
      - probeURL
    type: object
  ValidateProbeOutput:
    description: Output of the validate probe API.
    properties:
      errorCode:
        description: Specifies the error code when the probe url is not accepted.
        readOnly: true
        type: string
      isValid:
        description: Indicates whether the probe URL is accepted or not.
        readOnly: true
        type: boolean
      message:
        description: The detailed error message describing why the probe URL is not accepted.
        readOnly: true
        type: string
    type: object
  cidrIpAddress:
    description: CIDR Ip address
    properties:
      baseIpAddress:
        description: Ip address itself.
        type: string
      prefixLength:
        description: The length of the prefix of the ip address.
        type: integer
    type: object
  transform:
    description: Describes what transforms are applied before matching
    enum:
      - Lowercase
      - Uppercase
    type: string
    x-ms-enum:
      modelAsString: true
      name: transform
