{
  "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"
    }
  }
}