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. For more information, see https://msdn.microsoft.com/en-us/library/azure/dn790557.aspx.
  title: CdnManagementClient
  version: 2015-06-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/cdn/resource-manager/Microsoft.Cdn/stable/2015-06-01/cdn.json
      version: "2.0"
  x-preferred: false
  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 2015-06-01
    in: query
    name: api-version
    required: true
    type: string
  subscriptionIdParameter:
    description: Azure Subscription ID.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.Cdn/checkNameAvailability:
    post:
      operationId: NameAvailability_CheckNameAvailability
      parameters:
        - description: Input to check.
          in: body
          name: checkNameAvailabilityInput
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailabilityInput"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CheckNameAvailabilityOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Check the availability of a resource name without creating the resource. This is needed for resources where name is globally unique, such as a CDN endpoint.
      tags:
        - CheckNameAvailability
  /providers/Microsoft.Cdn/operations:
    get:
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists all of the available CDN REST API operations.
      tags:
        - Operations
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles":
    get:
      operationId: Profiles_ListBySubscriptionId
      parameters:
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProfileListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists the CDN profiles within an Azure subscription.
      tags:
        - Profiles
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles":
    get:
      operationId: Profiles_ListByResourceGroup
      parameters:
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ProfileListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists the CDN profiles within a resource group.
      tags:
        - Profiles
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}":
    delete:
      operationId: Profiles_DeleteIfExists
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: No Content.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an existing CDN profile with the specified parameters. Deleting a profile will result in the deletion of all subresources including endpoints, origins and custom domains.
      tags:
        - Profiles
      x-ms-long-running-operation: true
    get:
      operationId: Profiles_Get
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a CDN profile with the specified parameters.
      tags:
        - Profiles
    patch:
      operationId: Profiles_Update
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Profile properties needed for update.
          in: body
          name: profileProperties
          required: true
          schema:
            $ref: "#/definitions/ProfileUpdateParameters"
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Updates an existing CDN profile with the specified parameters.
      tags:
        - Profiles
      x-ms-long-running-operation: true
    put:
      operationId: Profiles_Create
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Profile properties needed for creation.
          in: body
          name: profileProperties
          required: true
          schema:
            $ref: "#/definitions/ProfileCreateParameters"
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Profile"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted and  the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Creates a new CDN profile with the specified parameters.
      tags:
        - Profiles
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints":
    get:
      operationId: Endpoints_ListByProfile
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/EndpointListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists existing CDN endpoints within a profile.
      tags:
        - Endpoints
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}":
    delete:
      operationId: Endpoints_DeleteIfExists
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted
        "204":
          description: No Content
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an existing CDN endpoint with the specified parameters.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
    get:
      operationId: Endpoints_Get
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Endpoint"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets an existing CDN endpoint with the specified parameters.
      tags:
        - Endpoints
    patch:
      operationId: Endpoints_Update
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Endpoint properties
          in: body
          name: endpointProperties
          required: true
          schema:
            $ref: "#/definitions/EndpointUpdateParameters"
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          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"
      summary: Updates an existing CDN endpoint with the specified parameters. Only tags and OriginHostHeader 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.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
    put:
      operationId: Endpoints_Create
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Endpoint properties
          in: body
          name: endpointProperties
          required: true
          schema:
            $ref: "#/definitions/EndpointCreateParameters"
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Endpoint"
        "201":
          description: 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"
      summary: Creates a new CDN endpoint with the specified parameters.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains":
    get:
      operationId: CustomDomains_ListByEndpoint
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CustomDomainListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists the existing CDN custom domains within an endpoint.
      tags:
        - CustomDomains
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}":
    delete:
      operationId: CustomDomains_DeleteIfExists
      parameters:
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/CustomDomain"
        "204":
          description: No Content
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an existing CDN custom domain within an endpoint.
      tags:
        - CustomDomains
      x-ms-long-running-operation: true
    get:
      operationId: CustomDomains_Get
      parameters:
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CustomDomain"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets an existing CDN custom domain within an endpoint.
      tags:
        - CustomDomains
    patch:
      operationId: CustomDomains_Update
      parameters:
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: Custom domain properties to update.
          in: body
          name: customDomainProperties
          required: true
          schema:
            $ref: "#/definitions/CustomDomainParameters"
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Updates an existing CDN custom domain within an endpoint.
      tags:
        - CustomDomains
    put:
      operationId: CustomDomains_Create
      parameters:
        - description: Name of the custom domain within an endpoint.
          in: path
          name: customDomainName
          required: true
          type: string
        - description: Custom domain properties required for creation.
          in: body
          name: customDomainProperties
          required: true
          schema:
            $ref: "#/definitions/CustomDomainParameters"
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/CustomDomain"
        "201":
          description: 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"
      summary: Creates a new CDN custom domain within an endpoint.
      tags:
        - CustomDomains
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load":
    post:
      operationId: Endpoints_LoadContent
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: The path to the content to be loaded. Path should describe a file.
          in: body
          name: contentFilePaths
          required: true
          schema:
            $ref: "#/definitions/LoadParameters"
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted and the operation will complete asynchronously.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Forcibly pre-loads CDN endpoint content.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins":
    get:
      operationId: Origins_ListByEndpoint
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OriginListResult"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Lists the existing CDN origins within an endpoint.
      tags:
        - Origins
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}":
    delete:
      operationId: Origins_DeleteIfExists
      parameters:
        - description: Name of the origin. Must be unique within endpoint.
          in: path
          name: originName
          required: true
          type: string
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Origin"
        "204":
          description: No Content
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an existing CDN origin within an endpoint.
      tags:
        - Origins
      x-ms-long-running-operation: true
    get:
      operationId: Origins_Get
      parameters:
        - description: Name of the origin, an arbitrary value but it needs to be unique under endpoint
          in: path
          name: originName
          required: true
          type: string
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Origin"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets an existing CDN origin within an endpoint.
      tags:
        - Origins
    patch:
      operationId: Origins_Update
      parameters:
        - description: Name of the origin. Must be unique within endpoint.
          in: path
          name: originName
          required: true
          type: string
        - description: Origin properties
          in: body
          name: originProperties
          required: true
          schema:
            $ref: "#/definitions/OriginParameters"
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          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"
      summary: Updates an existing CDN origin within an endpoint.
      tags:
        - Origins
      x-ms-long-running-operation: true
    put:
      operationId: Origins_Create
      parameters:
        - description: Name of the origin, an arbitrary value but it needs to be unique under endpoint
          in: path
          name: originName
          required: true
          type: string
        - description: Origin properties
          in: body
          name: originProperties
          required: true
          schema:
            $ref: "#/definitions/OriginParameters"
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/Origin"
        "201":
          description: Created
          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"
      summary: Creates a new CDN origin within an endpoint.
      tags:
        - Origins
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge":
    post:
      operationId: Endpoints_PurgeContent
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: The path to the content to be purged. Path can describe a file or directory.
          in: body
          name: contentFilePaths
          required: true
          schema:
            $ref: "#/definitions/PurgeParameters"
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "202":
          description: Accepted and the operation will complete asynchronously.
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Forcibly purges CDN endpoint content.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start":
    post:
      operationId: Endpoints_Start
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "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"
      summary: Starts an existing stopped CDN endpoint.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop":
    post:
      operationId: Endpoints_Stop
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "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"
      summary: Stops an existing running CDN endpoint.
      tags:
        - Endpoints
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain":
    post:
      operationId: Endpoints_ValidateCustomDomain
      parameters:
        - description: Name of the endpoint within the CDN profile.
          in: path
          name: endpointName
          required: true
          type: string
        - description: Custom domain to validate.
          in: body
          name: customDomainProperties
          required: true
          schema:
            $ref: "#/definitions/ValidateCustomDomainInput"
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/ValidateCustomDomainOutput"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Validates a custom domain mapping to ensure it maps to the correct CNAME in DNS.
      tags:
        - Endpoints
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri":
    post:
      operationId: Profiles_GenerateSsoUri
      parameters:
        - description: Name of the CDN profile within the resource group.
          in: path
          name: profileName
          required: true
          type: string
        - description: Name of the resource group within the Azure subscription.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/subscriptionIdParameter"
        - $ref: "#/parameters/apiVersionParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/SsoUri"
        default:
          description: CDN error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Generates a dynamic SSO URI used to sign in to the CDN Supplemental Portal used for advanced management tasks, such as Country Filtering, Advanced HTTP Reports, and Real-time Stats and Alerts. The SSO URI changes approximately every 10 minutes.
      tags:
        - Profiles
definitions:
  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.
        type: string
      NameAvailable:
        description: Indicates whether the name is available.
        type: boolean
      Reason:
        description: The reason why the name is not available.
        type: string
    type: object
  CustomDomain:
    allOf:
      - $ref: "#/definitions/Resource"
    description: CDN CustomDomain represents a mapping between a user specified domain name and a CDN endpoint. This is to use custom domain names to represent the URLs for branding purposes.
    properties:
      properties:
        $ref: "#/definitions/CustomDomainProperties"
        x-ms-client-flatten: true
    type: object
  CustomDomainListResult:
    properties:
      value:
        description: List of CDN CustomDomains within an endpoint.
        items:
          $ref: "#/definitions/CustomDomain"
        type: array
  CustomDomainParameters:
    description: CustomDomain properties required for custom domain creation or update.
    properties:
      properties:
        $ref: "#/definitions/CustomDomainPropertiesParameters"
        x-ms-client-flatten: true
    type: object
    x-ms-azure-resource: true
  CustomDomainProperties:
    properties:
      hostName:
        description: The host name of the custom domain. Must be a domain name.
        type: string
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: Provisioning status of the custom domain.
      resourceState:
        description: Resource status of the custom domain.
        enum:
          - Creating
          - Active
          - Deleting
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: CustomDomainResourceState
    required:
      - hostName
  CustomDomainPropertiesParameters:
    properties:
      hostName:
        description: The host name of the custom domain. Must be a domain name.
        type: string
    required:
      - hostName
  DeepCreatedOrigin:
    description: Deep created origins within 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 deep created origin on a CDN endpoint.
    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
        type: integer
      httpsPort:
        description: The value of the HTTPS port. Must be between 1 and 65535
        type: integer
    required:
      - hostName
    type: object
    x-ms-azure-resource: true
  Endpoint:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: CDN endpoint is the entity within a CDN profile containing configuration information regarding caching behaviors and origins. The CDN endpoint is exposed using the URL format <endpointname>.azureedge.net by default, but custom domains can also be created.
    properties:
      properties:
        $ref: "#/definitions/EndpointProperties"
        x-ms-client-flatten: true
    type: object
  EndpointCreateParameters:
    description: Endpoint properties required for new endpoint creation.
    properties:
      location:
        description: Endpoint location
        type: string
      properties:
        $ref: "#/definitions/EndpointPropertiesCreateParameters"
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Endpoint tags
        type: object
    required:
      - location
    type: object
    x-ms-azure-resource: true
  EndpointListResult:
    properties:
      value:
        description: List of CDN endpoints within a profile
        items:
          $ref: "#/definitions/Endpoint"
        type: array
  EndpointProperties:
    properties:
      contentTypesToCompress:
        description: List of content types on which compression will be applied. The value for the elements should be a valid MIME type.
        items:
          type: string
        type: array
      hostName:
        description: The host name of the endpoint {endpointName}.{DNSZone}
        readOnly: true
        type: string
      isCompressionEnabled:
        description: Indicates whether the compression is enabled. Default value is false. If compression is enabled, the content transferred from cdn endpoint to end user will be compressed. The requested content must be larger than 1 byte and smaller 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
      originHostHeader:
        description: The host header the CDN provider will send along with content requests to origins. The default value is the host name of the origin.
        type: string
      originPath:
        description: The path used for origin requests.
        type: string
      origins:
        description: The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options.
        items:
          $ref: "#/definitions/DeepCreatedOrigin"
        type: array
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: Provisioning status of the endpoint.
      queryStringCachingBehavior:
        $ref: "#/definitions/QueryStringCachingBehavior"
        description: Defines the query string caching behavior.
      resourceState:
        description: Resource status of the endpoint.
        enum:
          - Creating
          - Deleting
          - Running
          - Starting
          - Stopped
          - Stopping
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: EndpointResourceState
  EndpointPropertiesCreateParameters:
    properties:
      contentTypesToCompress:
        description: List of content types on which compression will be applied. The value for the elements should be a valid MIME type.
        items:
          type: string
        type: array
      isCompressionEnabled:
        description: Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller 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
      originHostHeader:
        description: The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin.
        type: string
      originPath:
        description: The path used for origin requests.
        type: string
      origins:
        description: The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options.
        items:
          $ref: "#/definitions/DeepCreatedOrigin"
        type: array
      queryStringCachingBehavior:
        $ref: "#/definitions/QueryStringCachingBehavior"
        description: Defines the query string caching behavior.
    required:
      - origins
  EndpointPropertiesUpdateParameters:
    properties:
      contentTypesToCompress:
        description: List of content types on which compression will be applied. The value for the elements should be a valid MIME type.
        items:
          type: string
        type: array
      isCompressionEnabled:
        description: Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller 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
      originHostHeader:
        description: The host header the CDN provider will send along with content requests to origins. The default value is the host name of the origin.
        type: string
      originPath:
        description: The path used for origin requests.
        type: string
      queryStringCachingBehavior:
        $ref: "#/definitions/QueryStringCachingBehavior"
        description: Defines the query string caching behavior
  EndpointUpdateParameters:
    description: Endpoint properties required for new endpoint creation.
    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:
    properties:
      code:
        description: Error code
        type: string
      message:
        description: Error message indicating why the operation failed.
        type: string
    type: object
  LoadParameters:
    description: Parameters required for endpoint load.
    properties:
      contentPaths:
        description: The path to the content to be loaded. Should describe a file path.
        items:
          type: string
        type: array
    required:
      - contentPaths
    type: object
  Operation:
    description: CDN REST API operation
    properties:
      display:
        properties:
          operation:
            description: "Operation type: Read, write, delete, etc."
            type: string
          provider:
            description: "Service provider: Microsoft.Cdn"
            type: string
          resource:
            description: "Resource on which the operation is performed: Profile, endpoint, etc."
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        type: string
    type: object
  OperationListResult:
    properties:
      value:
        description: List of CDN operations supported by the CDN resource provider.
        items:
          $ref: "#/definitions/Operation"
        type: array
  Origin:
    allOf:
      - $ref: "#/definitions/Resource"
    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:
    properties:
      value:
        description: List of CDN origins within an endpoint
        items:
          $ref: "#/definitions/Origin"
        type: array
  OriginParameters:
    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
  OriginProperties:
    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.
        type: integer
      httpsPort:
        description: The value of the https port. Must be between 1 and 65535.
        type: integer
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: Provisioning status of the origin.
      resourceState:
        description: Resource status of the origin.
        enum:
          - Creating
          - Active
          - Deleting
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: OriginResourceState
    required:
      - hostName
  OriginPropertiesParameters:
    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.
        type: integer
      httpsPort:
        description: The value of the HTTPS port. Must be between 1 and 65535.
        type: integer
    required:
      - hostName
  Profile:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: CDN profile represents the top level resource and the entry point into the CDN API. This allows users to set up a logical grouping of endpoints in addition to creating shared configuration settings and selecting pricing tiers and providers.
    properties:
      properties:
        $ref: "#/definitions/ProfileProperties"
        x-ms-client-flatten: true
    type: object
  ProfileCreateParameters:
    description: Profile properties required for profile creation.
    properties:
      location:
        description: Profile location
        type: string
      properties:
        $ref: "#/definitions/ProfilePropertiesCreateParameters"
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Profile tags
        type: object
    required:
      - location
    type: object
    x-ms-azure-resource: true
  ProfileListResult:
    properties:
      value:
        description: List of CDN profiles within a resource group.
        items:
          $ref: "#/definitions/Profile"
        type: array
  ProfileProperties:
    properties:
      provisioningState:
        $ref: "#/definitions/ProvisioningState"
        description: Provisioning status of the profile.
      resourceState:
        description: Resource status of the profile.
        enum:
          - Creating
          - Active
          - Deleting
          - Disabled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: ProfileResourceState
      sku:
        $ref: "#/definitions/Sku"
        description: The SKU (pricing tier) of the CDN profile.
  ProfilePropertiesCreateParameters:
    properties:
      sku:
        $ref: "#/definitions/Sku"
        description: Profile SKU
    required:
      - sku
  ProfileUpdateParameters:
    description: Profile properties required for profile update.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Profile tags
        type: object
    required:
      - tags
    type: object
    x-ms-azure-resource: true
  ProvisioningState:
    description: Provisioning status of the resource.
    enum:
      - Creating
      - Succeeded
      - Failed
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: false
      name: ProvisioningState
  PurgeParameters:
    description: Parameters required for endpoint 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 the query string caching behavior.
    enum:
      - IgnoreQueryString
      - BypassCaching
      - UseQueryString
      - NotSet
    type: string
    x-ms-enum:
      modelAsString: false
      name: QueryStringCachingBehavior
  Resource:
    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
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: false
      name: ResourceType
  Sku:
    description: The SKU (pricing tier) of the CDN profile.
    properties:
      name:
        description: Name of the pricing tier
        enum:
          - Standard
          - Premium
        type: string
        x-ms-enum:
          modelAsString: false
          name: SkuName
    type: object
  SsoUri:
    description: SSO URI required to login to third party web portal.
    properties:
      ssoUriValue:
        description: The URI used to login to third party web portal.
        type: string
    type: object
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: ARM tracked resource
    properties:
      location:
        description: Resource location
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
    required:
      - location
      - tags
    type: object
  ValidateCustomDomainInput:
    description: Input of the custom domain to be validated.
    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 validated or not.
        type: boolean
      message:
        description: The message describing why the custom domain is not valid.
        type: string
      reason:
        description: The reason why the custom domain is not valid.
        type: string
    type: object
