{ "swagger": "2.0", "info": { "title": "CdnManagementClient", "version": "2026-07-01", "description": "Use these APIs to manage Azure Front Door and CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure.", "x-typespec-generated": [ { "emitter": "@azure-tools/typespec-autorest" } ] }, "schemes": [ "https" ], "host": "management.azure.com", "produces": [ "application/json" ], "consumes": [ "application/json" ], "security": [ { "azure_auth": [ "user_impersonation" ] } ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow.", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "tags": [ { "name": "Operations" }, { "name": "AFDDomains" }, { "name": "Profiles" }, { "name": "AFDEndpoints" }, { "name": "AFDOriginGroups" }, { "name": "AFDOrigins" }, { "name": "Routes" }, { "name": "RuleSets" }, { "name": "Rules" }, { "name": "SecurityPolicies" }, { "name": "Secrets" }, { "name": "Endpoints" }, { "name": "Origins" }, { "name": "OriginGroups" }, { "name": "CustomDomains" }, { "name": "CdnWebApplicationFirewallPolicies" } ], "paths": { "/providers/Microsoft.Cdn/checkNameAvailability": { "post": { "operationId": "CheckNameAvailability", "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "name": "checkNameAvailabilityInput", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityInput" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CheckNameAvailability": { "$ref": "./examples/CheckNameAvailability.json" } } } }, "/providers/Microsoft.Cdn/edgenodes": { "get": { "operationId": "EdgeNodes_List", "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/EdgenodeResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "EdgeNodes_List": { "$ref": "./examples/EdgeNodes_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/providers/Microsoft.Cdn/operations": { "get": { "operationId": "Operations_List", "tags": [ "Operations" ], "description": "List the operations for the provider", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OperationsListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Operations_List": { "$ref": "./examples/Operations_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/cdnWebApplicationFirewallManagedRuleSets": { "get": { "operationId": "ManagedRuleSets_List", "description": "Lists all available managed rule sets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/ManagedRuleSetDefinitionList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Policies in a Resource Group": { "$ref": "./examples/WafListManagedRuleSets.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability": { "post": { "operationId": "CheckNameAvailabilityWithSubscription", "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "checkNameAvailabilityInput", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/CheckNameAvailabilityInput" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CheckNameAvailabilityWithSubscription": { "$ref": "./examples/CheckNameAvailabilityWithSubscription.json" } } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": { "post": { "operationId": "ResourceUsage_List", "description": "Check the quota and actual usage of the CDN profiles under the given subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/ResourceUsageListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "ResourceUsage_List": { "$ref": "./examples/ResourceUsage_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles": { "get": { "operationId": "Profiles_List", "tags": [ "Profiles" ], "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure subscription.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProfileListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_List": { "$ref": "./examples/Profiles_List.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": { "post": { "operationId": "ValidateProbe", "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "validateProbeInput", "in": "body", "description": "The request body", "required": true, "schema": { "$ref": "#/definitions/ValidateProbeInput" } } ], "responses": { "200": { "description": "The request has succeeded.", "schema": { "$ref": "#/definitions/ValidateProbeOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "ValidateProbe": { "$ref": "./examples/ValidateProbe.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/canMigrate": { "post": { "operationId": "Profiles_CanMigrate", "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "canMigrateParameters", "in": "body", "description": "Properties needed to check if cdn profile or classic frontdoor can be migrated.", "required": true, "schema": { "$ref": "#/definitions/CanMigrateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CanMigrateResult" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_CanMigrate": { "$ref": "./examples/Profiles_CanMigrate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CanMigrateResult" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies": { "get": { "operationId": "Policies_List", "tags": [ "CdnWebApplicationFirewallPolicies" ], "description": "Lists all of the protection policies within a resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyList" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Policies in a Resource Group": { "$ref": "./examples/WafListPolicies.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName}": { "get": { "operationId": "Policies_Get", "tags": [ "CdnWebApplicationFirewallPolicies" ], "description": "Retrieve protection policy with specified name within a resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "policyName", "in": "path", "description": "The name of the CdnWebApplicationFirewallPolicy.", "required": true, "type": "string", "maxLength": 128 } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Policy": { "$ref": "./examples/WafPolicyGet.json" } } }, "put": { "operationId": "Policies_CreateOrUpdate", "tags": [ "CdnWebApplicationFirewallPolicies" ], "description": "Create or update policy with specified rule set name within a resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "policyName", "in": "path", "description": "The name of the CdnWebApplicationFirewallPolicy.", "required": true, "type": "string", "maxLength": 128 }, { "name": "cdnWebApplicationFirewallPolicy", "in": "body", "description": "Policy to be created.", "required": true, "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" } } ], "responses": { "200": { "description": "Resource 'CdnWebApplicationFirewallPolicy' update operation succeeded", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" } }, "201": { "description": "Resource 'CdnWebApplicationFirewallPolicy' create operation succeeded", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Creates specific policy": { "$ref": "./examples/WafPolicyCreateOrUpdate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CdnWebApplicationFirewallPolicy" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Policies_Update", "tags": [ "CdnWebApplicationFirewallPolicies" ], "description": "Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "policyName", "in": "path", "description": "The name of the CdnWebApplicationFirewallPolicy.", "required": true, "type": "string", "maxLength": 128 }, { "name": "cdnWebApplicationFirewallPolicyPatchParameters", "in": "body", "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", "required": true, "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyPatchParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Creates specific policy": { "$ref": "./examples/WafPatchPolicy.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CdnWebApplicationFirewallPolicy" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Policies_Delete", "tags": [ "CdnWebApplicationFirewallPolicies" ], "description": "Deletes Policy", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "policyName", "in": "path", "description": "The name of the CdnWebApplicationFirewallPolicy.", "required": true, "type": "string", "maxLength": 128 } ], "responses": { "200": { "description": "Resource deleted successfully." }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete protection policy": { "$ref": "./examples/WafPolicyDelete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/checkEndpointNameAvailability": { "post": { "operationId": "CheckEndpointNameAvailability", "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a afdx endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "checkEndpointNameAvailabilityInput", "in": "body", "description": "Input to check.", "required": true, "schema": { "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CheckEndpointNameAvailability": { "$ref": "./examples/CheckEndpointNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/migrate": { "post": { "operationId": "Profiles_Migrate", "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "name": "migrationParameters", "in": "body", "description": "Properties needed to migrate the profile.", "required": true, "schema": { "$ref": "#/definitions/MigrationParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrateResult" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/MigrateResult" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_Migrate": { "$ref": "./examples/Profiles_Migrate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/MigrateResult" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": { "get": { "operationId": "Profiles_ListByResourceGroup", "tags": [ "Profiles" ], "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ProfileListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_ListByResourceGroup": { "$ref": "./examples/Profiles_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": { "get": { "operationId": "Profiles_Get", "tags": [ "Profiles" ], "description": "Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name under the specified subscription and resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Profile" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_Get": { "$ref": "./examples/Profiles_Get.json" } } }, "put": { "operationId": "Profiles_Create", "tags": [ "Profiles" ], "description": "Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the specified subscription and resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "profile", "in": "body", "description": "Profile properties needed to create a new profile.", "required": true, "schema": { "$ref": "#/definitions/Profile" } } ], "responses": { "200": { "description": "Resource 'Profile' update operation succeeded", "schema": { "$ref": "#/definitions/Profile" } }, "201": { "description": "Resource 'Profile' create operation succeeded", "schema": { "$ref": "#/definitions/Profile" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Profile" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_Create": { "$ref": "./examples/Profiles_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Profile" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Profiles_Update", "tags": [ "Profiles" ], "description": "Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name under the specified subscription and resource group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "profileUpdateParameters", "in": "body", "description": "Profile properties needed to update an existing profile.", "required": true, "schema": { "$ref": "#/definitions/ProfileUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Profile" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Profile" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_Update": { "$ref": "./examples/Profiles_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Profile" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Profiles_Delete", "tags": [ "Profiles" ], "description": "Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_Delete": { "$ref": "./examples/Profiles_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints": { "get": { "operationId": "AFDEndpoints_ListByProfile", "tags": [ "AFDEndpoints" ], "description": "Lists existing AzureFrontDoor endpoints.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDEndpointListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_ListByProfile": { "$ref": "./examples/AFDEndpoints_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}": { "get": { "operationId": "AFDEndpoints_Get", "tags": [ "AFDEndpoints" ], "description": "Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDEndpoint" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_Get": { "$ref": "./examples/AFDEndpoints_Get.json" } } }, "put": { "operationId": "AFDEndpoints_Create", "tags": [ "AFDEndpoints" ], "description": "Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "endpoint", "in": "body", "description": "Endpoint properties", "required": true, "schema": { "$ref": "#/definitions/AFDEndpoint" } } ], "responses": { "200": { "description": "Resource 'AFDEndpoint' update operation succeeded", "schema": { "$ref": "#/definitions/AFDEndpoint" } }, "201": { "description": "Resource 'AFDEndpoint' create operation succeeded", "schema": { "$ref": "#/definitions/AFDEndpoint" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDEndpoint" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_Create": { "$ref": "./examples/AFDEndpoints_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDEndpoint" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "AFDEndpoints_Update", "tags": [ "AFDEndpoints" ], "description": "Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use the Update Custom Domain operation.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "endpointUpdateProperties", "in": "body", "description": "Endpoint update properties", "required": true, "schema": { "$ref": "#/definitions/AFDEndpointUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDEndpoint" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDEndpoint" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_Update": { "$ref": "./examples/AFDEndpoints_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDEndpoint" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "AFDEndpoints_Delete", "tags": [ "AFDEndpoints" ], "description": "Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_Delete": { "$ref": "./examples/AFDEndpoints_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/purge": { "post": { "operationId": "AFDEndpoints_PurgeContent", "tags": [ "AFDEndpoints" ], "description": "Removes a content from AzureFrontDoor.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "contents", "in": "body", "description": "The list of paths to the content and the list of linked domains to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", "required": true, "schema": { "$ref": "#/definitions/AfdPurgeParameters" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_PurgeContent": { "$ref": "./examples/AFDEndpoints_PurgeContent.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes": { "get": { "operationId": "Routes_ListByEndpoint", "tags": [ "Routes" ], "description": "Lists all of the existing origins within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RouteListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Routes_ListByEndpoint": { "$ref": "./examples/Routes_ListByEndpoint.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName}": { "get": { "operationId": "Routes_Get", "tags": [ "Routes" ], "description": "Gets an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "routeName", "in": "path", "description": "Name of the routing rule.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Route" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Routes_Get": { "$ref": "./examples/Routes_Get.json" } } }, "put": { "operationId": "Routes_Create", "tags": [ "Routes" ], "description": "Creates a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "routeName", "in": "path", "description": "Name of the routing rule.", "required": true, "type": "string" }, { "name": "route", "in": "body", "description": "Route properties", "required": true, "schema": { "$ref": "#/definitions/Route" } } ], "responses": { "200": { "description": "Resource 'Route' update operation succeeded", "schema": { "$ref": "#/definitions/Route" } }, "201": { "description": "Resource 'Route' create operation succeeded", "schema": { "$ref": "#/definitions/Route" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Route" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Routes_Create": { "$ref": "./examples/Routes_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/Route" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Routes_Update", "tags": [ "Routes" ], "description": "Updates an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "routeName", "in": "path", "description": "Name of the routing rule.", "required": true, "type": "string" }, { "name": "routeUpdateProperties", "in": "body", "description": "Route update properties", "required": true, "schema": { "$ref": "#/definitions/RouteUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Route" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Route" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Routes_Update": { "$ref": "./examples/Routes_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/Route" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Routes_Delete", "tags": [ "Routes" ], "description": "Deletes an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "routeName", "in": "path", "description": "Name of the routing rule.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Routes_Delete": { "$ref": "./examples/Routes_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/usages": { "post": { "operationId": "AFDEndpoints_ListResourceUsage", "tags": [ "AFDEndpoints" ], "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/UsagesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDEndpoints_ListResourceUsage": { "$ref": "./examples/AFDEndpoints_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/validateCustomDomain": { "post": { "operationId": "AFDEndpoints_ValidateCustomDomain", "tags": [ "AFDEndpoints" ], "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainProperties", "in": "body", "description": "Custom domain to be validated.", "required": true, "schema": { "$ref": "#/definitions/ValidateCustomDomainInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ValidateCustomDomainOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_ValidateCustomDomain": { "$ref": "./examples/AFDEndpoints_ValidateCustomDomain.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/cdnCanMigrateToAfd": { "post": { "operationId": "Profiles_CdnCanMigrateToAfd", "tags": [ "Profiles" ], "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CanMigrateResult" } }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_CdnCanMigrate": { "$ref": "./examples/CdnProfiles_CanMigrate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CanMigrateResult" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/cdnMigrateToAfd": { "post": { "operationId": "Profiles_CdnMigrateToAfd", "tags": [ "Profiles" ], "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. This step prepares the profile for migration and will be followed by Commit to finalize the migration.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "migrationParameters", "in": "body", "description": "Properties needed to migrate the profile.", "required": true, "schema": { "$ref": "#/definitions/CdnMigrationToAfdParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MigrateResult" } }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_CdnMigrate": { "$ref": "./examples/CdnProfiles_Migrate.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/MigrateResult" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkEndpointNameAvailability": { "post": { "operationId": "AFDProfiles_CheckEndpointNameAvailability", "tags": [ "Profiles" ], "description": "Check the availability of an afdx endpoint name, and return the globally unique endpoint host name.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "checkEndpointNameAvailabilityInput", "in": "body", "description": "Input to check.", "required": true, "schema": { "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CheckEndpointNameAvailability": { "$ref": "./examples/AFDProfiles_CheckEndpointNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkHostNameAvailability": { "post": { "operationId": "AFDProfiles_CheckHostNameAvailability", "tags": [ "Profiles" ], "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "checkHostNameAvailabilityInput", "in": "body", "description": "Custom domain to be validated.", "required": true, "schema": { "$ref": "#/definitions/CheckHostNameAvailabilityInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDProfiles_CheckHostNameAvailability": { "$ref": "./examples/AFDProfiles_CheckHostNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage": { "post": { "operationId": "Profiles_ListResourceUsage", "tags": [ "Profiles" ], "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door Premium or CDN profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ResourceUsageListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_ListResourceUsage": { "$ref": "./examples/Profiles_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains": { "get": { "operationId": "AFDCustomDomains_ListByProfile", "tags": [ "AFDDomains" ], "description": "Lists existing AzureFrontDoor domains.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDDomainListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_ListByProfile": { "$ref": "./examples/AFDCustomDomains_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}": { "get": { "operationId": "AFDCustomDomains_Get", "tags": [ "AFDDomains" ], "description": "Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "customDomainName", "in": "path", "description": "Name of the domain under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDDomain" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_Get": { "$ref": "./examples/AFDCustomDomains_Get.json" } } }, "put": { "operationId": "AFDCustomDomains_Create", "tags": [ "AFDDomains" ], "description": "Creates a new domain within the specified profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "customDomainName", "in": "path", "description": "Name of the domain under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomain", "in": "body", "description": "Domain properties", "required": true, "schema": { "$ref": "#/definitions/AFDDomain" } } ], "responses": { "200": { "description": "Resource 'AFDDomain' update operation succeeded", "schema": { "$ref": "#/definitions/AFDDomain" } }, "201": { "description": "Resource 'AFDDomain' create operation succeeded", "schema": { "$ref": "#/definitions/AFDDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDDomain" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_Create": { "$ref": "./examples/AFDCustomDomains_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDDomain" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "AFDCustomDomains_Update", "tags": [ "AFDDomains" ], "description": "Updates an existing domain within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "customDomainName", "in": "path", "description": "Name of the domain under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainUpdateProperties", "in": "body", "description": "Domain properties", "required": true, "schema": { "$ref": "#/definitions/AFDDomainUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDDomain" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDDomain" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_Update": { "$ref": "./examples/AFDCustomDomains_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDDomain" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "AFDCustomDomains_Delete", "tags": [ "AFDDomains" ], "description": "Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "customDomainName", "in": "path", "description": "Name of the domain under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_Delete": { "$ref": "./examples/AFDCustomDomains_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}/refreshValidationToken": { "post": { "operationId": "AFDCustomDomains_RefreshValidationToken", "tags": [ "AFDDomains" ], "description": "Updates the domain validation token.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "customDomainName", "in": "path", "description": "Name of the domain under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDCustomDomains_Delete": { "$ref": "./examples/AFDCustomDomains_RefreshValidationToken.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints": { "get": { "operationId": "Endpoints_ListByProfile", "tags": [ "Endpoints" ], "description": "Lists existing CDN endpoints.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/EndpointListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_ListByProfile": { "$ref": "./examples/Endpoints_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}": { "get": { "operationId": "Endpoints_Get", "tags": [ "Endpoints" ], "description": "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Endpoint" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Get": { "$ref": "./examples/Endpoints_Get.json" } } }, "put": { "operationId": "Endpoints_Create", "tags": [ "Endpoints" ], "description": "Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "endpoint", "in": "body", "description": "Endpoint properties", "required": true, "schema": { "$ref": "#/definitions/Endpoint" } } ], "responses": { "200": { "description": "Resource 'Endpoint' update operation succeeded", "schema": { "$ref": "#/definitions/Endpoint" } }, "201": { "description": "Resource 'Endpoint' create operation succeeded", "schema": { "$ref": "#/definitions/Endpoint" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Endpoint" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Create": { "$ref": "./examples/Endpoints_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Endpoint" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Endpoints_Update", "tags": [ "Endpoints" ], "description": "Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the Update Custom Domain operation.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "endpointUpdateProperties", "in": "body", "description": "Endpoint update properties", "required": true, "schema": { "$ref": "#/definitions/EndpointUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Endpoint" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Endpoint" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Update": { "$ref": "./examples/Endpoints_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Endpoint" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Endpoints_Delete", "tags": [ "Endpoints" ], "description": "Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Delete": { "$ref": "./examples/Endpoints_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage": { "post": { "operationId": "Endpoints_ListResourceUsage", "tags": [ "Endpoints" ], "description": "Checks the quota and usage of geo filters and custom domains under the given endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ResourceUsageListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_ListResourceUsage": { "$ref": "./examples/Endpoints_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains": { "get": { "operationId": "CustomDomains_ListByEndpoint", "tags": [ "CustomDomains" ], "description": "Lists all of the existing custom domains within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CustomDomainListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_ListByEndpoint": { "$ref": "./examples/CustomDomains_ListByEndpoint.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}": { "get": { "operationId": "CustomDomains_Get", "tags": [ "CustomDomains" ], "description": "Gets an existing custom domain within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainName", "in": "path", "description": "Name of the custom domain within an endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CustomDomain" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_Get": { "$ref": "./examples/CustomDomains_Get.json" } } }, "put": { "operationId": "CustomDomains_Create", "tags": [ "CustomDomains" ], "description": "Creates a new custom domain within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainName", "in": "path", "description": "Name of the custom domain within an endpoint.", "required": true, "type": "string" }, { "name": "customDomainProperties", "in": "body", "description": "Properties required to create a new custom domain.", "required": true, "schema": { "$ref": "#/definitions/CustomDomainParameters" } } ], "responses": { "200": { "description": "Resource 'CustomDomain' update operation succeeded", "schema": { "$ref": "#/definitions/CustomDomain" } }, "201": { "description": "Resource 'CustomDomain' create operation succeeded", "schema": { "$ref": "#/definitions/CustomDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CustomDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_Create": { "$ref": "./examples/CustomDomains_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CustomDomain" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "CustomDomains_Delete", "tags": [ "CustomDomains" ], "description": "Deletes an existing custom domain within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainName", "in": "path", "description": "Name of the custom domain within an endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CustomDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_Delete": { "$ref": "./examples/CustomDomains_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CustomDomain" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps": { "post": { "operationId": "CustomDomains_DisableCustomHttps", "tags": [ "CustomDomains" ], "description": "Disable https delivery of the custom domain.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainName", "in": "path", "description": "Name of the custom domain within an endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CustomDomain" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CustomDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_DisableCustomHttps": { "$ref": "./examples/CustomDomains_DisableCustomHttps.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CustomDomain" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": { "post": { "operationId": "CustomDomains_EnableCustomHttps", "tags": [ "CustomDomains" ], "description": "Enable https delivery of the custom domain.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainName", "in": "path", "description": "Name of the custom domain within an endpoint.", "required": true, "type": "string" }, { "name": "customDomainHttpsParameters", "in": "body", "description": "The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.", "required": false, "schema": { "$ref": "#/definitions/CustomDomainHttpsParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/CustomDomain" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/CustomDomain" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate": { "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json" }, "CustomDomains_EnableCustomHttpsUsingYourOwnCertificate": { "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/CustomDomain" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load": { "post": { "operationId": "Endpoints_LoadContent", "tags": [ "Endpoints" ], "description": "Pre-loads a content to CDN. Available for Verizon Profiles.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "contentFilePaths", "in": "body", "description": "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictures/city.png' which loads a single file ", "required": true, "schema": { "$ref": "#/definitions/LoadParameters" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_LoadContent": { "$ref": "./examples/Endpoints_LoadContent.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups": { "get": { "operationId": "OriginGroups_ListByEndpoint", "tags": [ "OriginGroups" ], "description": "Lists all of the existing origin groups within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OriginGroupListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "OriginsGroups_ListByEndpoint": { "$ref": "./examples/OriginGroups_ListByEndpoint.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}": { "get": { "operationId": "OriginGroups_Get", "tags": [ "OriginGroups" ], "description": "Gets an existing origin group within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OriginGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "OriginGroups_Get": { "$ref": "./examples/OriginGroups_Get.json" } } }, "put": { "operationId": "OriginGroups_Create", "tags": [ "OriginGroups" ], "description": "Creates a new origin group within the specified endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originGroup", "in": "body", "description": "Origin group properties", "required": true, "schema": { "$ref": "#/definitions/OriginGroup" } } ], "responses": { "200": { "description": "Resource 'OriginGroup' update operation succeeded", "schema": { "$ref": "#/definitions/OriginGroup" } }, "201": { "description": "Resource 'OriginGroup' create operation succeeded", "schema": { "$ref": "#/definitions/OriginGroup" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/OriginGroup" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "OriginGroups_Create": { "$ref": "./examples/OriginGroups_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/OriginGroup" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "OriginGroups_Update", "tags": [ "OriginGroups" ], "description": "Updates an existing origin group within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originGroupUpdateProperties", "in": "body", "description": "Origin group properties", "required": true, "schema": { "$ref": "#/definitions/OriginGroupUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OriginGroup" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/OriginGroup" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "OriginGroups_Update": { "$ref": "./examples/OriginGroups_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/OriginGroup" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "OriginGroups_Delete", "tags": [ "OriginGroups" ], "description": "Deletes an existing origin group within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "OriginGroups_Delete": { "$ref": "./examples/OriginGroups_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins": { "get": { "operationId": "Origins_ListByEndpoint", "tags": [ "Origins" ], "description": "Lists all of the existing origins within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OriginListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Origins_ListByEndpoint": { "$ref": "./examples/Origins_ListByEndpoint.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}": { "get": { "operationId": "Origins_Get", "tags": [ "Origins" ], "description": "Gets an existing origin within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Origin" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Origins_Get": { "$ref": "./examples/Origins_Get.json" } } }, "put": { "operationId": "Origins_Create", "tags": [ "Origins" ], "description": "Creates a new origin within the specified endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "origin", "in": "body", "description": "Origin properties", "required": true, "schema": { "$ref": "#/definitions/Origin" } } ], "responses": { "200": { "description": "Resource 'Origin' update operation succeeded", "schema": { "$ref": "#/definitions/Origin" } }, "201": { "description": "Resource 'Origin' create operation succeeded", "schema": { "$ref": "#/definitions/Origin" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Origin" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Origins_Create": { "$ref": "./examples/Origins_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Origin" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Origins_Update", "tags": [ "Origins" ], "description": "Updates an existing origin within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originUpdateProperties", "in": "body", "description": "Origin properties", "required": true, "schema": { "$ref": "#/definitions/OriginUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Origin" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Origin" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Origins_Update": { "$ref": "./examples/Origins_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Origin" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Origins_Delete", "tags": [ "Origins" ], "description": "Deletes an existing origin within an endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Origins_Delete": { "$ref": "./examples/Origins_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge": { "post": { "operationId": "Endpoints_PurgeContent", "tags": [ "Endpoints" ], "description": "Removes a content from CDN.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "contentFilePaths", "in": "body", "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", "required": true, "schema": { "$ref": "#/definitions/PurgeParameters" } } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_PurgeContent": { "$ref": "./examples/Endpoints_PurgeContent.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start": { "post": { "operationId": "Endpoints_Start", "tags": [ "Endpoints" ], "description": "Starts an existing CDN endpoint that is on a stopped state.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Endpoint" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Endpoint" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Start": { "$ref": "./examples/Endpoints_Start.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Endpoint" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop": { "post": { "operationId": "Endpoints_Stop", "tags": [ "Endpoints" ], "description": "Stops an existing running CDN endpoint.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Endpoint" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Endpoint" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_Stop": { "$ref": "./examples/Endpoints_Stop.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Endpoint" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain": { "post": { "operationId": "Endpoints_ValidateCustomDomain", "tags": [ "Endpoints" ], "description": "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "endpointName", "in": "path", "description": "Name of the endpoint under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "customDomainProperties", "in": "body", "description": "Custom domain to be validated.", "required": true, "schema": { "$ref": "#/definitions/ValidateCustomDomainInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ValidateCustomDomainOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Endpoints_ValidateCustomDomain": { "$ref": "./examples/Endpoints_ValidateCustomDomain.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri": { "post": { "operationId": "Profiles_GenerateSsoUri", "tags": [ "Profiles" ], "description": "Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SsoUri" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_GenerateSsoUri": { "$ref": "./examples/Profiles_GenerateSsoUri.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsLocations": { "get": { "operationId": "LogAnalytics_GetLogAnalyticsLocations", "tags": [ "Profiles" ], "description": "Get all available location names for AFD log analytics report.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ContinentsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetLogAnalyticsLocations": { "$ref": "./examples/LogAnalytics_GetLogAnalyticsLocations.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsMetrics": { "get": { "operationId": "LogAnalytics_GetLogAnalyticsMetrics", "tags": [ "Profiles" ], "description": "Get log report for AFD profile", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "metrics", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "clientRequestCount", "clientRequestTraffic", "clientRequestBandwidth", "originRequestTraffic", "originRequestBandwidth", "totalLatency" ], "x-ms-enum": { "name": "LogMetric", "modelAsString": true, "values": [ { "name": "clientRequestCount", "value": "clientRequestCount" }, { "name": "clientRequestTraffic", "value": "clientRequestTraffic" }, { "name": "clientRequestBandwidth", "value": "clientRequestBandwidth" }, { "name": "originRequestTraffic", "value": "originRequestTraffic" }, { "name": "originRequestBandwidth", "value": "originRequestBandwidth" }, { "name": "totalLatency", "value": "totalLatency" } ] } }, "collectionFormat": "multi" }, { "name": "dateTimeBegin", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "dateTimeEnd", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "granularity", "in": "query", "required": true, "type": "string", "enum": [ "PT5M", "PT1H", "P1D" ], "x-ms-enum": { "name": "LogMetricsGranularity", "modelAsString": true, "values": [ { "name": "PT5M", "value": "PT5M" }, { "name": "PT1H", "value": "PT1H" }, { "name": "P1D", "value": "P1D" } ] } }, { "name": "groupBy", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "httpStatusCode", "protocol", "cacheStatus", "countryOrRegion", "customDomain" ], "x-ms-enum": { "name": "LogMetricsGroupBy", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "continents", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "countryOrRegions", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "customDomains", "in": "query", "required": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "protocols", "in": "query", "required": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/MetricsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetLogAnalyticsMetrics": { "$ref": "./examples/LogAnalytics_GetLogAnalyticsMetrics.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsRankings": { "get": { "operationId": "LogAnalytics_GetLogAnalyticsRankings", "tags": [ "Profiles" ], "description": "Get log analytics ranking report for AFD profile", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "rankings", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "url", "referrer", "browser", "userAgent", "countryOrRegion" ], "x-ms-enum": { "name": "LogRanking", "modelAsString": true, "values": [ { "name": "url", "value": "url" }, { "name": "referrer", "value": "referrer" }, { "name": "browser", "value": "browser" }, { "name": "userAgent", "value": "userAgent" }, { "name": "countryOrRegion", "value": "countryOrRegion" } ] } }, "collectionFormat": "multi" }, { "name": "metrics", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "clientRequestCount", "clientRequestTraffic", "hitCount", "missCount", "userErrorCount", "errorCount" ], "x-ms-enum": { "name": "LogRankingMetric", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "maxRanking", "in": "query", "required": true, "type": "integer", "format": "int32" }, { "name": "dateTimeBegin", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "dateTimeEnd", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "customDomains", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RankingsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetLogAnalyticsRankings": { "$ref": "./examples/LogAnalytics_GetLogAnalyticsRankings.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsResources": { "get": { "operationId": "LogAnalytics_GetLogAnalyticsResources", "tags": [ "Profiles" ], "description": "Get all endpoints and custom domains available for AFD log report", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ResourcesResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetLogAnalyticsResources": { "$ref": "./examples/LogAnalytics_GetLogAnalyticsResources.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes": { "post": { "operationId": "Profiles_ListSupportedOptimizationTypes", "tags": [ "Profiles" ], "description": "Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SupportedOptimizationTypesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_ListSupportedOptimizationTypes": { "$ref": "./examples/Profiles_ListSupportedOptimizationTypes.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsMetrics": { "get": { "operationId": "LogAnalytics_GetWafLogAnalyticsMetrics", "tags": [ "Profiles" ], "description": "Get Waf related log analytics report for AFD profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "metrics", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "clientRequestCount" ], "x-ms-enum": { "name": "WafMetric", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "dateTimeBegin", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "dateTimeEnd", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "granularity", "in": "query", "required": true, "type": "string", "enum": [ "PT5M", "PT1H", "P1D" ], "x-ms-enum": { "name": "WafGranularity", "modelAsString": true, "values": [ { "name": "PT5M", "value": "PT5M" }, { "name": "PT1H", "value": "PT1H" }, { "name": "P1D", "value": "P1D" } ] } }, { "name": "actions", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "allow", "block", "log", "redirect" ], "x-ms-enum": { "name": "WafAction", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "groupBy", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "httpStatusCode", "customDomain" ], "x-ms-enum": { "name": "WafRankingGroupBy", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "ruleTypes", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "managed", "custom", "bot" ], "x-ms-enum": { "name": "WafRuleType", "modelAsString": true } }, "collectionFormat": "multi" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/WafMetricsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetWafLogAnalyticsMetrics": { "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsMetrics.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsRankings": { "get": { "operationId": "LogAnalytics_GetWafLogAnalyticsRankings", "tags": [ "Profiles" ], "description": "Get WAF log analytics charts for AFD profile", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "metrics", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "clientRequestCount" ], "x-ms-enum": { "name": "WafMetric", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "dateTimeBegin", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "dateTimeEnd", "in": "query", "required": true, "type": "string", "format": "date-time" }, { "name": "maxRanking", "in": "query", "required": true, "type": "integer", "format": "int32" }, { "name": "rankings", "in": "query", "required": true, "type": "array", "items": { "type": "string", "enum": [ "action", "ruleGroup", "ruleId", "userAgent", "clientIp", "url", "countryOrRegion", "ruleType" ], "x-ms-enum": { "name": "WafRankingType", "modelAsString": true, "values": [ { "name": "action", "value": "action" }, { "name": "ruleGroup", "value": "ruleGroup" }, { "name": "ruleId", "value": "ruleId" }, { "name": "userAgent", "value": "userAgent" }, { "name": "clientIp", "value": "clientIp" }, { "name": "url", "value": "url" }, { "name": "countryOrRegion", "value": "countryOrRegion" }, { "name": "ruleType", "value": "ruleType" } ] } }, "collectionFormat": "multi" }, { "name": "actions", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "allow", "block", "log", "redirect" ], "x-ms-enum": { "name": "WafAction", "modelAsString": true } }, "collectionFormat": "multi" }, { "name": "ruleTypes", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ "managed", "custom", "bot" ], "x-ms-enum": { "name": "WafRuleType", "modelAsString": true } }, "collectionFormat": "multi" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/WafRankingsResponse" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "LogAnalytics_GetWafLogAnalyticsRankings": { "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsRankings.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/migrationAbort": { "post": { "operationId": "Profiles_MigrationAbort", "tags": [ "Profiles" ], "description": "Abort the migration to Azure Frontdoor Premium/Standard.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "202": { "description": "Resource operation accepted.", "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_CdnMigrationCommit": { "$ref": "./examples/Profiles_MigrationAbort.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/migrationCommit": { "post": { "operationId": "Profiles_MigrationCommit", "tags": [ "Profiles" ], "description": "Commit the migrated Azure Frontdoor(Standard/Premium) profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "The request has succeeded." }, "202": { "description": "Resource operation accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Profiles_MigrationCommit": { "$ref": "./examples/Profiles_MigrationCommit.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups": { "get": { "operationId": "AFDOriginGroups_ListByProfile", "tags": [ "AFDOriginGroups" ], "description": "Lists all of the existing origin groups within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOriginGroupListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_ListByProfile": { "$ref": "./examples/AFDOriginGroups_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}": { "get": { "operationId": "AFDOriginGroups_Get", "tags": [ "AFDOriginGroups" ], "description": "Gets an existing origin group within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOriginGroup" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_Get": { "$ref": "./examples/AFDOriginGroups_Get.json" } } }, "put": { "operationId": "AFDOriginGroups_Create", "tags": [ "AFDOriginGroups" ], "description": "Creates a new origin group within the specified profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originGroup", "in": "body", "description": "Origin group properties", "required": true, "schema": { "$ref": "#/definitions/AFDOriginGroup" } } ], "responses": { "200": { "description": "Resource 'AFDOriginGroup' update operation succeeded", "schema": { "$ref": "#/definitions/AFDOriginGroup" } }, "201": { "description": "Resource 'AFDOriginGroup' create operation succeeded", "schema": { "$ref": "#/definitions/AFDOriginGroup" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDOriginGroup" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_Create": { "$ref": "./examples/AFDOriginGroups_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDOriginGroup" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "AFDOriginGroups_Update", "tags": [ "AFDOriginGroups" ], "description": "Updates an existing origin group within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originGroupUpdateProperties", "in": "body", "description": "Origin group properties", "required": true, "schema": { "$ref": "#/definitions/AFDOriginGroupUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOriginGroup" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDOriginGroup" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_Update": { "$ref": "./examples/AFDOriginGroups_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDOriginGroup" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "AFDOriginGroups_Delete", "tags": [ "AFDOriginGroups" ], "description": "Deletes an existing origin group within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_Delete": { "$ref": "./examples/AFDOriginGroups_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins": { "get": { "operationId": "AFDOrigins_ListByOriginGroup", "tags": [ "AFDOrigins" ], "description": "Lists all of the existing origins within an origin group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOriginListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOrigins_ListByOriginGroup": { "$ref": "./examples/AFDOrigins_ListByOriginGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName}": { "get": { "operationId": "AFDOrigins_Get", "tags": [ "AFDOrigins" ], "description": "Gets an existing origin within an origin group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOrigin" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOrigins_Get": { "$ref": "./examples/AFDOrigins_Get.json" } } }, "put": { "operationId": "AFDOrigins_Create", "tags": [ "AFDOrigins" ], "description": "Creates a new origin within the specified origin group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the profile.", "required": true, "type": "string" }, { "name": "origin", "in": "body", "description": "Origin properties", "required": true, "schema": { "$ref": "#/definitions/AFDOrigin" } } ], "responses": { "200": { "description": "Resource 'AFDOrigin' update operation succeeded", "schema": { "$ref": "#/definitions/AFDOrigin" } }, "201": { "description": "Resource 'AFDOrigin' create operation succeeded", "schema": { "$ref": "#/definitions/AFDOrigin" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDOrigin" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOrigins_Create": { "$ref": "./examples/AFDOrigins_Create.json" }, "AFDOrigins_Create_CustomCertificateSubject": { "$ref": "./examples/AFDOrigins_Create_CustomCertificateSubject.json" }, "AFDOrigins_Create_IncomingHostHeaderValidation": { "$ref": "./examples/AFDOrigins_CreateWithIncomingHostHeaderValidation.json" }, "AFDOrigins_Create_OriginHostname": { "$ref": "./examples/AFDOrigins_Create_OriginHostname.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDOrigin" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "AFDOrigins_Update", "tags": [ "AFDOrigins" ], "description": "Updates an existing origin within an origin group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the profile.", "required": true, "type": "string" }, { "name": "originUpdateProperties", "in": "body", "description": "Origin properties", "required": true, "schema": { "$ref": "#/definitions/AFDOriginUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/AFDOrigin" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/AFDOrigin" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOrigins_Update": { "$ref": "./examples/AFDOrigins_Update.json" }, "AFDOrigins_Update_CustomCertificateSubject": { "$ref": "./examples/AFDOrigins_Update_CustomCertificateSubject.json" }, "AFDOrigins_Update_OriginHostname": { "$ref": "./examples/AFDOrigins_Update_OriginHostname.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/AFDOrigin" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "AFDOrigins_Delete", "tags": [ "AFDOrigins" ], "description": "Deletes an existing origin within an origin group.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "originName", "in": "path", "description": "Name of the origin which is unique within the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOrigins_Delete": { "$ref": "./examples/AFDOrigins_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/usages": { "post": { "operationId": "AFDOriginGroups_ListResourceUsage", "tags": [ "AFDOriginGroups" ], "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "originGroupName", "in": "path", "description": "Name of the origin group which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/UsagesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDOriginGroups_ListResourceUsage": { "$ref": "./examples/AFDOriginGroups_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets": { "get": { "operationId": "RuleSets_ListByProfile", "tags": [ "RuleSets" ], "description": "Lists existing AzureFrontDoor rule sets within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RuleSetListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "RuleSets_ListByProfile": { "$ref": "./examples/RuleSets_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}": { "get": { "operationId": "RuleSets_Get", "tags": [ "RuleSets" ], "description": "Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RuleSet" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "RuleSets_Get": { "$ref": "./examples/RuleSets_Get.json" } } }, "put": { "operationId": "RuleSets_Create", "tags": [ "RuleSets" ], "description": "Creates or update a batch rule set within the specified profile along with the rules associate to it.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "resource", "in": "body", "description": "Resource create parameters.", "required": false, "schema": { "$ref": "#/definitions/RuleSet" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RuleSet" } }, "201": { "description": "The request has succeeded and a new resource has been created as a result.", "schema": { "$ref": "#/definitions/RuleSet" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "RuleSets_Create": { "$ref": "./examples/RuleSets_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/RuleSet" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "RuleSets_Delete", "tags": [ "RuleSets" ], "description": "Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "RuleSets_Delete": { "$ref": "./examples/RuleSets_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules": { "get": { "operationId": "Rules_ListByRuleSet", "tags": [ "Rules" ], "description": "Lists all of the existing delivery rules within a rule set.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/RuleListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Rules_ListByRuleSet": { "$ref": "./examples/Rules_ListByRuleSet.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}": { "get": { "operationId": "Rules_Get", "tags": [ "Rules" ], "description": "Gets an existing delivery rule within a rule set.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "ruleName", "in": "path", "description": "Name of the delivery rule which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Rule" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Rules_Get": { "$ref": "./examples/Rules_Get.json" } } }, "put": { "operationId": "Rules_Create", "tags": [ "Rules" ], "description": "Creates a new delivery rule within the specified rule set.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "ruleName", "in": "path", "description": "Name of the delivery rule which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "rule", "in": "body", "description": "The delivery rule properties.", "required": true, "schema": { "$ref": "#/definitions/Rule" } } ], "responses": { "200": { "description": "Resource 'Rule' update operation succeeded", "schema": { "$ref": "#/definitions/Rule" } }, "201": { "description": "Resource 'Rule' create operation succeeded", "schema": { "$ref": "#/definitions/Rule" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Rule" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Rules_Create": { "$ref": "./examples/Rules_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/Rule" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "Rules_Update", "tags": [ "Rules" ], "description": "Updates an existing delivery rule within a rule set.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "ruleName", "in": "path", "description": "Name of the delivery rule which is unique within the endpoint.", "required": true, "type": "string" }, { "name": "ruleUpdateProperties", "in": "body", "description": "Delivery rule properties", "required": true, "schema": { "$ref": "#/definitions/RuleUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Rule" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Rule" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Rules_Update": { "$ref": "./examples/Rules_Update.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/Rule" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Rules_Delete", "tags": [ "Rules" ], "description": "Deletes an existing delivery rule within a rule set.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" }, { "name": "ruleName", "in": "path", "description": "Name of the delivery rule which is unique within the endpoint.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Rules_Delete": { "$ref": "./examples/Rules_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/usages": { "post": { "operationId": "RuleSets_ListResourceUsage", "tags": [ "RuleSets" ], "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "ruleSetName", "in": "path", "description": "Name of the rule set under the profile which is unique globally.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/UsagesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "RuleSets_ListResourceUsage": { "$ref": "./examples/RuleSets_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets": { "get": { "operationId": "Secrets_ListByProfile", "tags": [ "Secrets" ], "description": "Lists existing AzureFrontDoor secrets.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SecretListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Secrets_ListByProfile": { "$ref": "./examples/Secrets_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName}": { "get": { "operationId": "Secrets_Get", "tags": [ "Secrets" ], "description": "Gets an existing Secret within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "secretName", "in": "path", "description": "Name of the Secret under the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Secret" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Secrets_Get": { "$ref": "./examples/Secrets_Get.json" } } }, "put": { "operationId": "Secrets_Create", "tags": [ "Secrets" ], "description": "Creates a new Secret within the specified profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "secretName", "in": "path", "description": "Name of the Secret under the profile.", "required": true, "type": "string" }, { "name": "secret", "in": "body", "description": "The Secret properties.", "required": true, "schema": { "$ref": "#/definitions/Secret" } } ], "responses": { "200": { "description": "Resource 'Secret' update operation succeeded", "schema": { "$ref": "#/definitions/Secret" } }, "201": { "description": "Resource 'Secret' create operation succeeded", "schema": { "$ref": "#/definitions/Secret" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Secret" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Secrets_Create": { "$ref": "./examples/Secrets_Create.json" }, "Secrets_CreateCustomerCertificateType": { "$ref": "./examples/Secrets_CreateCustomerCertificateType.json" }, "Secrets_CreateUrlSigningKeyType": { "$ref": "./examples/Secrets_CreateUrlSigningKeyType.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/Secret" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "Secrets_Delete", "tags": [ "Secrets" ], "description": "Deletes an existing Secret within profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "secretName", "in": "path", "description": "Name of the Secret under the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Secrets_Delete": { "$ref": "./examples/Secrets_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies": { "get": { "operationId": "SecurityPolicies_ListByProfile", "tags": [ "SecurityPolicies" ], "description": "Lists security policies associated with the profile", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SecurityPolicyListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SecurityPolicies_ListByProfile": { "$ref": "./examples/SecurityPolicies_ListByProfile.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName}": { "get": { "operationId": "SecurityPolicies_Get", "tags": [ "SecurityPolicies" ], "description": "Gets an existing security policy within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "securityPolicyName", "in": "path", "description": "Name of the security policy under the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SecurityPolicy" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SecurityPolicies_Get": { "$ref": "./examples/SecurityPolicies_Get.json" } } }, "put": { "operationId": "SecurityPolicies_Create", "tags": [ "SecurityPolicies" ], "description": "Creates a new security policy within the specified profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "securityPolicyName", "in": "path", "description": "Name of the security policy under the profile.", "required": true, "type": "string" }, { "name": "securityPolicy", "in": "body", "description": "The security policy properties.", "required": true, "schema": { "$ref": "#/definitions/SecurityPolicy" } } ], "responses": { "200": { "description": "Resource 'SecurityPolicy' update operation succeeded", "schema": { "$ref": "#/definitions/SecurityPolicy" } }, "201": { "description": "Resource 'SecurityPolicy' create operation succeeded", "schema": { "$ref": "#/definitions/SecurityPolicy" }, "headers": { "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/SecurityPolicy" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SecurityPolicies_Create": { "$ref": "./examples/SecurityPolicies_Create.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/SecurityPolicy" }, "x-ms-long-running-operation": true }, "patch": { "operationId": "SecurityPolicies_Patch", "tags": [ "SecurityPolicies" ], "description": "Updates an existing security policy within a profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "securityPolicyName", "in": "path", "description": "Name of the security policy under the profile.", "required": true, "type": "string" }, { "name": "securityPolicyUpdateProperties", "in": "body", "description": "Security policy update properties", "required": true, "schema": { "$ref": "#/definitions/SecurityPolicyUpdateParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/SecurityPolicy" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/SecurityPolicy" }, "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SecurityPolicies_Patch": { "$ref": "./examples/SecurityPolicies_Patch.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation", "final-state-schema": "#/definitions/SecurityPolicy" }, "x-ms-long-running-operation": true }, "delete": { "operationId": "SecurityPolicies_Delete", "tags": [ "SecurityPolicies" ], "description": "Deletes an existing security policy within profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "securityPolicyName", "in": "path", "description": "Name of the security policy under the profile.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Resource deleted successfully." }, "202": { "description": "Resource deletion accepted.", "headers": { "Azure-AsyncOperation": { "type": "string", "description": "A link to the status monitor" }, "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." } } }, "204": { "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "SecurityPolicies_Delete": { "$ref": "./examples/SecurityPolicies_Delete.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/upgrade": { "post": { "operationId": "AFDProfiles_Upgrade", "tags": [ "Profiles" ], "description": "Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "profileUpgradeParameters", "in": "body", "description": "Profile upgrade input parameter.", "required": true, "schema": { "$ref": "#/definitions/ProfileUpgradeParameters" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/Profile" } }, "202": { "description": "The request has been accepted for processing, but processing has not yet completed.", "schema": { "$ref": "#/definitions/Profile" }, "headers": { "Location": { "type": "string", "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDProfiles_Upgrade": { "$ref": "./examples/AFDProfiles_Upgrade.json" } }, "x-ms-long-running-operation-options": { "final-state-via": "location", "final-state-schema": "#/definitions/Profile" }, "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/usages": { "post": { "operationId": "AFDProfiles_ListResourceUsage", "tags": [ "Profiles" ], "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/UsagesListResult" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "AFDProfiles_ListResourceUsage": { "$ref": "./examples/AFDProfiles_ListResourceUsage.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/validateSecret": { "post": { "operationId": "AFDProfiles_ValidateSecret", "tags": [ "Profiles" ], "description": "Validate a Secret in the profile.", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "profileName", "in": "path", "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", "required": true, "type": "string", "minLength": 1, "maxLength": 260, "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$" }, { "name": "validateSecretInput", "in": "body", "description": "The Secret source.", "required": true, "schema": { "$ref": "#/definitions/ValidateSecretInput" } } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/ValidateSecretOutput" } }, "default": { "description": "An unexpected error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Validate_Secret": { "$ref": "./examples/AFDProfiles_ValidateSecret.json" } } } } }, "definitions": { "AFDDomain": { "type": "object", "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.", "properties": { "properties": { "$ref": "#/definitions/AFDDomainProperties", "description": "The JSON object that contains the properties of the domain to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "AFDDomainHttpsCustomizedCipherSuiteSet": { "type": "object", "description": "Customized cipher suite set object that will be used for Https when cipherSuiteSetType is Customized.", "properties": { "cipherSuiteSetForTls12": { "type": "array", "description": "Cipher suites for TLS 1.2. Required at least one in minimumTlsVersion TLS 1.2.", "items": { "$ref": "#/definitions/AfdCustomizedCipherSuiteForTls12" } }, "cipherSuiteSetForTls13": { "type": "array", "description": "Cipher suites for TLS 1.3. Required at least one in minimumTlsVersion TLS 1.2, TLS 1.3.", "items": { "$ref": "#/definitions/AfdCustomizedCipherSuiteForTls13" } } } }, "AFDDomainHttpsParameters": { "type": "object", "description": "The JSON object that contains the properties to secure a domain.", "properties": { "certificateType": { "$ref": "#/definitions/AfdCertificateType", "description": "Defines the source of the SSL certificate." }, "cipherSuiteSetType": { "$ref": "#/definitions/AfdCipherSuiteSetType", "description": "cipher suite set type that will be used for Https" }, "minimumTlsVersion": { "$ref": "#/definitions/AfdMinimumTlsVersion", "description": "TLS protocol version that will be used for Https when cipherSuiteSetType is Customized." }, "customizedCipherSuiteSet": { "$ref": "#/definitions/AFDDomainHttpsCustomizedCipherSuiteSet", "description": "Customized cipher suites object that will be used for Https when cipherSuiteSetType is Customized." }, "serverTlsGroupPolicy": { "$ref": "#/definitions/AfdServerTlsGroupPolicy", "description": "Server TLS group policy that will be used for Https." }, "serverTlsGroups": { "type": "array", "description": "Server TLS groups that will be used for Https when serverTlsGroupPolicy is Custom.", "items": { "$ref": "#/definitions/AfdServerTlsGroup" } }, "secret": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the secret. ie. subs/rg/profile/secret" } }, "required": [ "certificateType" ] }, "AFDDomainListResult": { "type": "object", "description": "The response of a AFDDomain list operation.", "properties": { "value": { "type": "array", "description": "The AFDDomain items on this page", "items": { "$ref": "#/definitions/AFDDomain" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "AFDDomainMtlsParameters": { "type": "object", "description": "Contains the properties to configure mutual TLS for a custom domain with FQDN. Mutual TLS cannot be configured for custom domains with wildcard host names.", "properties": { "scenario": { "$ref": "#/definitions/MtlsScenarioType", "description": "Supported scenarios for establishing mTLS connection." } }, "discriminator": "scenario", "required": [ "scenario" ] }, "AFDDomainProperties": { "type": "object", "description": "The JSON object that contains the properties of the domain to create.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the domain.", "readOnly": true }, "tlsSettings": { "$ref": "#/definitions/AFDDomainHttpsParameters", "description": "The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default." }, "mtlsSettings": { "$ref": "#/definitions/AFDDomainMtlsParameters", "description": "The configuration specifying how to enable mutual TLS for the domain, including specifying allowed FQDNs and which server certificate(s) to use." }, "azureDnsZone": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure DNS zone" }, "preValidatedCustomDomainResourceId": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated" }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true }, "domainValidationState": { "$ref": "#/definitions/DomainValidationState", "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. DCV stands for DomainControlValidation.", "readOnly": true }, "hostName": { "type": "string", "description": "The host name of the domain. Must be a domain name." }, "extendedProperties": { "type": "object", "description": "Key-Value pair representing migration properties for domains.", "additionalProperties": { "type": "string" } }, "validationProperties": { "$ref": "#/definitions/DomainValidationProperties", "description": "Values the customer needs to validate domain ownership", "readOnly": true } }, "required": [ "hostName" ] }, "AFDDomainUpdateParameters": { "type": "object", "description": "The domain JSON object required for domain creation or update.", "properties": { "properties": { "$ref": "#/definitions/AFDDomainUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the domain to create.", "x-ms-client-flatten": true } } }, "AFDDomainUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the domain to create.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the domain.", "readOnly": true }, "tlsSettings": { "$ref": "#/definitions/AFDDomainHttpsParameters", "description": "The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default." }, "mtlsSettings": { "$ref": "#/definitions/AFDDomainMtlsParameters", "description": "The configuration specifying how to enable mutual TLS for the domain, including specifying allowed FQDNs and which server certificate(s) to use." }, "azureDnsZone": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure DNS zone" }, "preValidatedCustomDomainResourceId": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated" } } }, "AFDEndpoint": { "type": "object", "description": "Azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration information such as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format .azureedge.net.", "properties": { "properties": { "$ref": "#/definitions/AFDEndpointProperties", "description": "The JSON object that contains the properties required to create an endpoint.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "AFDEndpointListResult": { "type": "object", "description": "The response of a AFDEndpoint list operation.", "properties": { "value": { "type": "array", "description": "The AFDEndpoint items on this page", "items": { "$ref": "#/definitions/AFDEndpoint" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "AFDEndpointProperties": { "type": "object", "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the endpoint.", "readOnly": true }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'" }, "enforceMtls": { "$ref": "#/definitions/EnforceMtlsEnabledState", "description": "Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources." }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true }, "hostName": { "type": "string", "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", "readOnly": true }, "autoGeneratedDomainNameLabelScope": { "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope", "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse." } } }, "AFDEndpointPropertiesUpdateParameters": { "type": "object", "description": "The JSON object containing endpoint update parameters.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the endpoint.", "readOnly": true }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'" }, "enforceMtls": { "$ref": "#/definitions/EnforceMtlsEnabledState", "description": "Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources." } } }, "AFDEndpointProtocols": { "type": "string", "description": "Supported protocols for the customer's endpoint.", "enum": [ "Http", "Https" ], "x-ms-enum": { "name": "AFDEndpointProtocols", "modelAsString": true, "values": [ { "name": "Http", "value": "Http" }, { "name": "Https", "value": "Https" } ] } }, "AFDEndpointUpdateParameters": { "type": "object", "description": "Properties required to create or update an endpoint.", "properties": { "tags": { "type": "object", "description": "Endpoint tags.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/AFDEndpointPropertiesUpdateParameters", "description": "The JSON object containing endpoint update parameters.", "x-ms-client-flatten": true } } }, "AFDOrigin": { "type": "object", "description": "Azure Front Door origin is the source of the content being delivered via Azure Front Door. 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/AFDOriginProperties", "description": "The JSON object that contains the properties of the origin.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "AFDOriginGroup": { "type": "object", "description": "AFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be served from Azure Front Door.", "properties": { "properties": { "$ref": "#/definitions/AFDOriginGroupProperties", "description": "The JSON object that contains the properties of the origin group.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "AFDOriginGroupListResult": { "type": "object", "description": "The response of a AFDOriginGroup list operation.", "properties": { "value": { "type": "array", "description": "The AFDOriginGroup items on this page", "items": { "$ref": "#/definitions/AFDOriginGroup" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "AFDOriginGroupProperties": { "type": "object", "description": "The JSON object that contains the properties of the origin group.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the origin group.", "readOnly": true }, "loadBalancingSettings": { "$ref": "#/definitions/LoadBalancingSettingsParameters", "description": "Load balancing settings for a backend pool" }, "healthProbeSettings": { "$ref": "#/definitions/HealthProbeParameters", "description": "Health probe settings to the origin that is used to determine the health of the origin." }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { "type": "integer", "format": "int32", "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", "minimum": 0, "maximum": 50 }, "sessionAffinityState": { "$ref": "#/definitions/EnabledState", "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'" }, "authentication": { "$ref": "#/definitions/OriginAuthenticationProperties", "description": "Authentication settings for origin in origin group." }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true } } }, "AFDOriginGroupUpdateParameters": { "type": "object", "description": "AFDOrigin group properties needed for origin group creation or update.", "properties": { "properties": { "$ref": "#/definitions/AFDOriginGroupUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the origin group.", "x-ms-client-flatten": true } } }, "AFDOriginGroupUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the origin group.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the origin group.", "readOnly": true }, "loadBalancingSettings": { "$ref": "#/definitions/LoadBalancingSettingsParameters", "description": "Load balancing settings for a backend pool" }, "healthProbeSettings": { "$ref": "#/definitions/HealthProbeParameters", "description": "Health probe settings to the origin that is used to determine the health of the origin." }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { "type": "integer", "format": "int32", "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", "minimum": 0, "maximum": 50 }, "sessionAffinityState": { "$ref": "#/definitions/EnabledState", "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'" }, "authentication": { "$ref": "#/definitions/OriginAuthenticationProperties", "description": "Authentication settings for origin in origin group." } } }, "AFDOriginListResult": { "type": "object", "description": "The response of a AFDOrigin list operation.", "properties": { "value": { "type": "array", "description": "The AFDOrigin items on this page", "items": { "$ref": "#/definitions/AFDOrigin" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "AFDOriginProperties": { "type": "object", "description": "The JSON object that contains the properties of the origin.", "properties": { "originGroupName": { "type": "string", "description": "The name of the origin group which contains this origin.", "readOnly": true }, "azureOrigin": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure origin resource." }, "hostName": { "type": "string", "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint." }, "httpPort": { "type": "integer", "format": "int32", "description": "The value of the HTTP port. Must be between 1 and 65535.", "default": 80, "minimum": 1, "maximum": 65535 }, "httpsPort": { "type": "integer", "format": "int32", "description": "The value of the HTTPS port. Must be between 1 and 65535.", "default": 443, "minimum": 1, "maximum": 65535 }, "originHostHeader": { "type": "string", "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint" }, "priority": { "type": "integer", "format": "int32", "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", "minimum": 1, "maximum": 5 }, "weight": { "type": "integer", "format": "int32", "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "minimum": 1, "maximum": 1000 }, "sharedPrivateLinkResource": { "$ref": "#/definitions/SharedPrivateLinkResourceProperties", "description": "The properties of the private link resource for private origin." }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool." }, "enforceCertificateNameCheck": { "type": "boolean", "description": "Whether to enable certificate name check at origin level", "default": true }, "certificateNameCheckValidationMode": { "$ref": "#/definitions/CertificateNameCheckValidationMode", "description": "The validation mode for certificate name check. Only applicable when enforceCertificateNameCheck is true." }, "customCertificateSubjects": { "type": "array", "description": "The list of custom certificate subjects to validate against. Only applicable when certificateNameCheckValidationMode is 'CustomCertificateSubject'. Must contain 1 or 2 entries.", "minItems": 1, "maxItems": 2, "items": { "type": "string" } }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true } } }, "AFDOriginUpdateParameters": { "type": "object", "description": "AFDOrigin properties needed for origin update.", "properties": { "properties": { "$ref": "#/definitions/AFDOriginUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the origin.", "x-ms-client-flatten": true } } }, "AFDOriginUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the origin.", "properties": { "originGroupName": { "type": "string", "description": "The name of the origin group which contains this origin.", "readOnly": true }, "azureOrigin": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure origin resource." }, "hostName": { "type": "string", "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint." }, "httpPort": { "type": "integer", "format": "int32", "description": "The value of the HTTP port. Must be between 1 and 65535.", "default": 80, "minimum": 1, "maximum": 65535 }, "httpsPort": { "type": "integer", "format": "int32", "description": "The value of the HTTPS port. Must be between 1 and 65535.", "default": 443, "minimum": 1, "maximum": 65535 }, "originHostHeader": { "type": "string", "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint" }, "priority": { "type": "integer", "format": "int32", "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", "minimum": 1, "maximum": 5 }, "weight": { "type": "integer", "format": "int32", "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "minimum": 1, "maximum": 1000 }, "sharedPrivateLinkResource": { "$ref": "#/definitions/SharedPrivateLinkResourceProperties", "description": "The properties of the private link resource for private origin." }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool." }, "enforceCertificateNameCheck": { "type": "boolean", "description": "Whether to enable certificate name check at origin level", "default": true }, "certificateNameCheckValidationMode": { "$ref": "#/definitions/CertificateNameCheckValidationMode", "description": "The validation mode for certificate name check. Only applicable when enforceCertificateNameCheck is true." }, "customCertificateSubjects": { "type": "array", "description": "The list of custom certificate subjects to validate against. Only applicable when certificateNameCheckValidationMode is 'CustomCertificateSubject'. Must contain 1 or 2 entries.", "minItems": 1, "maxItems": 2, "items": { "type": "string" } } } }, "AFDStateProperties": { "type": "object", "description": "The tracking states for afd resources.", "properties": { "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true } } }, "ActionType": { "type": "string", "description": "Defines the action to take on rule match.", "enum": [ "Allow", "Block", "Log", "Redirect" ], "x-ms-enum": { "name": "ActionType", "modelAsString": true, "values": [ { "name": "Allow", "value": "Allow" }, { "name": "Block", "value": "Block" }, { "name": "Log", "value": "Log" }, { "name": "Redirect", "value": "Redirect" } ] } }, "ActivatedResourceReference": { "type": "object", "description": "Reference to another resource along with its state.", "properties": { "id": { "type": "string", "description": "Resource ID." }, "isActive": { "type": "boolean", "description": "Whether the resource is active or inactive", "readOnly": true } } }, "AfdCertificateType": { "type": "string", "description": "Defines the source of the SSL certificate.", "enum": [ "CustomerCertificate", "ManagedCertificate", "AzureFirstPartyManagedCertificate" ], "x-ms-enum": { "name": "AfdCertificateType", "modelAsString": true, "values": [ { "name": "CustomerCertificate", "value": "CustomerCertificate" }, { "name": "ManagedCertificate", "value": "ManagedCertificate" }, { "name": "AzureFirstPartyManagedCertificate", "value": "AzureFirstPartyManagedCertificate" } ] } }, "AfdCipherSuiteSetType": { "type": "string", "description": "cipher suite set type that will be used for Https", "enum": [ "Customized", "TLS10_2019", "TLS12_2022", "TLS12_2023" ], "x-ms-enum": { "name": "AfdCipherSuiteSetType", "modelAsString": true, "values": [ { "name": "Customized", "value": "Customized" }, { "name": "TLS10_2019", "value": "TLS10_2019" }, { "name": "TLS12_2022", "value": "TLS12_2022" }, { "name": "TLS12_2023", "value": "TLS12_2023" } ] } }, "AfdCustomizedCipherSuiteForTls12": { "type": "string", "enum": [ "ECDHE_RSA_AES128_GCM_SHA256", "ECDHE_RSA_AES256_GCM_SHA384", "DHE_RSA_AES256_GCM_SHA384", "DHE_RSA_AES128_GCM_SHA256", "ECDHE_RSA_AES128_SHA256", "ECDHE_RSA_AES256_SHA384" ], "x-ms-enum": { "name": "AfdCustomizedCipherSuiteForTls12", "modelAsString": true, "values": [ { "name": "ECDHE_RSA_AES128_GCM_SHA256", "value": "ECDHE_RSA_AES128_GCM_SHA256" }, { "name": "ECDHE_RSA_AES256_GCM_SHA384", "value": "ECDHE_RSA_AES256_GCM_SHA384" }, { "name": "DHE_RSA_AES256_GCM_SHA384", "value": "DHE_RSA_AES256_GCM_SHA384" }, { "name": "DHE_RSA_AES128_GCM_SHA256", "value": "DHE_RSA_AES128_GCM_SHA256" }, { "name": "ECDHE_RSA_AES128_SHA256", "value": "ECDHE_RSA_AES128_SHA256" }, { "name": "ECDHE_RSA_AES256_SHA384", "value": "ECDHE_RSA_AES256_SHA384" } ] } }, "AfdCustomizedCipherSuiteForTls13": { "type": "string", "enum": [ "TLS_AES_128_GCM_SHA256", "TLS_AES_256_GCM_SHA384" ], "x-ms-enum": { "name": "AfdCustomizedCipherSuiteForTls13", "modelAsString": true, "values": [ { "name": "TLS_AES_128_GCM_SHA256", "value": "TLS_AES_128_GCM_SHA256" }, { "name": "TLS_AES_256_GCM_SHA384", "value": "TLS_AES_256_GCM_SHA384" } ] } }, "AfdMinimumTlsVersion": { "type": "string", "description": "TLS protocol version that will be used for Https when cipherSuiteSetType is Customized.", "enum": [ "TLS10", "TLS12", "TLS13" ], "x-ms-enum": { "name": "AfdMinimumTlsVersion", "modelAsString": false } }, "AfdProvisioningState": { "type": "string", "description": "Provisioning status", "enum": [ "Succeeded", "Failed", "Updating", "Deleting", "Creating" ], "x-ms-enum": { "name": "AfdProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Creating", "value": "Creating" } ] } }, "AfdPurgeParameters": { "type": "object", "description": "Parameters required for content purge.", "properties": { "contentPaths": { "type": "array", "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", "items": { "type": "string" } }, "domains": { "type": "array", "description": "List of domains.", "items": { "type": "string" } } }, "required": [ "contentPaths" ] }, "AfdQueryStringCachingBehavior": { "type": "string", "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" ], "x-ms-enum": { "name": "AfdQueryStringCachingBehavior", "modelAsString": true, "values": [ { "name": "IgnoreQueryString", "value": "IgnoreQueryString" }, { "name": "UseQueryString", "value": "UseQueryString" }, { "name": "IgnoreSpecifiedQueryStrings", "value": "IgnoreSpecifiedQueryStrings" }, { "name": "IncludeSpecifiedQueryStrings", "value": "IncludeSpecifiedQueryStrings" } ] } }, "AfdRouteCacheConfiguration": { "type": "object", "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "queryStringCachingBehavior": { "$ref": "#/definitions/AfdQueryStringCachingBehavior", "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings." }, "queryParameters": { "type": "string", "description": "query parameters to include or exclude (comma separated)." }, "compressionSettings": { "$ref": "#/definitions/CompressionSettings", "description": "compression settings." } } }, "AfdSecretMtlsCertificateChain": { "type": "object", "description": "Server-side certificate used for mTLS validation", "properties": { "secretSource": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}" }, "secretVersion": { "type": "string", "description": "Version of the secret to be used" }, "expirationDate": { "type": "string", "format": "date-time", "description": "Soonest expiration date among certificates in customer's certificate chain in ISO 8601 compliant format yyyy-MM-ddTHH:mm:ss.fffffffK in UTC", "readOnly": true } }, "required": [ "secretSource", "secretVersion" ], "allOf": [ { "$ref": "#/definitions/SecretParameters" } ], "x-ms-discriminator-value": "MtlsCertificateChain" }, "AfdServerTlsGroup": { "type": "string", "description": "Supported key-exchange groups and curves. The ML-KEM groups are hybrid post-quantum groups.", "enum": [ "SecP256r1MLKEM768", "SecP384r1MLKEM1024", "X25519MLKEM768", "prime256v1", "X25519", "secp384r1", "secp521r1" ], "x-ms-enum": { "name": "AfdServerTlsGroup", "modelAsString": true, "values": [ { "name": "SecP256r1MLKEM768", "value": "SecP256r1MLKEM768", "description": "Hybrid post-quantum group combining secp256r1 with ML-KEM-768." }, { "name": "SecP384r1MLKEM1024", "value": "SecP384r1MLKEM1024", "description": "Hybrid post-quantum group combining secp384r1 with ML-KEM-1024." }, { "name": "X25519MLKEM768", "value": "X25519MLKEM768", "description": "Hybrid post-quantum group combining X25519 with ML-KEM-768." }, { "name": "prime256v1", "value": "prime256v1", "description": "The prime256v1 elliptic curve group." }, { "name": "X25519", "value": "X25519", "description": "The X25519 elliptic curve group." }, { "name": "secp384r1", "value": "secp384r1", "description": "The secp384r1 elliptic curve group." }, { "name": "secp521r1", "value": "secp521r1", "description": "The secp521r1 elliptic curve group." } ] } }, "AfdServerTlsGroupPolicy": { "type": "string", "description": "Server TLS group policy that will be used for Https. Standard and Enhanced are service-managed sets; Custom allows specifying serverTlsGroups explicitly.", "enum": [ "Standard", "Enhanced", "Custom" ], "x-ms-enum": { "name": "AfdServerTlsGroupPolicy", "modelAsString": true, "values": [ { "name": "Standard", "value": "Standard", "description": "Uses the standard service-managed set of server TLS groups." }, { "name": "Enhanced", "value": "Enhanced", "description": "Uses the enhanced service-managed set of server TLS groups." }, { "name": "Custom", "value": "Custom", "description": "Uses the server TLS groups specified by serverTlsGroups." } ] } }, "AfdUrlSigningAction": { "type": "object", "description": "Defines the url signing action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/AfdUrlSigningActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "AfdUrlSigning" }, "AfdUrlSigningActionParameters": { "type": "object", "description": "Defines the parameters for the Url Signing action.", "properties": { "typeName": { "$ref": "#/definitions/TypeName" }, "keyGroupReference": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups/{keyGroupName}" }, "algorithm": { "$ref": "#/definitions/Algorithm", "description": "Algorithm to use for URL signing" }, "parameterNameOverride": { "type": "array", "description": "Defines which query string parameters in the url to be considered for expires, key id etc.", "items": { "$ref": "#/definitions/UrlSigningParamIdentifier" }, "x-ms-identifiers": [ "paramName" ] } }, "required": [ "typeName", "keyGroupReference" ] }, "Algorithm": { "type": "string", "description": "Algorithm to use for URL signing", "enum": [ "SHA256" ], "x-ms-enum": { "name": "Algorithm", "modelAsString": true, "values": [ { "name": "SHA256", "value": "SHA256" } ] } }, "AutoGeneratedDomainNameLabelScope": { "type": "string", "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", "enum": [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" ], "x-ms-enum": { "name": "AutoGeneratedDomainNameLabelScope", "modelAsString": true, "values": [ { "name": "TenantReuse", "value": "TenantReuse" }, { "name": "SubscriptionReuse", "value": "SubscriptionReuse" }, { "name": "ResourceGroupReuse", "value": "ResourceGroupReuse" }, { "name": "NoReuse", "value": "NoReuse" } ] } }, "AzureFirstPartyManagedCertificateParameters": { "type": "object", "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", "properties": { "secretSource": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{certificateName}", "readOnly": true }, "subject": { "type": "string", "description": "Subject name in the certificate.", "readOnly": true }, "expirationDate": { "type": "string", "description": "Certificate expiration date.", "readOnly": true }, "certificateAuthority": { "type": "string", "description": "Certificate issuing authority.", "readOnly": true }, "subjectAlternativeNames": { "type": "array", "description": "The list of SANs.", "items": { "type": "string" } }, "thumbprint": { "type": "string", "description": "Certificate thumbprint.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/SecretParameters" } ], "x-ms-discriminator-value": "AzureFirstPartyManagedCertificate" }, "BatchRuleProperties": { "type": "object", "description": "The JSON object that contains a rule with its name for batch mode operations.", "properties": { "ruleName": { "type": "string", "description": "Name of the rule.", "minLength": 1, "maxLength": 60, "pattern": "^[a-zA-Z][a-zA-Z0-9]{0,59}$", "x-ms-mutability": [ "read", "create" ] }, "ruleSetName": { "type": "string", "description": "The name of the rule set containing the rule.", "readOnly": true }, "order": { "type": "integer", "format": "int32", "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied." }, "conditions": { "type": "array", "description": "A list of conditions that must be matched for the actions to be executed", "items": { "$ref": "#/definitions/DeliveryRuleCondition" }, "x-ms-identifiers": [ "name" ] }, "actions": { "type": "array", "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "items": { "$ref": "#/definitions/DeliveryRuleAction" }, "x-ms-identifiers": [ "name" ] }, "matchProcessingBehavior": { "type": "string", "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "default": "Continue", "enum": [ "Continue", "Stop" ], "x-ms-enum": { "name": "MatchProcessingBehavior", "modelAsString": true, "values": [ { "name": "Continue", "value": "Continue" }, { "name": "Stop", "value": "Stop" } ] } } }, "required": [ "ruleName" ] }, "CacheBehavior": { "type": "string", "description": "Caching behavior for the requests", "enum": [ "BypassCache", "Override", "SetIfMissing" ], "x-ms-enum": { "name": "CacheBehavior", "modelAsString": true, "values": [ { "name": "BypassCache", "value": "BypassCache" }, { "name": "Override", "value": "Override" }, { "name": "SetIfMissing", "value": "SetIfMissing" } ] } }, "CacheConfiguration": { "type": "object", "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "queryStringCachingBehavior": { "$ref": "#/definitions/RuleQueryStringCachingBehavior", "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings." }, "queryParameters": { "type": "string", "description": "query parameters to include or exclude (comma separated)." }, "isCompressionEnabled": { "$ref": "#/definitions/RuleIsCompressionEnabled", "description": "Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB." }, "cacheBehavior": { "$ref": "#/definitions/RuleCacheBehavior", "description": "Caching behavior for the requests" }, "cacheDuration": { "type": "string", "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss" } } }, "CacheExpirationActionParameters": { "type": "object", "description": "Defines the parameters for the cache expiration action.", "properties": { "cacheBehavior": { "$ref": "#/definitions/CacheBehavior", "description": "Caching behavior for the requests" }, "cacheType": { "$ref": "#/definitions/CacheType", "description": "The level at which the content needs to be cached." }, "cacheDuration": { "type": "string", "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", "x-nullable": true } }, "required": [ "cacheBehavior", "cacheType" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleCacheExpirationActionParameters" }, "CacheKeyQueryStringActionParameters": { "type": "object", "description": "Defines the parameters for the cache-key query string action.", "properties": { "queryStringBehavior": { "$ref": "#/definitions/QueryStringBehavior", "description": "Caching behavior for the requests" }, "queryParameters": { "type": "string", "description": "query parameters to include or exclude (comma separated).", "x-nullable": true } }, "required": [ "queryStringBehavior" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" }, "CacheType": { "type": "string", "description": "The level at which the content needs to be cached.", "enum": [ "All" ], "x-ms-enum": { "name": "CacheType", "modelAsString": true, "values": [ { "name": "All", "value": "All" } ] } }, "CanMigrateDefaultSku": { "type": "string", "description": "Recommended sku for the migration", "enum": [ "Standard_AzureFrontDoor", "Premium_AzureFrontDoor" ], "x-ms-enum": { "name": "CanMigrateDefaultSku", "modelAsString": true, "values": [ { "name": "Standard_AzureFrontDoor", "value": "Standard_AzureFrontDoor" }, { "name": "Premium_AzureFrontDoor", "value": "Premium_AzureFrontDoor" } ] } }, "CanMigrateParameters": { "type": "object", "description": "Request body for CanMigrate operation.", "properties": { "classicResourceReference": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated." } }, "required": [ "classicResourceReference" ] }, "CanMigrateProperties": { "type": "object", "properties": { "canMigrate": { "type": "boolean", "description": "Flag that says if the profile can be migrated", "readOnly": true }, "defaultSku": { "$ref": "#/definitions/CanMigrateDefaultSku", "description": "Recommended sku for the migration", "readOnly": true }, "errors": { "type": "array", "items": { "$ref": "#/definitions/MigrationErrorType" }, "x-ms-identifiers": [] } } }, "CanMigrateResult": { "type": "object", "description": "Result for canMigrate operation.", "properties": { "id": { "type": "string", "format": "arm-id", "description": "Resource ID.", "readOnly": true }, "type": { "type": "string", "description": "Resource type.", "readOnly": true }, "properties": { "$ref": "#/definitions/CanMigrateProperties", "x-ms-client-flatten": true } } }, "CdnCertificateSourceParameters": { "type": "object", "description": "Defines the parameters for using CDN managed certificate for securing custom domain.", "properties": { "certificateType": { "$ref": "#/definitions/CertificateType", "description": "Type of certificate used" } }, "required": [ "certificateType" ], "allOf": [ { "$ref": "#/definitions/CertificateSourceParameters" } ], "x-ms-discriminator-value": "CdnCertificateSourceParameters" }, "CdnEndpoint": { "type": "object", "description": "Defines the ARM Resource ID for the linked endpoints", "properties": { "id": { "type": "string", "description": "ARM Resource ID string." } } }, "CdnManagedHttpsParameters": { "type": "object", "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.", "properties": { "certificateSourceParameters": { "$ref": "#/definitions/CdnCertificateSourceParameters", "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL." } }, "required": [ "certificateSourceParameters" ], "allOf": [ { "$ref": "#/definitions/CustomDomainHttpsParameters" } ], "x-ms-discriminator-value": "Cdn" }, "CdnMigrationToAfdParameters": { "type": "object", "description": "Request body for Migrate operation.", "properties": { "sku": { "$ref": "#/definitions/Sku", "description": "Sku for the migration" }, "migrationEndpointMappings": { "type": "array", "description": "A name map between classic CDN endpoints and AFD Premium/Standard endpoints.", "items": { "$ref": "#/definitions/MigrationEndpointMapping" }, "x-ms-identifiers": [] } }, "required": [ "sku" ] }, "CdnWebApplicationFirewallPolicy": { "type": "object", "description": "Defines web application firewall policy for Azure CDN.", "properties": { "properties": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties", "description": "Properties of the web application firewall policy.", "x-ms-client-flatten": true }, "etag": { "type": "string", "description": "Gets a unique read-only string that changes whenever the resource is updated." }, "sku": { "$ref": "#/definitions/Sku", "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy." } }, "required": [ "sku" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "CdnWebApplicationFirewallPolicyList": { "type": "object", "description": "Defines a list of WebApplicationFirewallPolicies for Azure CDN. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.", "properties": { "value": { "type": "array", "description": "The CdnWebApplicationFirewallPolicy items on this page", "items": { "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "CdnWebApplicationFirewallPolicyPatchParameters": { "type": "object", "description": "Properties required to update a CdnWebApplicationFirewallPolicy.", "properties": { "tags": { "type": "object", "description": "CdnWebApplicationFirewallPolicy tags", "additionalProperties": { "type": "string" } } } }, "CdnWebApplicationFirewallPolicyProperties": { "type": "object", "description": "Defines CDN web application firewall policy properties.", "properties": { "policySettings": { "$ref": "#/definitions/policySettings", "description": "Describes policySettings for policy" }, "rateLimitRules": { "$ref": "#/definitions/RateLimitRuleList", "description": "Describes rate limit rules inside the policy." }, "customRules": { "$ref": "#/definitions/CustomRuleList", "description": "Describes custom rules inside the policy." }, "managedRules": { "$ref": "#/definitions/ManagedRuleSetList", "description": "Describes managed rules inside the policy." }, "endpointLinks": { "type": "array", "description": "Describes Azure CDN endpoints associated with this Web Application Firewall policy.", "items": { "$ref": "#/definitions/CdnEndpoint" }, "readOnly": true }, "extendedProperties": { "type": "object", "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", "additionalProperties": { "type": "string" } }, "provisioningState": { "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the WebApplicationFirewallPolicy.", "readOnly": true }, "resourceState": { "$ref": "#/definitions/PolicyResourceState", "description": "Resource status of the policy.", "readOnly": true } } }, "CertificateNameCheckValidationMode": { "type": "string", "description": "The validation mode for certificate name check at origin level. Only applicable when enforceCertificateNameCheck is true.", "enum": [ "OriginHostname", "CustomCertificateSubject", "IncomingHostHeader" ], "x-ms-enum": { "name": "CertificateNameCheckValidationMode", "modelAsString": true, "values": [ { "name": "OriginHostname", "value": "OriginHostname", "description": "Validate the certificate against the origin hostname." }, { "name": "CustomCertificateSubject", "value": "CustomCertificateSubject", "description": "Validate the certificate against custom certificate subjects." }, { "name": "IncomingHostHeader", "value": "IncomingHostHeader", "description": "Validate the certificate against the incoming host header." } ] } }, "CertificateRevocationCheckEnabledState": { "type": "string", "description": "Set to Enabled by default. If set to Disabled, revocation status of client certificate chain will be checked before establishing mutual TLS connection.", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "CertificateRevocationCheckEnabledState", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "CertificateSource": { "type": "string", "description": "Defines the source of the SSL certificate.", "enum": [ "AzureKeyVault", "Cdn" ], "x-ms-enum": { "name": "CertificateSource", "modelAsString": true, "values": [ { "name": "AzureKeyVault", "value": "AzureKeyVault" }, { "name": "Cdn", "value": "Cdn" } ] } }, "CertificateSourceParameters": { "type": "object", "description": "Defines the parameters for certificate source", "properties": { "typeName": { "$ref": "#/definitions/CertificateSourceParametersType" } }, "discriminator": "typeName", "required": [ "typeName" ] }, "CertificateSourceParametersType": { "type": "string", "enum": [ "CdnCertificateSourceParameters", "KeyVaultCertificateSourceParameters" ], "x-ms-enum": { "name": "CertificateSourceParametersType", "modelAsString": true, "values": [ { "name": "CdnCertificateSourceParameters", "value": "CdnCertificateSourceParameters" }, { "name": "KeyVaultCertificateSourceParameters", "value": "KeyVaultCertificateSourceParameters" } ] } }, "CertificateType": { "type": "string", "description": "Type of certificate used", "enum": [ "Shared", "Dedicated" ], "x-ms-enum": { "name": "CertificateType", "modelAsString": true, "values": [ { "name": "Shared", "value": "Shared" }, { "name": "Dedicated", "value": "Dedicated" } ] } }, "CheckEndpointNameAvailabilityInput": { "type": "object", "description": "Input of CheckNameAvailability API.", "properties": { "name": { "type": "string", "description": "The resource name to validate." }, "type": { "$ref": "#/definitions/ResourceType", "description": "The type of the resource whose name is to be validated." }, "autoGeneratedDomainNameLabelScope": { "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope", "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse." } }, "required": [ "name", "type" ] }, "CheckEndpointNameAvailabilityOutput": { "type": "object", "description": "Output of check name availability API.", "properties": { "nameAvailable": { "type": "boolean", "description": "Indicates whether the name is available.", "readOnly": true }, "availableHostname": { "type": "string", "description": "Returns the available hostname generated based on the AutoGeneratedDomainNameLabelScope when the name is available, otherwise it returns empty string", "readOnly": true }, "reason": { "type": "string", "description": "The reason why the name is not available.", "readOnly": true }, "message": { "type": "string", "description": "The detailed error message describing why the name is not available.", "readOnly": true } } }, "CheckHostNameAvailabilityInput": { "type": "object", "description": "Input of CheckHostNameAvailability API.", "properties": { "hostName": { "type": "string", "description": "The host name to validate." } }, "required": [ "hostName" ] }, "CheckNameAvailabilityInput": { "type": "object", "description": "Input of CheckNameAvailability API.", "properties": { "name": { "type": "string", "description": "The resource name to validate." }, "type": { "$ref": "#/definitions/ResourceType", "description": "The type of the resource whose name is to be validated." } }, "required": [ "name", "type" ] }, "CheckNameAvailabilityOutput": { "type": "object", "description": "Output of check name availability API.", "properties": { "nameAvailable": { "type": "boolean", "description": "Indicates whether the name is available.", "readOnly": true }, "reason": { "type": "string", "description": "The reason why the name is not available.", "readOnly": true }, "message": { "type": "string", "description": "The detailed error message describing why the name is not available.", "readOnly": true } } }, "ClientCertificateRequiredAndOriginValidatesAdvancedSettings": { "type": "object", "description": "Advanced settings for MtlsScenarioType enum value: ClientCertificateRequiredAndOriginValidates.", "allOf": [ { "$ref": "#/definitions/AFDDomainMtlsParameters" } ], "x-ms-discriminator-value": "ClientCertificateRequiredAndOriginValidates" }, "ClientCertificateRequiredAndValidatedAdvancedSettings": { "type": "object", "description": "Advanced settings for MtlsScenarioType enum value: ClientCertificateRequiredAndValidated.", "properties": { "secrets": { "type": "array", "description": "List of one or two of Resource References (ie. subs/rg/profile/secret) to Secrets of type MtlsCertificateChain to use in mutual TLS handshake as the trusted issuer certificate chain.", "items": { "$ref": "#/definitions/ResourceReference" } }, "allowedFqdns": { "type": "array", "description": "List of FQDNs that will be accepted for mutual TLS validation.", "items": { "$ref": "#/definitions/Fqdn" } }, "certificateRevocationCheck": { "$ref": "#/definitions/CertificateRevocationCheckEnabledState", "description": "Set to Enabled by default. If set to Disabled, revocation status of client certificate chain will be checked before establishing mutual TLS connection." } }, "required": [ "secrets" ], "allOf": [ { "$ref": "#/definitions/AFDDomainMtlsParameters" } ], "x-ms-discriminator-value": "ClientCertificateRequiredAndValidated" }, "ClientCertificateValidatedIfPresentedAdvancedSettings": { "type": "object", "description": "Advanced settings for MtlsScenarioType enum value: ClientCertificateValidatedIfPresented.", "properties": { "secrets": { "type": "array", "description": "List of one or two of Resource References (ie. subs/rg/profile/secret) to Secrets of type MtlsCertificateChain to use in mutual TLS handshake as the trusted issuer certificate chain.", "items": { "$ref": "#/definitions/ResourceReference" } }, "allowedFqdns": { "type": "array", "description": "List of FQDNs that will be accepted for mutual TLS validation.", "items": { "$ref": "#/definitions/Fqdn" } }, "certificateRevocationCheck": { "$ref": "#/definitions/CertificateRevocationCheckEnabledState", "description": "Set to Enabled by default. If set to Disabled, revocation status of client certificate chain will be checked before establishing mutual TLS connection." } }, "required": [ "secrets" ], "allOf": [ { "$ref": "#/definitions/AFDDomainMtlsParameters" } ], "x-ms-discriminator-value": "ClientCertificateValidatedIfPresented" }, "ClientPortMatchConditionParameters": { "type": "object", "description": "Defines the parameters for ClientPort match conditions", "properties": { "operator": { "$ref": "#/definitions/ClientPortOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleClientPortConditionParameters" }, "ClientPortOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "ClientPortOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "CompleteMtlsPassthroughToOriginAdvancedSettings": { "type": "object", "description": "Advanced settings for MtlsScenarioType enum value: CompleteMtlsPassthroughToOrigin.", "allOf": [ { "$ref": "#/definitions/AFDDomainMtlsParameters" } ], "x-ms-discriminator-value": "CompleteMtlsPassthroughToOrigin" }, "Components18OrqelSchemasWafmetricsresponsePropertiesSeriesItemsPropertiesDataItems": { "type": "object", "properties": { "dateTime": { "type": "string", "format": "date-time" }, "value": { "type": "number", "format": "float" } } }, "Components1Gs0LlpSchemasMetricsresponsePropertiesSeriesItemsPropertiesDataItems": { "type": "object", "properties": { "dateTime": { "type": "string", "format": "date-time" }, "value": { "type": "number", "format": "float" } } }, "ComponentsKpo1PjSchemasWafrankingsresponsePropertiesDataItemsPropertiesMetricsItems": { "type": "object", "properties": { "metric": { "type": "string" }, "value": { "type": "integer", "format": "int64" }, "percentage": { "type": "number", "format": "double" } } }, "CompressionSettings": { "type": "object", "description": "settings for compression.", "properties": { "contentTypesToCompress": { "type": "array", "description": "List of content types on which compression applies. The value should be a valid MIME type.", "items": { "type": "string" } }, "isCompressionEnabled": { "type": "boolean", "description": "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB." } } }, "ContinentsResponse": { "type": "object", "description": "Continents Response", "properties": { "continents": { "type": "array", "items": { "$ref": "#/definitions/ContinentsResponseContinentsItem" } }, "countryOrRegions": { "type": "array", "items": { "$ref": "#/definitions/ContinentsResponseCountryOrRegionsItem" } } } }, "ContinentsResponseContinentsItem": { "type": "object", "properties": { "id": { "type": "string" } } }, "ContinentsResponseCountryOrRegionsItem": { "type": "object", "properties": { "id": { "type": "string" }, "continentId": { "type": "string" } } }, "CookiesMatchConditionParameters": { "type": "object", "description": "Defines the parameters for Cookies match conditions", "properties": { "selector": { "type": "string", "description": "Name of Cookies to be matched" }, "operator": { "$ref": "#/definitions/CookiesOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleCookiesConditionParameters" }, "CookiesOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "CookiesOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "CustomDomain": { "type": "object", "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.", "properties": { "properties": { "$ref": "#/definitions/CustomDomainProperties", "description": "The JSON object that contains the properties of the custom domain to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "CustomDomainHttpsParameters": { "type": "object", "description": "The JSON object that contains the properties to secure a custom domain.", "properties": { "certificateSource": { "$ref": "#/definitions/CertificateSource", "description": "Defines the source of the SSL certificate." }, "protocolType": { "$ref": "#/definitions/ProtocolType", "description": "Defines the TLS extension protocol that is used for secure delivery." }, "minimumTlsVersion": { "$ref": "#/definitions/MinimumTlsVersion", "description": "TLS protocol version that will be used for Https" } }, "discriminator": "certificateSource", "required": [ "certificateSource", "protocolType" ] }, "CustomDomainListResult": { "type": "object", "description": "The response of a CustomDomain list operation.", "properties": { "value": { "type": "array", "description": "The CustomDomain items on this page", "items": { "$ref": "#/definitions/CustomDomain" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "CustomDomainParameters": { "type": "object", "description": "The customDomain JSON object required for custom domain creation or update.", "properties": { "properties": { "$ref": "#/definitions/CustomDomainPropertiesParameters", "description": "The JSON object that contains the properties of the custom domain to create.", "x-ms-client-flatten": true } } }, "CustomDomainProperties": { "type": "object", "description": "The JSON object that contains the properties of the custom domain to create.", "properties": { "hostName": { "type": "string", "description": "The host name of the custom domain. Must be a domain name." }, "resourceState": { "$ref": "#/definitions/CustomDomainResourceState", "description": "Resource status of the custom domain.", "readOnly": true }, "customHttpsProvisioningState": { "$ref": "#/definitions/CustomHttpsProvisioningState", "description": "Provisioning status of the custom domain.", "readOnly": true }, "customHttpsProvisioningSubstate": { "$ref": "#/definitions/CustomHttpsProvisioningSubstate", "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.", "readOnly": true }, "customHttpsParameters": { "$ref": "#/definitions/CustomDomainHttpsParameters", "description": "Certificate parameters for securing custom HTTPS" }, "validationData": { "type": "string", "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China." }, "provisioningState": { "$ref": "#/definitions/CustomHttpsProvisioningState", "description": "Provisioning status of Custom Https of the custom domain.", "readOnly": true } }, "required": [ "hostName" ] }, "CustomDomainPropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the custom domain to create.", "properties": { "hostName": { "type": "string", "description": "The host name of the custom domain. Must be a domain name." } }, "required": [ "hostName" ] }, "CustomDomainResourceState": { "type": "string", "description": "Resource status of the custom domain.", "enum": [ "Creating", "Active", "Deleting" ], "x-ms-enum": { "name": "CustomDomainResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Active", "value": "Active" }, { "name": "Deleting", "value": "Deleting" } ] } }, "CustomHttpsProvisioningState": { "type": "string", "description": "Provisioning status of the custom domain.", "enum": [ "Enabling", "Enabled", "Disabling", "Disabled", "Failed" ], "x-ms-enum": { "name": "CustomHttpsProvisioningState", "modelAsString": true, "values": [ { "name": "Enabling", "value": "Enabling" }, { "name": "Enabled", "value": "Enabled" }, { "name": "Disabling", "value": "Disabling" }, { "name": "Disabled", "value": "Disabled" }, { "name": "Failed", "value": "Failed" } ] } }, "CustomHttpsProvisioningSubstate": { "type": "string", "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.", "enum": [ "SubmittingDomainControlValidationRequest", "PendingDomainControlValidationREquestApproval", "DomainControlValidationRequestApproved", "DomainControlValidationRequestRejected", "DomainControlValidationRequestTimedOut", "IssuingCertificate", "DeployingCertificate", "CertificateDeployed", "DeletingCertificate", "CertificateDeleted" ], "x-ms-enum": { "name": "CustomHttpsProvisioningSubstate", "modelAsString": true, "values": [ { "name": "SubmittingDomainControlValidationRequest", "value": "SubmittingDomainControlValidationRequest" }, { "name": "PendingDomainControlValidationREquestApproval", "value": "PendingDomainControlValidationREquestApproval" }, { "name": "DomainControlValidationRequestApproved", "value": "DomainControlValidationRequestApproved" }, { "name": "DomainControlValidationRequestRejected", "value": "DomainControlValidationRequestRejected" }, { "name": "DomainControlValidationRequestTimedOut", "value": "DomainControlValidationRequestTimedOut" }, { "name": "IssuingCertificate", "value": "IssuingCertificate" }, { "name": "DeployingCertificate", "value": "DeployingCertificate" }, { "name": "CertificateDeployed", "value": "CertificateDeployed" }, { "name": "DeletingCertificate", "value": "DeletingCertificate" }, { "name": "CertificateDeleted", "value": "CertificateDeleted" } ] } }, "CustomRule": { "type": "object", "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "name": { "type": "string", "description": "Defines the name of the custom rule" }, "enabledState": { "$ref": "#/definitions/CustomRuleEnabledState", "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." }, "priority": { "type": "integer", "format": "int32", "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "minimum": 0, "maximum": 1000 }, "matchConditions": { "type": "array", "description": "List of match conditions.", "items": { "$ref": "#/definitions/MatchCondition" }, "x-ms-identifiers": [] }, "action": { "$ref": "#/definitions/ActionType", "description": "Describes what action to be applied when rule matches" } }, "required": [ "name", "priority", "matchConditions", "action" ] }, "CustomRuleEnabledState": { "type": "string", "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "enum": [ "Disabled", "Enabled" ], "x-ms-enum": { "name": "CustomRuleEnabledState", "modelAsString": true, "values": [ { "name": "Disabled", "value": "Disabled" }, { "name": "Enabled", "value": "Enabled" } ] } }, "CustomRuleList": { "type": "object", "description": "Defines contents of custom rules", "properties": { "rules": { "type": "array", "description": "List of rules", "items": { "$ref": "#/definitions/CustomRule" }, "x-ms-identifiers": [ "name" ] } } }, "CustomerCertificateParameters": { "type": "object", "description": "Customer Certificate used for https", "properties": { "secretSource": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​" }, "secretVersion": { "type": "string", "description": "Version of the secret to be used" }, "useLatestVersion": { "type": "boolean", "description": "Whether to use the latest version for the certificate" }, "subject": { "type": "string", "description": "Subject name in the certificate.", "readOnly": true }, "expirationDate": { "type": "string", "description": "Certificate expiration date.", "readOnly": true }, "certificateAuthority": { "type": "string", "description": "Certificate issuing authority.", "readOnly": true }, "subjectAlternativeNames": { "type": "array", "description": "The list of SANs.", "items": { "type": "string" }, "readOnly": true }, "thumbprint": { "type": "string", "description": "Certificate thumbprint.", "readOnly": true } }, "required": [ "secretSource" ], "allOf": [ { "$ref": "#/definitions/SecretParameters" } ], "x-ms-discriminator-value": "CustomerCertificate" }, "DeepCreatedCustomDomain": { "type": "object", "description": "Custom domains created on the CDN endpoint.", "properties": { "name": { "type": "string", "description": "Custom domain name." }, "properties": { "$ref": "#/definitions/DeepCreatedCustomDomainProperties", "description": "Properties of the custom domain created on the CDN endpoint.", "x-ms-client-flatten": true } }, "required": [ "name" ] }, "DeepCreatedCustomDomainProperties": { "type": "object", "description": "Properties of the custom domain created on the CDN endpoint.", "properties": { "hostName": { "type": "string", "description": "The host name of the custom domain. Must be a domain name." }, "validationData": { "type": "string", "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China." } }, "required": [ "hostName" ] }, "DeepCreatedOrigin": { "type": "object", "description": "The main origin of CDN content which is added when creating a CDN endpoint.", "properties": { "name": { "type": "string", "description": "Origin name which must be unique within the endpoint." }, "properties": { "$ref": "#/definitions/DeepCreatedOriginProperties", "description": "Properties of the origin created on the CDN endpoint.", "x-ms-client-flatten": true } }, "required": [ "name" ] }, "DeepCreatedOriginGroup": { "type": "object", "description": "The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the origin group based on origin health.", "properties": { "name": { "type": "string", "description": "Origin group name which must be unique within the endpoint." }, "properties": { "$ref": "#/definitions/DeepCreatedOriginGroupProperties", "description": "Properties of the origin group created on the CDN endpoint.", "x-ms-client-flatten": true } }, "required": [ "name" ] }, "DeepCreatedOriginGroupProperties": { "type": "object", "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { "$ref": "#/definitions/HealthProbeParameters", "description": "Health probe settings to the origin that is used to determine the health of the origin." }, "origins": { "type": "array", "description": "The source of the content being delivered via CDN within given origin group.", "items": { "$ref": "#/definitions/ResourceReference" } }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { "type": "integer", "format": "int32", "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", "maximum": 50 }, "responseBasedOriginErrorDetectionSettings": { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters", "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported." } }, "required": [ "origins" ] }, "DeepCreatedOriginProperties": { "type": "object", "description": "Properties of the origin created on the CDN endpoint.", "properties": { "hostName": { "type": "string", "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint." }, "httpPort": { "type": "integer", "format": "int32", "description": "The value of the HTTP port. Must be between 1 and 65535.", "minimum": 1, "maximum": 65535 }, "httpsPort": { "type": "integer", "format": "int32", "description": "The value of the HTTPS port. Must be between 1 and 65535.", "minimum": 1, "maximum": 65535 }, "originHostHeader": { "type": "string", "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." }, "priority": { "type": "integer", "format": "int32", "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.", "minimum": 1, "maximum": 5 }, "weight": { "type": "integer", "format": "int32", "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "minimum": 1, "maximum": 1000 }, "enabled": { "type": "boolean", "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." }, "privateLinkAlias": { "type": "string", "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" }, "privateLinkResourceId": { "type": "string", "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" }, "privateLinkLocation": { "type": "string", "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" }, "privateLinkApprovalMessage": { "type": "string", "description": "A custom message to be included in the approval request to connect to the Private Link." }, "privateEndpointStatus": { "$ref": "#/definitions/PrivateEndpointStatus", "description": "The approval status for the connection to the Private Link", "readOnly": true } }, "required": [ "hostName" ] }, "DeleteRule": { "type": "string", "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.", "enum": [ "NoAction" ], "x-ms-enum": { "name": "DeleteRule", "modelAsString": true, "values": [ { "name": "NoAction", "value": "NoAction" } ] } }, "DeliveryRule": { "type": "object", "description": "A rule that specifies a set of actions and conditions", "properties": { "name": { "type": "string", "description": "Name of the rule" }, "order": { "type": "integer", "format": "int32", "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied." }, "conditions": { "type": "array", "description": "A list of conditions that must be matched for the actions to be executed", "items": { "$ref": "#/definitions/DeliveryRuleCondition" }, "x-ms-identifiers": [ "name" ] }, "actions": { "type": "array", "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "items": { "$ref": "#/definitions/DeliveryRuleAction" }, "x-ms-identifiers": [ "name" ] } }, "required": [ "order", "actions" ] }, "DeliveryRuleAction": { "type": "object", "description": "An action for the delivery rule.", "properties": { "name": { "$ref": "#/definitions/DeliveryRuleActionName", "description": "The name of the action for the delivery rule." } }, "discriminator": "name", "required": [ "name" ] }, "DeliveryRuleActionName": { "type": "string", "description": "The name of the action for the delivery rule.", "enum": [ "CacheExpiration", "CacheKeyQueryString", "ModifyRequestHeader", "ModifyResponseHeader", "UrlRedirect", "UrlRewrite", "UrlSigning", "OriginGroupOverride", "RouteConfigurationOverride", "EdgeAction", "AfdUrlSigning" ], "x-ms-enum": { "name": "DeliveryRuleActionName", "modelAsString": true, "values": [ { "name": "CacheExpiration", "value": "CacheExpiration" }, { "name": "CacheKeyQueryString", "value": "CacheKeyQueryString" }, { "name": "ModifyRequestHeader", "value": "ModifyRequestHeader" }, { "name": "ModifyResponseHeader", "value": "ModifyResponseHeader" }, { "name": "UrlRedirect", "value": "UrlRedirect" }, { "name": "UrlRewrite", "value": "UrlRewrite" }, { "name": "UrlSigning", "value": "UrlSigning" }, { "name": "OriginGroupOverride", "value": "OriginGroupOverride" }, { "name": "RouteConfigurationOverride", "value": "RouteConfigurationOverride" }, { "name": "EdgeAction", "value": "EdgeAction" }, { "name": "AfdUrlSigning", "value": "AfdUrlSigning" } ] } }, "DeliveryRuleActionParameters": { "type": "object", "description": "Defines the parameters for delivery rule actions", "properties": { "typeName": { "$ref": "#/definitions/DeliveryRuleActionParametersType" } }, "discriminator": "typeName", "required": [ "typeName" ] }, "DeliveryRuleActionParametersType": { "type": "string", "enum": [ "DeliveryRuleUrlRedirectActionParameters", "DeliveryRuleUrlSigningActionParameters", "DeliveryRuleOriginGroupOverrideActionParameters", "DeliveryRuleUrlRewriteActionParameters", "DeliveryRuleHeaderActionParameters", "DeliveryRuleCacheExpirationActionParameters", "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", "DeliveryRuleRouteConfigurationOverrideActionParameters", "DeliveryRuleEdgeActionParameters" ], "x-ms-enum": { "name": "DeliveryRuleActionParametersType", "modelAsString": true, "values": [ { "name": "DeliveryRuleUrlRedirectActionParameters", "value": "DeliveryRuleUrlRedirectActionParameters" }, { "name": "DeliveryRuleUrlSigningActionParameters", "value": "DeliveryRuleUrlSigningActionParameters" }, { "name": "DeliveryRuleOriginGroupOverrideActionParameters", "value": "DeliveryRuleOriginGroupOverrideActionParameters" }, { "name": "DeliveryRuleUrlRewriteActionParameters", "value": "DeliveryRuleUrlRewriteActionParameters" }, { "name": "DeliveryRuleHeaderActionParameters", "value": "DeliveryRuleHeaderActionParameters" }, { "name": "DeliveryRuleCacheExpirationActionParameters", "value": "DeliveryRuleCacheExpirationActionParameters" }, { "name": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters", "value": "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" }, { "name": "DeliveryRuleRouteConfigurationOverrideActionParameters", "value": "DeliveryRuleRouteConfigurationOverrideActionParameters" }, { "name": "DeliveryRuleEdgeActionParameters", "value": "DeliveryRuleEdgeActionParameters" } ] } }, "DeliveryRuleCacheExpirationAction": { "type": "object", "description": "Defines the cache expiration action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/CacheExpirationActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "CacheExpiration" }, "DeliveryRuleCacheKeyQueryStringAction": { "type": "object", "description": "Defines the cache-key query string action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/CacheKeyQueryStringActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "CacheKeyQueryString" }, "DeliveryRuleClientPortCondition": { "type": "object", "description": "Defines the ClientPort condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/ClientPortMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "ClientPort" }, "DeliveryRuleCondition": { "type": "object", "description": "A condition for the delivery rule.", "properties": { "name": { "$ref": "#/definitions/MatchVariable", "description": "The name of the condition for the delivery rule." } }, "discriminator": "name", "required": [ "name" ] }, "DeliveryRuleConditionParameters": { "type": "object", "description": "Defines the parameters for delivery rule match conditions", "properties": { "typeName": { "$ref": "#/definitions/DeliveryRuleConditionParametersType" } }, "discriminator": "typeName", "required": [ "typeName" ] }, "DeliveryRuleConditionParametersType": { "type": "string", "enum": [ "DeliveryRuleRemoteAddressConditionParameters", "DeliveryRuleRequestMethodConditionParameters", "DeliveryRuleQueryStringConditionParameters", "DeliveryRulePostArgsConditionParameters", "DeliveryRuleRequestUriConditionParameters", "DeliveryRuleRequestHeaderConditionParameters", "DeliveryRuleRequestBodyConditionParameters", "DeliveryRuleRequestSchemeConditionParameters", "DeliveryRuleUrlPathMatchConditionParameters", "DeliveryRuleUrlFileExtensionMatchConditionParameters", "DeliveryRuleUrlFilenameConditionParameters", "DeliveryRuleHttpVersionConditionParameters", "DeliveryRuleCookiesConditionParameters", "DeliveryRuleIsDeviceConditionParameters", "DeliveryRuleSocketAddrConditionParameters", "DeliveryRuleClientPortConditionParameters", "DeliveryRuleServerPortConditionParameters", "DeliveryRuleHostNameConditionParameters", "DeliveryRuleSslProtocolConditionParameters" ], "x-ms-enum": { "name": "DeliveryRuleConditionParametersType", "modelAsString": true, "values": [ { "name": "DeliveryRuleRemoteAddressConditionParameters", "value": "DeliveryRuleRemoteAddressConditionParameters" }, { "name": "DeliveryRuleRequestMethodConditionParameters", "value": "DeliveryRuleRequestMethodConditionParameters" }, { "name": "DeliveryRuleQueryStringConditionParameters", "value": "DeliveryRuleQueryStringConditionParameters" }, { "name": "DeliveryRulePostArgsConditionParameters", "value": "DeliveryRulePostArgsConditionParameters" }, { "name": "DeliveryRuleRequestUriConditionParameters", "value": "DeliveryRuleRequestUriConditionParameters" }, { "name": "DeliveryRuleRequestHeaderConditionParameters", "value": "DeliveryRuleRequestHeaderConditionParameters" }, { "name": "DeliveryRuleRequestBodyConditionParameters", "value": "DeliveryRuleRequestBodyConditionParameters" }, { "name": "DeliveryRuleRequestSchemeConditionParameters", "value": "DeliveryRuleRequestSchemeConditionParameters" }, { "name": "DeliveryRuleUrlPathMatchConditionParameters", "value": "DeliveryRuleUrlPathMatchConditionParameters" }, { "name": "DeliveryRuleUrlFileExtensionMatchConditionParameters", "value": "DeliveryRuleUrlFileExtensionMatchConditionParameters" }, { "name": "DeliveryRuleUrlFilenameConditionParameters", "value": "DeliveryRuleUrlFilenameConditionParameters" }, { "name": "DeliveryRuleHttpVersionConditionParameters", "value": "DeliveryRuleHttpVersionConditionParameters" }, { "name": "DeliveryRuleCookiesConditionParameters", "value": "DeliveryRuleCookiesConditionParameters" }, { "name": "DeliveryRuleIsDeviceConditionParameters", "value": "DeliveryRuleIsDeviceConditionParameters" }, { "name": "DeliveryRuleSocketAddrConditionParameters", "value": "DeliveryRuleSocketAddrConditionParameters" }, { "name": "DeliveryRuleClientPortConditionParameters", "value": "DeliveryRuleClientPortConditionParameters" }, { "name": "DeliveryRuleServerPortConditionParameters", "value": "DeliveryRuleServerPortConditionParameters" }, { "name": "DeliveryRuleHostNameConditionParameters", "value": "DeliveryRuleHostNameConditionParameters" }, { "name": "DeliveryRuleSslProtocolConditionParameters", "value": "DeliveryRuleSslProtocolConditionParameters" } ] } }, "DeliveryRuleCookiesCondition": { "type": "object", "description": "Defines the Cookies condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/CookiesMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "Cookies" }, "DeliveryRuleEdgeActionParameters": { "type": "object", "description": "Defines the parameters for the edge action.", "properties": { "edgeActionReference": { "$ref": "#/definitions/ResourceReference", "description": "defines the edge action that will be invoked." }, "invocationPoint": { "$ref": "#/definitions/InvocationPoint", "description": "Defines at which point in the request processing pipeline the edge action will be invoked." } }, "required": [ "edgeActionReference", "invocationPoint" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleEdgeActionParameters" }, "DeliveryRuleHostNameCondition": { "type": "object", "description": "Defines the HostName condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/HostNameMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "HostName" }, "DeliveryRuleHttpVersionCondition": { "type": "object", "description": "Defines the HttpVersion condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/HttpVersionMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "HttpVersion" }, "DeliveryRuleIsDeviceCondition": { "type": "object", "description": "Defines the IsDevice condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/IsDeviceMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "IsDevice" }, "DeliveryRulePostArgsCondition": { "type": "object", "description": "Defines the PostArgs condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/PostArgsMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "PostArgs" }, "DeliveryRuleQueryStringCondition": { "type": "object", "description": "Defines the QueryString condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/QueryStringMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "QueryString" }, "DeliveryRuleRemoteAddressCondition": { "type": "object", "description": "Defines the RemoteAddress condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RemoteAddressMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RemoteAddress" }, "DeliveryRuleRequestBodyCondition": { "type": "object", "description": "Defines the RequestBody condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RequestBodyMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RequestBody" }, "DeliveryRuleRequestHeaderAction": { "type": "object", "description": "Defines the request header action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/HeaderActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "ModifyRequestHeader" }, "DeliveryRuleRequestHeaderCondition": { "type": "object", "description": "Defines the RequestHeader condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RequestHeaderMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RequestHeader" }, "DeliveryRuleRequestMethodCondition": { "type": "object", "description": "Defines the RequestMethod condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RequestMethodMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RequestMethod" }, "DeliveryRuleRequestSchemeCondition": { "type": "object", "description": "Defines the RequestScheme condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RequestSchemeMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RequestScheme" }, "DeliveryRuleRequestUriCondition": { "type": "object", "description": "Defines the RequestUri condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/RequestUriMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "RequestUri" }, "DeliveryRuleResponseHeaderAction": { "type": "object", "description": "Defines the response header action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/HeaderActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "ModifyResponseHeader" }, "DeliveryRuleRouteConfigurationOverrideAction": { "type": "object", "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", "properties": { "parameters": { "$ref": "#/definitions/RouteConfigurationOverrideActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "RouteConfigurationOverride" }, "DeliveryRuleServerPortCondition": { "type": "object", "description": "Defines the ServerPort condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/ServerPortMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "ServerPort" }, "DeliveryRuleSocketAddrCondition": { "type": "object", "description": "Defines the SocketAddress condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/SocketAddrMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "SocketAddr" }, "DeliveryRuleSslProtocolCondition": { "type": "object", "description": "Defines the SslProtocol condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/SslProtocolMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "SslProtocol" }, "DeliveryRuleUrlFileExtensionCondition": { "type": "object", "description": "Defines the UrlFileExtension condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "UrlFileExtension" }, "DeliveryRuleUrlFileNameCondition": { "type": "object", "description": "Defines the UrlFileName condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlFileNameMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "UrlFileName" }, "DeliveryRuleUrlPathCondition": { "type": "object", "description": "Defines the UrlPath condition for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlPathMatchConditionParameters", "description": "Defines the parameters for the condition." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleCondition" } ], "x-ms-discriminator-value": "UrlPath" }, "DeploymentStatus": { "type": "string", "enum": [ "NotStarted", "InProgress", "Succeeded", "Failed" ], "x-ms-enum": { "name": "DeploymentStatus", "modelAsString": true, "values": [ { "name": "NotStarted", "value": "NotStarted" }, { "name": "InProgress", "value": "InProgress" }, { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" } ] } }, "DestinationProtocol": { "type": "string", "description": "Protocol to use for the redirect. The default value is MatchRequest", "enum": [ "MatchRequest", "Http", "Https" ], "x-ms-enum": { "name": "DestinationProtocol", "modelAsString": true, "values": [ { "name": "MatchRequest", "value": "MatchRequest" }, { "name": "Http", "value": "Http" }, { "name": "Https", "value": "Https" } ] } }, "DimensionProperties": { "type": "object", "description": "Type of operation: get, read, delete, etc.", "properties": { "name": { "type": "string", "description": "Name of dimension." }, "displayName": { "type": "string", "description": "Display name of dimension." }, "internalName": { "type": "string", "description": "Internal name of dimension." } } }, "DomainValidationProperties": { "type": "object", "description": "The JSON object that contains the properties to validate a domain.", "properties": { "validationToken": { "type": "string", "description": "Challenge used for DNS TXT record or file based validation", "readOnly": true }, "expirationDate": { "type": "string", "description": "The date time that the token expires", "readOnly": true } } }, "DomainValidationState": { "type": "string", "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. DCV stands for DomainControlValidation.", "enum": [ "Unknown", "Submitting", "Pending", "Rejected", "TimedOut", "PendingRevalidation", "Approved", "RefreshingValidationToken", "InternalError" ], "x-ms-enum": { "name": "DomainValidationState", "modelAsString": true, "values": [ { "name": "Unknown", "value": "Unknown" }, { "name": "Submitting", "value": "Submitting" }, { "name": "Pending", "value": "Pending" }, { "name": "Rejected", "value": "Rejected" }, { "name": "TimedOut", "value": "TimedOut" }, { "name": "PendingRevalidation", "value": "PendingRevalidation" }, { "name": "Approved", "value": "Approved" }, { "name": "RefreshingValidationToken", "value": "RefreshingValidationToken" }, { "name": "InternalError", "value": "InternalError" } ] } }, "EdgeAction": { "type": "object", "description": "Defines the edge action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/DeliveryRuleEdgeActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "EdgeAction" }, "EdgeNode": { "type": "object", "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.", "properties": { "properties": { "$ref": "#/definitions/EdgeNodeProperties", "description": "The JSON object that contains the properties required to create an edgenode.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "EdgeNodeProperties": { "type": "object", "description": "The JSON object that contains the properties required to create an edgenode.", "properties": { "ipAddressGroups": { "type": "array", "description": "List of ip address groups.", "items": { "$ref": "#/definitions/IpAddressGroup" }, "x-ms-identifiers": [ "deliveryRegion" ] } }, "required": [ "ipAddressGroups" ] }, "EdgenodeResult": { "type": "object", "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.", "properties": { "value": { "type": "array", "description": "The EdgeNode items on this page", "items": { "$ref": "#/definitions/EdgeNode" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "EnabledState": { "type": "string", "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "EnabledState", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "Endpoint": { "type": "object", "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net.", "properties": { "properties": { "$ref": "#/definitions/EndpointProperties", "description": "The JSON object that contains the properties required to create an endpoint.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "EndpointListResult": { "type": "object", "description": "The response of a Endpoint list operation.", "properties": { "value": { "type": "array", "description": "The Endpoint items on this page", "items": { "$ref": "#/definitions/Endpoint" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "EndpointProperties": { "type": "object", "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "hostName": { "type": "string", "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", "readOnly": true }, "origins": { "type": "array", "description": "The source of the content being delivered via CDN.", "items": { "$ref": "#/definitions/DeepCreatedOrigin" }, "x-ms-identifiers": [ "name" ] }, "originGroups": { "type": "array", "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "items": { "$ref": "#/definitions/DeepCreatedOriginGroup" }, "x-ms-identifiers": [ "name" ] }, "customDomains": { "type": "array", "description": "The custom domains under the endpoint.", "items": { "$ref": "#/definitions/DeepCreatedCustomDomain" }, "readOnly": true, "x-ms-identifiers": [ "name" ] }, "resourceState": { "$ref": "#/definitions/EndpointResourceState", "description": "Resource status of the endpoint.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/EndpointProvisioningState", "description": "Provisioning status of the endpoint.", "readOnly": true } }, "required": [ "origins" ], "allOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParameters" } ] }, "EndpointPropertiesUpdateParameters": { "type": "object", "description": "The JSON object containing endpoint update parameters.", "properties": { "originPath": { "type": "string", "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." }, "contentTypesToCompress": { "type": "array", "description": "List of content types on which compression applies. The value should be a valid MIME type.", "items": { "type": "string" } }, "originHostHeader": { "type": "string", "description": "The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." }, "isCompressionEnabled": { "type": "boolean", "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." }, "isHttpAllowed": { "type": "boolean", "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "default": true }, "isHttpsAllowed": { "type": "boolean", "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "default": true }, "queryStringCachingBehavior": { "type": "string", "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "default": "NotSet", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" ], "x-ms-enum": { "name": "QueryStringCachingBehavior", "modelAsString": false } }, "optimizationType": { "$ref": "#/definitions/OptimizationType", "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." }, "probePath": { "type": "string", "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin." }, "geoFilters": { "type": "array", "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "items": { "$ref": "#/definitions/GeoFilter" }, "x-ms-identifiers": [] }, "defaultOriginGroup": { "$ref": "#/definitions/ResourceReference", "description": "A reference to the origin group." }, "urlSigningKeys": { "type": "array", "description": "List of keys used to validate the signed URL hashes.", "items": { "$ref": "#/definitions/UrlSigningKey" }, "x-ms-identifiers": [ "keyId" ] }, "deliveryPolicy": { "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy", "description": "A policy that specifies the delivery rules to be used for an endpoint." }, "webApplicationFirewallPolicyLink": { "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink", "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" } } }, "EndpointPropertiesUpdateParametersDeliveryPolicy": { "type": "object", "description": "A policy that specifies the delivery rules to be used for an endpoint.", "properties": { "description": { "type": "string", "description": "User-friendly description of the policy." }, "rules": { "type": "array", "description": "A list of the delivery rules.", "items": { "$ref": "#/definitions/DeliveryRule" }, "x-ms-identifiers": [ "name" ] } }, "required": [ "rules" ] }, "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { "type": "object", "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { "id": { "type": "string", "description": "Resource ID." } } }, "EndpointProvisioningState": { "type": "string", "description": "Provisioning status of the endpoint.", "enum": [ "Succeeded", "Failed", "Updating", "Deleting", "Creating" ], "x-ms-enum": { "name": "EndpointProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Creating", "value": "Creating" } ] } }, "EndpointResourceState": { "type": "string", "description": "Resource status of the endpoint.", "enum": [ "Creating", "Deleting", "Running", "Starting", "Stopped", "Stopping" ], "x-ms-enum": { "name": "EndpointResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Running", "value": "Running" }, { "name": "Starting", "value": "Starting" }, { "name": "Stopped", "value": "Stopped" }, { "name": "Stopping", "value": "Stopping" } ] } }, "EndpointUpdateParameters": { "type": "object", "description": "Properties required to create or update an endpoint.", "properties": { "tags": { "type": "object", "description": "Endpoint tags.", "additionalProperties": { "type": "string" } }, "properties": { "$ref": "#/definitions/EndpointPropertiesUpdateParameters", "description": "The JSON object containing endpoint update parameters.", "x-ms-client-flatten": true } } }, "EnforceMtlsEnabledState": { "type": "string", "description": "Set to Disabled by default. If set to Enabled, only custom domains with mTLS enabled can be added to child Route resources.", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "EnforceMtlsEnabledState", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "ForwardingProtocol": { "type": "string", "description": "Protocol this rule will use when forwarding traffic to backends.", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" ], "x-ms-enum": { "name": "ForwardingProtocol", "modelAsString": true, "values": [ { "name": "HttpOnly", "value": "HttpOnly" }, { "name": "HttpsOnly", "value": "HttpsOnly" }, { "name": "MatchRequest", "value": "MatchRequest" } ] } }, "Fqdn": { "type": "string", "pattern": "^((?!xn--)[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,61}$" }, "GeoFilter": { "type": "object", "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "relativePath": { "type": "string", "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" }, "action": { "$ref": "#/definitions/GeoFilterActions", "description": "Action of the geo filter, i.e. allow or block access." }, "countryCodes": { "type": "array", "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", "items": { "type": "string" } } }, "required": [ "relativePath", "action", "countryCodes" ] }, "GeoFilterActions": { "type": "string", "description": "Action of the geo filter, i.e. allow or block access.", "enum": [ "Block", "Allow" ], "x-ms-enum": { "name": "GeoFilterActions", "modelAsString": false } }, "HeaderAction": { "type": "string", "description": "Action to perform", "enum": [ "Append", "Overwrite", "Delete" ], "x-ms-enum": { "name": "HeaderAction", "modelAsString": true, "values": [ { "name": "Append", "value": "Append" }, { "name": "Overwrite", "value": "Overwrite" }, { "name": "Delete", "value": "Delete" } ] } }, "HeaderActionParameters": { "type": "object", "description": "Defines the parameters for the request header action.", "properties": { "headerAction": { "$ref": "#/definitions/HeaderAction", "description": "Action to perform" }, "headerName": { "type": "string", "description": "Name of the header to modify" }, "value": { "type": "string", "description": "Value for the specified action" } }, "required": [ "headerAction", "headerName" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleHeaderActionParameters" }, "HealthProbeParameters": { "type": "object", "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { "probePath": { "type": "string", "description": "The path relative to the origin that is used to determine the health of the origin." }, "probeRequestType": { "$ref": "#/definitions/HealthProbeRequestType", "description": "The type of health probe request that is made." }, "probeProtocol": { "$ref": "#/definitions/ProbeProtocol", "description": "Protocol to use for health probe." }, "probeIntervalInSeconds": { "type": "integer", "format": "int32", "description": "The number of seconds between health probes.Default is 240sec.", "minimum": 1, "maximum": 255 } } }, "HealthProbeRequestType": { "type": "string", "description": "The type of health probe request that is made.", "enum": [ "NotSet", "GET", "HEAD" ], "x-ms-enum": { "name": "HealthProbeRequestType", "modelAsString": false } }, "HostNameMatchConditionParameters": { "type": "object", "description": "Defines the parameters for HostName match conditions", "properties": { "operator": { "$ref": "#/definitions/HostNameOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleHostNameConditionParameters" }, "HostNameOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "HostNameOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "HttpErrorRangeParameters": { "type": "object", "description": "The JSON object that represents the range for http status codes", "properties": { "begin": { "type": "integer", "format": "int32", "description": "The inclusive start of the http status code range.", "minimum": 100, "maximum": 999 }, "end": { "type": "integer", "format": "int32", "description": "The inclusive end of the http status code range.", "minimum": 100, "maximum": 999 } } }, "HttpVersionMatchConditionParameters": { "type": "object", "description": "Defines the parameters for HttpVersion match conditions", "properties": { "operator": { "$ref": "#/definitions/HttpVersionOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleHttpVersionConditionParameters" }, "HttpVersionOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Equal" ], "x-ms-enum": { "name": "HttpVersionOperator", "modelAsString": true, "values": [ { "name": "Equal", "value": "Equal" } ] } }, "InvocationPoint": { "type": "string", "description": "Defines at which point in the request processing pipeline the edge action will be invoked.", "enum": [ "ClientRequest", "OriginRequest" ], "x-ms-enum": { "name": "InvocationPoint", "modelAsString": true, "values": [ { "name": "ClientRequest", "value": "ClientRequest" }, { "name": "OriginRequest", "value": "OriginRequest" } ] } }, "IpAddressGroup": { "type": "object", "description": "CDN Ip address group", "properties": { "deliveryRegion": { "type": "string", "description": "The delivery region of the ip address group" }, "ipv4Addresses": { "type": "array", "description": "The list of ip v4 addresses.", "items": { "$ref": "#/definitions/cidrIpAddress" }, "x-ms-identifiers": [ "baseIpAddress" ] }, "ipv6Addresses": { "type": "array", "description": "The list of ip v6 addresses.", "items": { "$ref": "#/definitions/cidrIpAddress" }, "x-ms-identifiers": [ "baseIpAddress" ] } } }, "IsDeviceMatchConditionParameters": { "type": "object", "description": "Defines the parameters for IsDevice match conditions", "properties": { "operator": { "$ref": "#/definitions/IsDeviceOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "$ref": "#/definitions/IsDeviceMatchValue" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleIsDeviceConditionParameters" }, "IsDeviceMatchValue": { "type": "string", "enum": [ "Mobile", "Desktop" ], "x-ms-enum": { "name": "IsDeviceMatchValue", "modelAsString": true, "values": [ { "name": "Mobile", "value": "Mobile" }, { "name": "Desktop", "value": "Desktop" } ] } }, "IsDeviceOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Equal" ], "x-ms-enum": { "name": "IsDeviceOperator", "modelAsString": true, "values": [ { "name": "Equal", "value": "Equal" } ] } }, "KeyVaultCertificateSourceParameters": { "type": "object", "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.", "properties": { "subscriptionId": { "type": "string", "description": "Subscription Id of the user's Key Vault containing the SSL certificate" }, "resourceGroupName": { "type": "string", "description": "Resource group of the user's Key Vault containing the SSL certificate" }, "vaultName": { "type": "string", "description": "The name of the user's Key Vault containing the SSL certificate" }, "secretName": { "type": "string", "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault." }, "secretVersion": { "type": "string", "description": "The version(GUID) of Key Vault Secret in Key Vault." }, "updateRule": { "$ref": "#/definitions/UpdateRule", "description": "Describes the action that shall be taken when the certificate is updated in Key Vault." }, "deleteRule": { "$ref": "#/definitions/DeleteRule", "description": "Describes the action that shall be taken when the certificate is removed from Key Vault." } }, "required": [ "subscriptionId", "resourceGroupName", "vaultName", "secretName", "updateRule", "deleteRule" ], "allOf": [ { "$ref": "#/definitions/CertificateSourceParameters" } ], "x-ms-discriminator-value": "KeyVaultCertificateSourceParameters" }, "KeyVaultSigningKeyParameters": { "type": "object", "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", "properties": { "typeName": { "$ref": "#/definitions/KeyVaultSigningKeyParametersType" }, "subscriptionId": { "type": "string", "description": "Subscription Id of the user's Key Vault containing the secret" }, "resourceGroupName": { "type": "string", "description": "Resource group of the user's Key Vault containing the secret" }, "vaultName": { "type": "string", "description": "The name of the user's Key Vault containing the secret" }, "secretName": { "type": "string", "description": "The name of secret in Key Vault." }, "secretVersion": { "type": "string", "description": "The version(GUID) of secret in Key Vault." } }, "required": [ "typeName", "subscriptionId", "resourceGroupName", "vaultName", "secretName", "secretVersion" ] }, "KeyVaultSigningKeyParametersType": { "type": "string", "enum": [ "KeyVaultSigningKeyParameters" ], "x-ms-enum": { "name": "KeyVaultSigningKeyParametersType", "modelAsString": true, "values": [ { "name": "KeyVaultSigningKeyParameters", "value": "KeyVaultSigningKeyParameters" } ] } }, "LoadBalancingSettingsParameters": { "type": "object", "description": "Round-Robin load balancing settings for a backend pool", "properties": { "sampleSize": { "type": "integer", "format": "int32", "description": "The number of samples to consider for load balancing decisions" }, "successfulSamplesRequired": { "type": "integer", "format": "int32", "description": "The number of samples within the sample period that must succeed" }, "additionalLatencyInMilliseconds": { "type": "integer", "format": "int32", "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket" } } }, "LoadParameters": { "type": "object", "description": "Parameters required for content load.", "properties": { "contentPaths": { "type": "array", "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.", "items": { "type": "string" } } }, "required": [ "contentPaths" ] }, "LogSpecification": { "type": "object", "description": "Log specification of operation.", "properties": { "name": { "type": "string", "description": "Name of log specification." }, "displayName": { "type": "string", "description": "Display name of log specification." }, "blobDuration": { "type": "string", "description": "Blob duration of specification." }, "logFilterPattern": { "type": "string", "description": "Pattern to filter based on name" } } }, "ManagedCertificateParameters": { "type": "object", "description": "Managed Certificate used for https", "properties": { "subject": { "type": "string", "description": "Subject name in the certificate.", "readOnly": true }, "expirationDate": { "type": "string", "description": "Certificate expiration date.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/SecretParameters" } ], "x-ms-discriminator-value": "ManagedCertificate" }, "ManagedRuleDefinition": { "type": "object", "description": "Describes a managed rule definition.", "properties": { "ruleId": { "type": "string", "description": "Identifier for the managed rule.", "readOnly": true }, "description": { "type": "string", "description": "Describes the functionality of the managed rule.", "readOnly": true } } }, "ManagedRuleEnabledState": { "type": "string", "description": "Describes if the managed rule is in enabled or disabled state.", "enum": [ "Disabled", "Enabled" ], "x-ms-enum": { "name": "ManagedRuleEnabledState", "modelAsString": true, "values": [ { "name": "Disabled", "value": "Disabled" }, { "name": "Enabled", "value": "Enabled" } ] } }, "ManagedRuleGroupDefinition": { "type": "object", "description": "Describes a managed rule group.", "properties": { "ruleGroupName": { "type": "string", "description": "Name of the managed rule group.", "readOnly": true }, "description": { "type": "string", "description": "Description of the managed rule group.", "readOnly": true }, "rules": { "type": "array", "description": "List of rules within the managed rule group.", "items": { "$ref": "#/definitions/ManagedRuleDefinition" }, "readOnly": true, "x-ms-identifiers": [ "ruleId" ] } } }, "ManagedRuleGroupOverride": { "type": "object", "description": "Defines a managed rule group override setting.", "properties": { "ruleGroupName": { "type": "string", "description": "Describes the managed rule group within the rule set to override" }, "rules": { "type": "array", "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", "items": { "$ref": "#/definitions/ManagedRuleOverride" }, "x-ms-identifiers": [ "ruleId" ] } }, "required": [ "ruleGroupName" ] }, "ManagedRuleOverride": { "type": "object", "description": "Defines a managed rule group override setting.", "properties": { "ruleId": { "type": "string", "description": "Identifier for the managed rule." }, "enabledState": { "$ref": "#/definitions/ManagedRuleEnabledState", "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." }, "action": { "$ref": "#/definitions/ActionType", "description": "Describes the override action to be applied when rule matches." } }, "required": [ "ruleId" ] }, "ManagedRuleSet": { "type": "object", "description": "Defines a managed rule set.", "properties": { "ruleSetType": { "type": "string", "description": "Defines the rule set type to use." }, "ruleSetVersion": { "type": "string", "description": "Defines the version of the rule set to use." }, "anomalyScore": { "type": "integer", "format": "int32", "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "minimum": 0, "maximum": 20 }, "ruleGroupOverrides": { "type": "array", "description": "Defines the rule overrides to apply to the rule set.", "items": { "$ref": "#/definitions/ManagedRuleGroupOverride" }, "x-ms-identifiers": [ "ruleGroupName" ] } }, "required": [ "ruleSetType", "ruleSetVersion" ] }, "ManagedRuleSetDefinition": { "type": "object", "description": "Describes a managed rule set definition.", "properties": { "properties": { "$ref": "#/definitions/ManagedRuleSetDefinitionProperties", "description": "Describes managed rule set definition properties.", "x-ms-client-flatten": true }, "sku": { "$ref": "#/definitions/Sku", "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy." } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" } ] }, "ManagedRuleSetDefinitionList": { "type": "object", "description": "List of managed rule set definitions available for use in a policy.", "properties": { "value": { "type": "array", "description": "The ManagedRuleSetDefinition items on this page", "items": { "$ref": "#/definitions/ManagedRuleSetDefinition" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ManagedRuleSetDefinitionProperties": { "type": "object", "description": "Properties for a managed rule set definition.", "properties": { "provisioningState": { "type": "string", "description": "Provisioning state of the managed rule set.", "readOnly": true }, "ruleSetType": { "type": "string", "description": "Type of the managed rule set.", "readOnly": true }, "ruleSetVersion": { "type": "string", "description": "Version of the managed rule set type.", "readOnly": true }, "ruleGroups": { "type": "array", "description": "Rule groups of the managed rule set.", "items": { "$ref": "#/definitions/ManagedRuleGroupDefinition" }, "readOnly": true, "x-ms-identifiers": [ "ruleGroupName" ] } } }, "ManagedRuleSetList": { "type": "object", "description": "Defines the list of managed rule sets for the policy.", "properties": { "managedRuleSets": { "type": "array", "description": "List of rule sets.", "items": { "$ref": "#/definitions/ManagedRuleSet" }, "x-ms-identifiers": [ "ruleSetType", "ruleSetVersion" ] } } }, "MatchCondition": { "type": "object", "description": "Define match conditions", "properties": { "matchVariable": { "$ref": "#/definitions/WafMatchVariable", "description": "Match variable to compare against." }, "selector": { "type": "string", "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." }, "operator": { "$ref": "#/definitions/Operator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if the result of this condition should be negated." }, "matchValue": { "type": "array", "description": "List of possible match values.", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms.", "items": { "$ref": "#/definitions/TransformType" } } }, "required": [ "matchVariable", "operator", "matchValue" ] }, "MatchVariable": { "type": "string", "description": "Request variable to compare with.", "enum": [ "RemoteAddress", "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeader", "RequestBody", "RequestScheme", "UrlPath", "UrlFileExtension", "UrlFileName", "HttpVersion", "Cookies", "IsDevice", "SocketAddr", "ClientPort", "ServerPort", "HostName", "SslProtocol" ], "x-ms-enum": { "name": "MatchVariable", "modelAsString": true, "values": [ { "name": "RemoteAddress", "value": "RemoteAddress" }, { "name": "RequestMethod", "value": "RequestMethod" }, { "name": "QueryString", "value": "QueryString" }, { "name": "PostArgs", "value": "PostArgs" }, { "name": "RequestUri", "value": "RequestUri" }, { "name": "RequestHeader", "value": "RequestHeader" }, { "name": "RequestBody", "value": "RequestBody" }, { "name": "RequestScheme", "value": "RequestScheme" }, { "name": "UrlPath", "value": "UrlPath" }, { "name": "UrlFileExtension", "value": "UrlFileExtension" }, { "name": "UrlFileName", "value": "UrlFileName" }, { "name": "HttpVersion", "value": "HttpVersion" }, { "name": "Cookies", "value": "Cookies" }, { "name": "IsDevice", "value": "IsDevice" }, { "name": "SocketAddr", "value": "SocketAddr" }, { "name": "ClientPort", "value": "ClientPort" }, { "name": "ServerPort", "value": "ServerPort" }, { "name": "HostName", "value": "HostName" }, { "name": "SslProtocol", "value": "SslProtocol" } ] } }, "MetricAvailability": { "type": "object", "description": "Retention policy of a resource metric.", "properties": { "timeGrain": { "type": "string" }, "blobDuration": { "type": "string" } } }, "MetricSpecification": { "type": "object", "description": "Metric specification of operation.", "properties": { "name": { "type": "string", "description": "Name of metric specification." }, "displayName": { "type": "string", "description": "Display name of metric specification." }, "displayDescription": { "type": "string", "description": "Display description of metric specification." }, "unit": { "type": "string", "description": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'." }, "aggregationType": { "type": "string", "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'." }, "availabilities": { "type": "array", "description": "Retention policies of a resource metric.", "items": { "$ref": "#/definitions/MetricAvailability" }, "x-ms-identifiers": [] }, "supportedTimeGrainTypes": { "type": "array", "description": "The supported time grain types for the metrics.", "items": { "type": "string" } }, "dimensions": { "type": "array", "description": "The dimensions of metric", "items": { "$ref": "#/definitions/DimensionProperties" }, "x-ms-identifiers": [ "name" ] }, "fillGapWithZero": { "type": "boolean", "description": "Property to specify whether to fill gap with zero." }, "metricFilterPattern": { "type": "string", "description": "Pattern to filter based on name" }, "isInternal": { "type": "boolean", "description": "Property to specify metric is internal or not." } } }, "MetricsGranularity": { "type": "string", "enum": [ "PT5M", "PT1H", "P1D" ], "x-ms-enum": { "name": "MetricsGranularity", "modelAsString": true, "values": [ { "name": "PT5M", "value": "PT5M" }, { "name": "PT1H", "value": "PT1H" }, { "name": "P1D", "value": "P1D" } ] } }, "MetricsResponse": { "type": "object", "description": "Metrics Response", "properties": { "dateTimeBegin": { "type": "string", "format": "date-time" }, "dateTimeEnd": { "type": "string", "format": "date-time" }, "granularity": { "$ref": "#/definitions/MetricsGranularity" }, "series": { "type": "array", "items": { "$ref": "#/definitions/MetricsResponseSeriesItem" }, "x-ms-identifiers": [] } } }, "MetricsResponseSeriesItem": { "type": "object", "properties": { "metric": { "type": "string" }, "unit": { "$ref": "#/definitions/MetricsSeriesUnit" }, "groups": { "type": "array", "items": { "$ref": "#/definitions/MetricsResponseSeriesPropertiesItemsItem" }, "x-ms-identifiers": [ "name" ] }, "data": { "type": "array", "items": { "$ref": "#/definitions/Components1Gs0LlpSchemasMetricsresponsePropertiesSeriesItemsPropertiesDataItems" }, "x-ms-identifiers": [] } } }, "MetricsResponseSeriesPropertiesItemsItem": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } }, "MetricsSeriesUnit": { "type": "string", "enum": [ "count", "bytes", "bitsPerSecond", "milliSeconds" ], "x-ms-enum": { "name": "MetricsSeriesUnit", "modelAsString": true, "values": [ { "name": "count", "value": "count" }, { "name": "bytes", "value": "bytes" }, { "name": "bitsPerSecond", "value": "bitsPerSecond" }, { "name": "milliSeconds", "value": "milliSeconds" } ] } }, "MigrateResult": { "type": "object", "description": "Result for migrate operation.", "properties": { "id": { "type": "string", "format": "arm-id", "description": "Resource ID.", "readOnly": true }, "type": { "type": "string", "description": "Resource type.", "readOnly": true }, "properties": { "$ref": "#/definitions/MigrateResultProperties", "x-ms-client-flatten": true } } }, "MigrateResultProperties": { "type": "object", "properties": { "migratedProfileResourceId": { "$ref": "#/definitions/ResourceReference", "description": "Arm resource id of the migrated profile", "readOnly": true } } }, "MigrationEndpointMapping": { "type": "object", "description": "CDN Endpoint Mapping.", "properties": { "migratedFrom": { "type": "string", "description": "Name of the classic CDN profile endpoint." }, "migratedTo": { "type": "string", "description": "Name of the newly created migrated Azure Frontdoor Standard/Premium profile endpoint. This name will replace the name of the classic CDN endpoint resource." } } }, "MigrationErrorType": { "type": "object", "description": "Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.", "properties": { "code": { "type": "string", "description": "Error code.", "readOnly": true }, "resourceName": { "type": "string", "description": "Resource which has the problem.", "readOnly": true }, "errorMessage": { "type": "string", "description": "Error message indicating why the operation failed.", "readOnly": true }, "nextSteps": { "type": "string", "description": "Describes what needs to be done to fix the problem", "readOnly": true } } }, "MigrationParameters": { "type": "object", "description": "Request body for Migrate operation.", "properties": { "sku": { "$ref": "#/definitions/Sku", "description": "Sku for the migration" }, "classicResourceReference": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated." }, "profileName": { "type": "string", "description": "Name of the new profile that need to be created." }, "migrationWebApplicationFirewallMappings": { "type": "array", "description": "Waf mapping for the migrated profile", "items": { "$ref": "#/definitions/MigrationWebApplicationFirewallMapping" }, "x-ms-identifiers": [] } }, "required": [ "sku", "classicResourceReference", "profileName" ] }, "MigrationWebApplicationFirewallMapping": { "type": "object", "description": "Web Application Firewall Mapping", "properties": { "migratedFrom": { "$ref": "#/definitions/ResourceReference", "description": "Migration From Waf policy" }, "migratedTo": { "$ref": "#/definitions/ResourceReference", "description": "Migration to Waf policy" } } }, "MinimumTlsVersion": { "type": "string", "description": "TLS protocol version that will be used for Https", "enum": [ "None", "TLS10", "TLS12" ], "x-ms-enum": { "name": "MinimumTlsVersion", "modelAsString": false } }, "MtlsScenarioType": { "type": "string", "description": "Supported scenarios for establishing mTLS connection.", "enum": [ "ClientCertificateRequiredAndValidated", "ClientCertificateRequiredAndOriginValidates", "ClientCertificateValidatedIfPresented", "CompleteMtlsPassthroughToOrigin" ], "x-ms-enum": { "name": "MtlsScenarioType", "modelAsString": true, "values": [ { "name": "ClientCertificateRequiredAndValidated", "value": "ClientCertificateRequiredAndValidated" }, { "name": "ClientCertificateRequiredAndOriginValidates", "value": "ClientCertificateRequiredAndOriginValidates" }, { "name": "ClientCertificateValidatedIfPresented", "value": "ClientCertificateValidatedIfPresented" }, { "name": "CompleteMtlsPassthroughToOrigin", "value": "CompleteMtlsPassthroughToOrigin" } ] } }, "Operation": { "type": "object", "description": "CDN REST API operation", "properties": { "name": { "type": "string", "description": "Operation name: {provider}/{resource}/{operation}", "readOnly": true }, "isDataAction": { "type": "boolean", "description": "Indicates whether the operation is a data action" }, "display": { "$ref": "#/definitions/OperationDisplay", "description": "The object that represents the operation." }, "origin": { "type": "string", "description": "The origin of operations.", "readOnly": true }, "properties": { "$ref": "#/definitions/OperationProperties", "description": "Properties of operation, include metric specifications.", "x-ms-client-flatten": true, "x-ms-client-name": "operationProperties" } } }, "OperationDisplay": { "type": "object", "description": "The object that represents the operation.", "properties": { "provider": { "type": "string", "description": "Service provider: Microsoft.Cdn", "readOnly": true }, "resource": { "type": "string", "description": "Resource on which the operation is performed: Profile, endpoint, etc.", "readOnly": true }, "operation": { "type": "string", "description": "Operation type: Read, write, delete, etc.", "readOnly": true }, "description": { "type": "string", "description": "Description of operation.", "readOnly": true } } }, "OperationProperties": { "type": "object", "description": "Properties of operation, include metric specifications.", "properties": { "serviceSpecification": { "$ref": "#/definitions/ServiceSpecification", "description": "One property of operation, include metric specifications." } } }, "OperationsListResult": { "type": "object", "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { "type": "array", "description": "List of CDN operations supported by the CDN resource provider.", "items": { "$ref": "#/definitions/Operation" }, "x-ms-identifiers": [] }, "nextLink": { "type": "string", "description": "URL to get the next set of operation list results if there are any." } }, "required": [ "value" ] }, "Operator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "IPMatch", "GeoMatch", "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", "BeginsWith", "EndsWith", "RegEx" ], "x-ms-enum": { "name": "Operator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "IPMatch", "value": "IPMatch" }, { "name": "GeoMatch", "value": "GeoMatch" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "LessThan", "value": "LessThan" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "RegEx", "value": "RegEx" } ] } }, "OptimizationType": { "type": "string", "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" ], "x-ms-enum": { "name": "OptimizationType", "modelAsString": true, "values": [ { "name": "GeneralWebDelivery", "value": "GeneralWebDelivery" }, { "name": "GeneralMediaStreaming", "value": "GeneralMediaStreaming" }, { "name": "VideoOnDemandMediaStreaming", "value": "VideoOnDemandMediaStreaming" }, { "name": "LargeFileDownload", "value": "LargeFileDownload" }, { "name": "DynamicSiteAcceleration", "value": "DynamicSiteAcceleration" } ] } }, "Origin": { "type": "object", "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", "description": "The JSON object that contains the properties of the origin.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "OriginAuthenticationProperties": { "type": "object", "description": "The JSON object that contains the properties of the origin authentication settings.", "properties": { "type": { "$ref": "#/definitions/OriginAuthenticationType", "description": "The type of the authentication for the origin." }, "userAssignedIdentity": { "$ref": "#/definitions/ResourceReference", "description": "The user assigned managed identity to use for the origin authentication if type is UserAssignedIdentity." }, "scope": { "type": "string", "format": "uri", "description": "The scope used when requesting token from Microsoft Entra. For example, for Azure Blob Storage, scope could be \"https://storage.azure.com/.default\"." }, "tokenDestinationHeader": { "$ref": "#/definitions/OriginAuthenticationTokenDestinationHeader", "description": "The HTTP request header where the origin authentication token will be placed when forwarding the request to the origin. If not specified, the service will use the `Authorization` header for backward compatibility." } } }, "OriginAuthenticationTokenDestinationHeader": { "type": "string", "description": "The HTTP request header where the origin authentication token is placed when forwarding the request to the origin.", "enum": [ "Authorization", "X-Azure-Authorization" ], "x-ms-enum": { "name": "OriginAuthenticationTokenDestinationHeader", "modelAsString": true, "values": [ { "name": "Authorization", "value": "Authorization", "description": "Place the token in the standard `Authorization` request header (default behavior)." }, { "name": "XAzureAuthorization", "value": "X-Azure-Authorization", "description": "Place the token in the `X-Azure-Authorization` request header to avoid conflicts with an existing `Authorization` header set by the client." } ] } }, "OriginAuthenticationType": { "type": "string", "description": "The type of the authentication for the origin.", "enum": [ "SystemAssignedIdentity", "UserAssignedIdentity" ], "x-ms-enum": { "name": "OriginAuthenticationType", "modelAsString": true, "values": [ { "name": "SystemAssignedIdentity", "value": "SystemAssignedIdentity" }, { "name": "UserAssignedIdentity", "value": "UserAssignedIdentity" } ] } }, "OriginGroup": { "type": "object", "description": "Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.", "properties": { "properties": { "$ref": "#/definitions/OriginGroupProperties", "description": "The JSON object that contains the properties of the origin group.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "OriginGroupListResult": { "type": "object", "description": "The response of a OriginGroup list operation.", "properties": { "value": { "type": "array", "description": "The OriginGroup items on this page", "items": { "$ref": "#/definitions/OriginGroup" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "OriginGroupOverride": { "type": "object", "description": "Defines the parameters for the origin group override configuration.", "properties": { "originGroup": { "$ref": "#/definitions/ResourceReference", "description": "defines the OriginGroup that would override the DefaultOriginGroup on route." }, "forwardingProtocol": { "$ref": "#/definitions/ForwardingProtocol", "description": "Protocol this rule will use when forwarding traffic to backends." } } }, "OriginGroupOverrideAction": { "type": "object", "description": "Defines the origin group override action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/OriginGroupOverrideActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "OriginGroupOverride" }, "OriginGroupOverrideActionParameters": { "type": "object", "description": "Defines the parameters for the origin group override action.", "properties": { "originGroup": { "$ref": "#/definitions/ResourceReference", "description": "defines the OriginGroup that would override the DefaultOriginGroup." } }, "required": [ "originGroup" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleOriginGroupOverrideActionParameters" }, "OriginGroupProperties": { "type": "object", "description": "The JSON object that contains the properties of the origin group.", "properties": { "resourceState": { "$ref": "#/definitions/OriginGroupResourceState", "description": "Resource status of the origin group.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/OriginGroupProvisioningState", "description": "Provisioning status of the origin group.", "readOnly": true } }, "allOf": [ { "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters" } ] }, "OriginGroupProvisioningState": { "type": "string", "description": "Provisioning status of the origin group.", "enum": [ "Succeeded", "Failed", "Updating", "Deleting", "Creating" ], "x-ms-enum": { "name": "OriginGroupProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Creating", "value": "Creating" } ] } }, "OriginGroupResourceState": { "type": "string", "description": "Resource status of the origin group.", "enum": [ "Creating", "Active", "Deleting" ], "x-ms-enum": { "name": "OriginGroupResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Active", "value": "Active" }, { "name": "Deleting", "value": "Deleting" } ] } }, "OriginGroupUpdateParameters": { "type": "object", "description": "Origin group properties needed for origin group creation or update.", "properties": { "properties": { "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the origin group.", "x-ms-client-flatten": true } } }, "OriginGroupUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { "$ref": "#/definitions/HealthProbeParameters", "description": "Health probe settings to the origin that is used to determine the health of the origin." }, "origins": { "type": "array", "description": "The source of the content being delivered via CDN within given origin group.", "items": { "$ref": "#/definitions/ResourceReference" } }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { "type": "integer", "format": "int32", "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", "minimum": 0, "maximum": 50 }, "responseBasedOriginErrorDetectionSettings": { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters", "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported." } } }, "OriginListResult": { "type": "object", "description": "The response of a Origin list operation.", "properties": { "value": { "type": "array", "description": "The Origin items on this page", "items": { "$ref": "#/definitions/Origin" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "OriginProperties": { "type": "object", "description": "The JSON object that contains the properties of the origin.", "properties": { "resourceState": { "$ref": "#/definitions/OriginResourceState", "description": "Resource status of the origin.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/OriginProvisioningState", "description": "Provisioning status of the origin.", "readOnly": true }, "privateEndpointStatus": { "$ref": "#/definitions/PrivateEndpointStatus", "description": "The approval status for the connection to the Private Link", "readOnly": true }, "hostName": { "type": "string", "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint." } }, "required": [ "hostName" ], "allOf": [ { "$ref": "#/definitions/OriginUpdatePropertiesParameters" } ] }, "OriginProvisioningState": { "type": "string", "description": "Provisioning status of the origin.", "enum": [ "Succeeded", "Failed", "Updating", "Deleting", "Creating" ], "x-ms-enum": { "name": "OriginProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Creating", "value": "Creating" } ] } }, "OriginResourceState": { "type": "string", "description": "Resource status of the origin.", "enum": [ "Creating", "Active", "Deleting" ], "x-ms-enum": { "name": "OriginResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Active", "value": "Active" }, { "name": "Deleting", "value": "Deleting" } ] } }, "OriginUpdateParameters": { "type": "object", "description": "Origin properties needed for origin update.", "properties": { "properties": { "$ref": "#/definitions/OriginUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the origin.", "x-ms-client-flatten": true } } }, "OriginUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the origin.", "properties": { "hostName": { "type": "string", "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint." }, "httpPort": { "type": "integer", "format": "int32", "description": "The value of the HTTP port. Must be between 1 and 65535.", "minimum": 1, "maximum": 65535 }, "httpsPort": { "type": "integer", "format": "int32", "description": "The value of the HTTPS port. Must be between 1 and 65535.", "minimum": 1, "maximum": 65535 }, "originHostHeader": { "type": "string", "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint" }, "priority": { "type": "integer", "format": "int32", "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", "minimum": 1, "maximum": 5 }, "weight": { "type": "integer", "format": "int32", "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "minimum": 1, "maximum": 1000 }, "enabled": { "type": "boolean", "description": "Origin is enabled for load balancing or not" }, "privateLinkAlias": { "type": "string", "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" }, "privateLinkResourceId": { "type": "string", "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" }, "privateLinkLocation": { "type": "string", "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" }, "privateLinkApprovalMessage": { "type": "string", "description": "A custom message to be included in the approval request to connect to the Private Link." } } }, "ParamIndicator": { "type": "string", "description": "Indicates the purpose of the parameter", "enum": [ "Expires", "KeyId", "Signature" ], "x-ms-enum": { "name": "ParamIndicator", "modelAsString": true, "values": [ { "name": "Expires", "value": "Expires" }, { "name": "KeyId", "value": "KeyId" }, { "name": "Signature", "value": "Signature" } ] } }, "PolicyEnabledState": { "type": "string", "description": "Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.", "enum": [ "Disabled", "Enabled" ], "x-ms-enum": { "name": "PolicyEnabledState", "modelAsString": true, "values": [ { "name": "Disabled", "value": "Disabled" }, { "name": "Enabled", "value": "Enabled" } ] } }, "PolicyMode": { "type": "string", "description": "Describes if it is in detection mode or prevention mode at policy level.", "enum": [ "Prevention", "Detection" ], "x-ms-enum": { "name": "PolicyMode", "modelAsString": true, "values": [ { "name": "Prevention", "value": "Prevention" }, { "name": "Detection", "value": "Detection" } ] } }, "PolicyResourceState": { "type": "string", "description": "Resource status of the policy.", "enum": [ "Creating", "Enabling", "Enabled", "Disabling", "Disabled", "Deleting" ], "x-ms-enum": { "name": "PolicyResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Enabling", "value": "Enabling" }, { "name": "Enabled", "value": "Enabled" }, { "name": "Disabling", "value": "Disabling" }, { "name": "Disabled", "value": "Disabled" }, { "name": "Deleting", "value": "Deleting" } ] } }, "PolicySettingsDefaultCustomBlockResponseStatusCode": { "type": "number", "description": "If the action type is block, this field defines the default customer overridable http response status code.", "enum": [ 200, 403, 405, 406, 429 ], "x-ms-enum": { "name": "PolicySettingsDefaultCustomBlockResponseStatusCode", "modelAsString": true, "values": [ { "name": "200", "value": 200 }, { "name": "403", "value": 403 }, { "name": "405", "value": 405 }, { "name": "406", "value": 406 }, { "name": "429", "value": 429 } ] } }, "PostArgsMatchConditionParameters": { "type": "object", "description": "Defines the parameters for PostArgs match conditions", "properties": { "selector": { "type": "string", "description": "Name of PostArg to be matched" }, "operator": { "$ref": "#/definitions/PostArgsOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRulePostArgsConditionParameters" }, "PostArgsOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "PostArgsOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "PrivateEndpointStatus": { "type": "string", "description": "The approval status for the connection to the Private Link", "enum": [ "Pending", "Approved", "Rejected", "Disconnected", "Timeout" ], "x-ms-enum": { "name": "PrivateEndpointStatus", "modelAsString": true, "values": [ { "name": "Pending", "value": "Pending" }, { "name": "Approved", "value": "Approved" }, { "name": "Rejected", "value": "Rejected" }, { "name": "Disconnected", "value": "Disconnected" }, { "name": "Timeout", "value": "Timeout" } ] } }, "ProbeProtocol": { "type": "string", "description": "Protocol to use for health probe.", "enum": [ "NotSet", "Http", "Https" ], "x-ms-enum": { "name": "ProbeProtocol", "modelAsString": false } }, "Profile": { "type": "object", "description": "A profile is a logical grouping of endpoints that share the same settings.", "properties": { "properties": { "$ref": "#/definitions/ProfileProperties", "description": "The JSON object that contains the properties required to create a profile.", "x-ms-client-flatten": true }, "sku": { "$ref": "#/definitions/Sku", "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile." }, "kind": { "type": "string", "description": "Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.", "readOnly": true }, "identity": { "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "The managed service identities assigned to this resource." } }, "required": [ "sku" ], "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" } ] }, "ProfileChangeSkuWafMapping": { "type": "object", "description": "Parameters required for profile upgrade.", "properties": { "securityPolicyName": { "type": "string", "description": "The security policy name." }, "changeToWafPolicy": { "$ref": "#/definitions/ResourceReference", "description": "The new waf resource for the security policy to use." } }, "required": [ "securityPolicyName", "changeToWafPolicy" ] }, "ProfileListResult": { "type": "object", "description": "The response of a Profile list operation.", "properties": { "value": { "type": "array", "description": "The Profile items on this page", "items": { "$ref": "#/definitions/Profile" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ProfileLogScrubbing": { "type": "object", "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.", "properties": { "state": { "$ref": "#/definitions/ProfileScrubbingState", "description": "State of the log scrubbing config. Default value is Enabled." }, "scrubbingRules": { "type": "array", "description": "List of log scrubbing rules applied to the Azure Front Door profile logs.", "items": { "$ref": "#/definitions/ProfileScrubbingRules" }, "x-ms-identifiers": [] } } }, "ProfileProperties": { "type": "object", "description": "The JSON object that contains the properties required to create a profile.", "properties": { "resourceState": { "$ref": "#/definitions/ProfileResourceState", "description": "Resource status of the profile.", "readOnly": true }, "provisioningState": { "$ref": "#/definitions/ProfileProvisioningState", "description": "Provisioning status of the profile.", "readOnly": true }, "extendedProperties": { "type": "object", "description": "Key-Value pair representing additional properties for profiles.", "additionalProperties": { "type": "string" }, "readOnly": true }, "frontDoorId": { "type": "string", "description": "The Id of the frontdoor.", "readOnly": true }, "originResponseTimeoutSeconds": { "type": "integer", "format": "int32", "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "minimum": 16 }, "logScrubbing": { "$ref": "#/definitions/ProfileLogScrubbing", "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs." } } }, "ProfilePropertiesUpdateParameters": { "type": "object", "description": "The JSON object containing profile update parameters.", "properties": { "originResponseTimeoutSeconds": { "type": "integer", "format": "int32", "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "minimum": 16 }, "logScrubbing": { "$ref": "#/definitions/ProfileLogScrubbing", "description": "Defines rules to scrub sensitive fields in logs" } } }, "ProfileProvisioningState": { "type": "string", "description": "Provisioning status of the profile.", "enum": [ "Succeeded", "Failed", "Updating", "Deleting", "Creating" ], "x-ms-enum": { "name": "ProfileProvisioningState", "modelAsString": true, "values": [ { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" }, { "name": "Updating", "value": "Updating" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Creating", "value": "Creating" } ] } }, "ProfileResourceState": { "type": "string", "description": "Resource status of the profile.", "enum": [ "Creating", "Active", "Deleting", "Disabled", "Migrating", "Migrated", "PendingMigrationCommit", "CommittingMigration", "AbortingMigration" ], "x-ms-enum": { "name": "ProfileResourceState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Active", "value": "Active" }, { "name": "Deleting", "value": "Deleting" }, { "name": "Disabled", "value": "Disabled" }, { "name": "Migrating", "value": "Migrating" }, { "name": "Migrated", "value": "Migrated" }, { "name": "PendingMigrationCommit", "value": "PendingMigrationCommit" }, { "name": "CommittingMigration", "value": "CommittingMigration" }, { "name": "AbortingMigration", "value": "AbortingMigration" } ] } }, "ProfileScrubbingRules": { "type": "object", "description": "Defines the contents of the log scrubbing rules.", "properties": { "matchVariable": { "$ref": "#/definitions/ScrubbingRuleEntryMatchVariable", "description": "The variable to be scrubbed from the logs." }, "selectorMatchOperator": { "$ref": "#/definitions/ScrubbingRuleEntryMatchOperator", "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to." }, "selector": { "type": "string", "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to." }, "state": { "$ref": "#/definitions/ScrubbingRuleEntryState", "description": "Defines the state of a log scrubbing rule. Default value is enabled." } }, "required": [ "matchVariable", "selectorMatchOperator" ] }, "ProfileScrubbingState": { "type": "string", "description": "State of the log scrubbing config. Default value is Enabled.", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "ProfileScrubbingState", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "ProfileUpdateParameters": { "type": "object", "description": "Properties required to update a profile.", "properties": { "tags": { "type": "object", "description": "Profile tags", "additionalProperties": { "type": "string" } }, "identity": { "$ref": "../../../../../../common-types/resource-management/v6/managedidentity.json#/definitions/ManagedServiceIdentity", "description": "Managed service identity (system assigned and/or user assigned identities)." }, "properties": { "$ref": "#/definitions/ProfilePropertiesUpdateParameters", "description": "The JSON object containing profile update parameters.", "x-ms-client-flatten": true } } }, "ProfileUpgradeParameters": { "type": "object", "description": "Parameters required for profile upgrade.", "properties": { "wafMappingList": { "type": "array", "description": "Web Application Firewall (WAF) and security policy mapping for the profile upgrade", "items": { "$ref": "#/definitions/ProfileChangeSkuWafMapping" }, "x-ms-identifiers": [] } }, "required": [ "wafMappingList" ] }, "ProtocolType": { "type": "string", "description": "Defines the TLS extension protocol that is used for secure delivery.", "enum": [ "ServerNameIndication", "IPBased" ], "x-ms-enum": { "name": "ProtocolType", "modelAsString": true, "values": [ { "name": "ServerNameIndication", "value": "ServerNameIndication" }, { "name": "IPBased", "value": "IPBased" } ] } }, "ProvisioningState": { "type": "string", "description": "Provisioning state of the WebApplicationFirewallPolicy.", "enum": [ "Creating", "Succeeded", "Failed" ], "x-ms-enum": { "name": "ProvisioningState", "modelAsString": true, "values": [ { "name": "Creating", "value": "Creating" }, { "name": "Succeeded", "value": "Succeeded" }, { "name": "Failed", "value": "Failed" } ] } }, "PurgeParameters": { "type": "object", "description": "Parameters required for content purge.", "properties": { "contentPaths": { "type": "array", "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", "items": { "type": "string" } } }, "required": [ "contentPaths" ] }, "QueryStringBehavior": { "type": "string", "description": "Caching behavior for the requests", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" ], "x-ms-enum": { "name": "QueryStringBehavior", "modelAsString": true, "values": [ { "name": "Include", "value": "Include" }, { "name": "IncludeAll", "value": "IncludeAll" }, { "name": "Exclude", "value": "Exclude" }, { "name": "ExcludeAll", "value": "ExcludeAll" } ] } }, "QueryStringMatchConditionParameters": { "type": "object", "description": "Defines the parameters for QueryString match conditions", "properties": { "operator": { "$ref": "#/definitions/QueryStringOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleQueryStringConditionParameters" }, "QueryStringOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "QueryStringOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "RankingsResponse": { "type": "object", "description": "Rankings Response", "properties": { "dateTimeBegin": { "type": "string", "format": "date-time" }, "dateTimeEnd": { "type": "string", "format": "date-time" }, "tables": { "type": "array", "items": { "$ref": "#/definitions/RankingsResponseTablesItem" }, "x-ms-identifiers": [] } } }, "RankingsResponseTablesItem": { "type": "object", "properties": { "ranking": { "type": "string" }, "data": { "type": "array", "items": { "$ref": "#/definitions/RankingsResponseTablesPropertiesItemsItem" }, "x-ms-identifiers": [ "name" ] } } }, "RankingsResponseTablesPropertiesItemsItem": { "type": "object", "properties": { "name": { "type": "string" }, "metrics": { "type": "array", "items": { "$ref": "#/definitions/RankingsResponseTablesPropertiesItemsMetricsItem" }, "x-ms-identifiers": [] } } }, "RankingsResponseTablesPropertiesItemsMetricsItem": { "type": "object", "properties": { "metric": { "type": "string" }, "value": { "type": "integer", "format": "int64" }, "percentage": { "type": "number", "format": "float" } } }, "RateLimitRule": { "type": "object", "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { "rateLimitThreshold": { "type": "integer", "format": "int32", "description": "Defines rate limit threshold.", "minimum": 0 }, "rateLimitDurationInMinutes": { "type": "integer", "format": "int32", "description": "Defines rate limit duration. Default is 1 minute.", "minimum": 0, "maximum": 60 } }, "required": [ "rateLimitThreshold", "rateLimitDurationInMinutes" ], "allOf": [ { "$ref": "#/definitions/CustomRule" } ] }, "RateLimitRuleList": { "type": "object", "description": "Defines contents of rate limit rules", "properties": { "rules": { "type": "array", "description": "List of rules", "items": { "$ref": "#/definitions/RateLimitRule" }, "x-ms-identifiers": [ "name" ] } } }, "RedirectType": { "type": "string", "description": "The redirect type the rule will use when redirecting traffic.", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" ], "x-ms-enum": { "name": "RedirectType", "modelAsString": true, "values": [ { "name": "Moved", "value": "Moved" }, { "name": "Found", "value": "Found" }, { "name": "TemporaryRedirect", "value": "TemporaryRedirect" }, { "name": "PermanentRedirect", "value": "PermanentRedirect" } ] } }, "RemoteAddressMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "operator": { "$ref": "#/definitions/RemoteAddressOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRemoteAddressConditionParameters" }, "RemoteAddressOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "IPMatch", "GeoMatch" ], "x-ms-enum": { "name": "RemoteAddressOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "IPMatch", "value": "IPMatch" }, { "name": "GeoMatch", "value": "GeoMatch" } ] } }, "RequestBodyMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RequestBody match conditions", "properties": { "operator": { "$ref": "#/definitions/RequestBodyOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRequestBodyConditionParameters" }, "RequestBodyOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "RequestBodyOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "RequestHeaderMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RequestHeader match conditions", "properties": { "selector": { "type": "string", "description": "Name of Header to be matched" }, "operator": { "$ref": "#/definitions/RequestHeaderOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRequestHeaderConditionParameters" }, "RequestHeaderOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "RequestHeaderOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "RequestMethodMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RequestMethod match conditions", "properties": { "operator": { "$ref": "#/definitions/RequestMethodOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "$ref": "#/definitions/RequestMethodMatchValue" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRequestMethodConditionParameters" }, "RequestMethodMatchValue": { "type": "string", "enum": [ "GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS", "TRACE" ], "x-ms-enum": { "name": "RequestMethodMatchValue", "modelAsString": true, "values": [ { "name": "GET", "value": "GET" }, { "name": "HEAD", "value": "HEAD" }, { "name": "POST", "value": "POST" }, { "name": "PUT", "value": "PUT" }, { "name": "DELETE", "value": "DELETE" }, { "name": "OPTIONS", "value": "OPTIONS" }, { "name": "TRACE", "value": "TRACE" } ] } }, "RequestMethodOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Equal" ], "x-ms-enum": { "name": "RequestMethodOperator", "modelAsString": true, "values": [ { "name": "Equal", "value": "Equal" } ] } }, "RequestSchemeMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RequestScheme match conditions", "properties": { "operator": { "$ref": "#/definitions/RequestSchemeMatchConditionParametersOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "$ref": "#/definitions/RequestSchemeMatchValue" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRequestSchemeConditionParameters" }, "RequestSchemeMatchConditionParametersOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Equal" ], "x-ms-enum": { "name": "RequestSchemeMatchConditionParametersOperator", "modelAsString": true, "values": [ { "name": "Equal", "value": "Equal" } ] } }, "RequestSchemeMatchValue": { "type": "string", "enum": [ "HTTP", "HTTPS" ], "x-ms-enum": { "name": "RequestSchemeMatchValue", "modelAsString": true, "values": [ { "name": "HTTP", "value": "HTTP" }, { "name": "HTTPS", "value": "HTTPS" } ] } }, "RequestUriMatchConditionParameters": { "type": "object", "description": "Defines the parameters for RequestUri match conditions", "properties": { "operator": { "$ref": "#/definitions/RequestUriOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRequestUriConditionParameters" }, "RequestUriOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "RequestUriOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "ResourceReference": { "type": "object", "description": "Reference to another resource.", "properties": { "id": { "type": "string", "description": "Resource ID." } } }, "ResourceType": { "type": "string", "description": "Type of CDN resource used in CheckNameAvailability.", "enum": [ "Microsoft.Cdn/Profiles/Endpoints", "Microsoft.Cdn/Profiles/AfdEndpoints" ], "x-ms-enum": { "name": "ResourceType", "modelAsString": true, "values": [ { "name": "Microsoft.Cdn/Profiles/Endpoints", "value": "Microsoft.Cdn/Profiles/Endpoints" }, { "name": "Microsoft.Cdn/Profiles/AfdEndpoints", "value": "Microsoft.Cdn/Profiles/AfdEndpoints" } ] } }, "ResourceUsage": { "type": "object", "description": "Output of check resource usage API.", "properties": { "resourceType": { "type": "string", "description": "Resource type for which the usage is provided.", "readOnly": true }, "unit": { "$ref": "#/definitions/ResourceUsageUnit", "description": "Unit of the usage. e.g. count.", "readOnly": true }, "currentValue": { "type": "integer", "format": "int32", "description": "Actual value of usage on the specified resource type.", "readOnly": true }, "limit": { "type": "integer", "format": "int32", "description": "Quota of the specified resource type.", "readOnly": true } } }, "ResourceUsageListResult": { "type": "object", "description": "Output of check resource usage API.", "properties": { "value": { "type": "array", "description": "The ResourceUsage items on this page", "items": { "$ref": "#/definitions/ResourceUsage" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "ResourceUsageUnit": { "type": "string", "description": "Unit of the usage. e.g. count.", "enum": [ "count" ], "x-ms-enum": { "name": "ResourceUsageUnit", "modelAsString": true, "values": [ { "name": "count", "value": "count" } ] } }, "ResourcesResponse": { "type": "object", "description": "Resources Response", "properties": { "endpoints": { "type": "array", "items": { "$ref": "#/definitions/ResourcesResponseEndpointsItem" } }, "customDomains": { "type": "array", "items": { "$ref": "#/definitions/ResourcesResponseCustomDomainsItem" } } } }, "ResourcesResponseCustomDomainsItem": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "endpointId": { "type": "string" }, "history": { "type": "boolean" } } }, "ResourcesResponseEndpointsItem": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "history": { "type": "boolean" }, "customDomains": { "type": "array", "items": { "$ref": "#/definitions/ResourcesResponseEndpointsPropertiesItemsItem" } } } }, "ResourcesResponseEndpointsPropertiesItemsItem": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "endpointId": { "type": "string" }, "history": { "type": "boolean" } } }, "ResponseBasedDetectedErrorTypes": { "type": "string", "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" ], "x-ms-enum": { "name": "ResponseBasedDetectedErrorTypes", "modelAsString": false } }, "ResponseBasedOriginErrorDetectionParameters": { "type": "object", "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "responseBasedDetectedErrorTypes": { "$ref": "#/definitions/ResponseBasedDetectedErrorTypes", "description": "Type of response errors for real user requests for which origin will be deemed unhealthy" }, "responseBasedFailoverThresholdPercentage": { "type": "integer", "format": "int32", "description": "The percentage of failed requests in the sample where failover should trigger.", "minimum": 0, "maximum": 100 }, "httpErrorRanges": { "type": "array", "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" }, "x-ms-identifiers": [] } } }, "Route": { "type": "object", "description": "Friendly Routes name mapping to the any Routes or secret related information.", "properties": { "properties": { "$ref": "#/definitions/RouteProperties", "description": "The JSON object that contains the properties of the Routes to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "RouteConfigurationOverrideActionParameters": { "type": "object", "description": "Defines the parameters for the route configuration override action.", "properties": { "originGroupOverride": { "$ref": "#/definitions/OriginGroupOverride", "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route." }, "cacheConfiguration": { "$ref": "#/definitions/CacheConfiguration", "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object." } }, "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleRouteConfigurationOverrideActionParameters" }, "RouteListResult": { "type": "object", "description": "The response of a Route list operation.", "properties": { "value": { "type": "array", "description": "The Route items on this page", "items": { "$ref": "#/definitions/Route" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "RouteProperties": { "type": "object", "description": "The JSON object that contains the properties of the Routes to create.", "properties": { "endpointName": { "type": "string", "description": "The name of the endpoint which holds the route.", "readOnly": true }, "customDomains": { "type": "array", "description": "Domains referenced by this endpoint.", "items": { "$ref": "#/definitions/ActivatedResourceReference" } }, "originGroup": { "$ref": "#/definitions/ResourceReference", "description": "A reference to the origin group." }, "originPath": { "type": "string", "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." }, "ruleSets": { "type": "array", "description": "rule sets referenced by this endpoint.", "items": { "$ref": "#/definitions/ResourceReference" } }, "supportedProtocols": { "type": "array", "description": "List of supported protocols for this route.", "default": [ "Http", "Https" ], "items": { "$ref": "#/definitions/AFDEndpointProtocols" } }, "patternsToMatch": { "type": "array", "description": "The route patterns of the rule.", "items": { "type": "string" } }, "cacheConfiguration": { "$ref": "#/definitions/AfdRouteCacheConfiguration", "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object." }, "forwardingProtocol": { "type": "string", "description": "Protocol this rule will use when forwarding traffic to backends.", "default": "MatchRequest", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" ], "x-ms-enum": { "name": "ForwardingProtocol", "modelAsString": true, "values": [ { "name": "HttpOnly", "value": "HttpOnly" }, { "name": "HttpsOnly", "value": "HttpsOnly" }, { "name": "MatchRequest", "value": "MatchRequest" } ] } }, "linkToDefaultDomain": { "type": "string", "description": "whether this route will be linked to the default endpoint domain.", "default": "Disabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "LinkToDefaultDomain", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "httpsRedirect": { "type": "string", "description": "Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.", "default": "Disabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "HttpsRedirect", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'" }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true } } }, "RouteUpdateParameters": { "type": "object", "description": "The domain JSON object required for domain creation or update.", "properties": { "properties": { "$ref": "#/definitions/RouteUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the domain to create.", "x-ms-client-flatten": true } } }, "RouteUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the domain to create.", "properties": { "endpointName": { "type": "string", "description": "The name of the endpoint which holds the route.", "readOnly": true }, "customDomains": { "type": "array", "description": "Domains referenced by this endpoint.", "items": { "$ref": "#/definitions/ActivatedResourceReference" } }, "originGroup": { "$ref": "#/definitions/ResourceReference", "description": "A reference to the origin group." }, "originPath": { "type": "string", "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." }, "ruleSets": { "type": "array", "description": "rule sets referenced by this endpoint.", "items": { "$ref": "#/definitions/ResourceReference" } }, "supportedProtocols": { "type": "array", "description": "List of supported protocols for this route.", "default": [ "Http", "Https" ], "items": { "$ref": "#/definitions/AFDEndpointProtocols" } }, "patternsToMatch": { "type": "array", "description": "The route patterns of the rule.", "items": { "type": "string" } }, "cacheConfiguration": { "$ref": "#/definitions/AfdRouteCacheConfiguration", "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object." }, "forwardingProtocol": { "type": "string", "description": "Protocol this rule will use when forwarding traffic to backends.", "default": "MatchRequest", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" ], "x-ms-enum": { "name": "ForwardingProtocol", "modelAsString": true, "values": [ { "name": "HttpOnly", "value": "HttpOnly" }, { "name": "HttpsOnly", "value": "HttpsOnly" }, { "name": "MatchRequest", "value": "MatchRequest" } ] } }, "linkToDefaultDomain": { "type": "string", "description": "whether this route will be linked to the default endpoint domain.", "default": "Disabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "LinkToDefaultDomain", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "httpsRedirect": { "type": "string", "description": "Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.", "default": "Disabled", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "HttpsRedirect", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "enabledState": { "$ref": "#/definitions/EnabledState", "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'" } } }, "Rule": { "type": "object", "description": "Friendly Rules name mapping to the any Rules or secret related information.", "properties": { "properties": { "$ref": "#/definitions/RuleProperties", "description": "The JSON object that contains the properties of the Rules to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "RuleCacheBehavior": { "type": "string", "description": "Caching behavior for the requests", "enum": [ "HonorOrigin", "OverrideAlways", "OverrideIfOriginMissing" ], "x-ms-enum": { "name": "RuleCacheBehavior", "modelAsString": true, "values": [ { "name": "HonorOrigin", "value": "HonorOrigin" }, { "name": "OverrideAlways", "value": "OverrideAlways" }, { "name": "OverrideIfOriginMissing", "value": "OverrideIfOriginMissing" } ] } }, "RuleIsCompressionEnabled": { "type": "string", "description": "Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "RuleIsCompressionEnabled", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "RuleListResult": { "type": "object", "description": "The response of a Rule list operation.", "properties": { "value": { "type": "array", "description": "The Rule items on this page", "items": { "$ref": "#/definitions/Rule" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "RuleProperties": { "type": "object", "description": "The JSON object that contains the properties of the Rules to create.", "properties": { "ruleSetName": { "type": "string", "description": "The name of the rule set containing the rule.", "readOnly": true }, "order": { "type": "integer", "format": "int32", "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied." }, "conditions": { "type": "array", "description": "A list of conditions that must be matched for the actions to be executed", "items": { "$ref": "#/definitions/DeliveryRuleCondition" }, "x-ms-identifiers": [ "name" ] }, "actions": { "type": "array", "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "items": { "$ref": "#/definitions/DeliveryRuleAction" }, "x-ms-identifiers": [ "name" ] }, "matchProcessingBehavior": { "type": "string", "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "default": "Continue", "enum": [ "Continue", "Stop" ], "x-ms-enum": { "name": "MatchProcessingBehavior", "modelAsString": true, "values": [ { "name": "Continue", "value": "Continue" }, { "name": "Stop", "value": "Stop" } ] } }, "provisioningState": { "$ref": "#/definitions/AfdProvisioningState", "description": "Provisioning status", "readOnly": true }, "deploymentStatus": { "$ref": "#/definitions/DeploymentStatus", "readOnly": true } } }, "RuleQueryStringCachingBehavior": { "type": "string", "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" ], "x-ms-enum": { "name": "RuleQueryStringCachingBehavior", "modelAsString": true, "values": [ { "name": "IgnoreQueryString", "value": "IgnoreQueryString" }, { "name": "UseQueryString", "value": "UseQueryString" }, { "name": "IgnoreSpecifiedQueryStrings", "value": "IgnoreSpecifiedQueryStrings" }, { "name": "IncludeSpecifiedQueryStrings", "value": "IncludeSpecifiedQueryStrings" } ] } }, "RuleSet": { "type": "object", "description": "Friendly RuleSet name mapping to the any RuleSet or secret related information.", "properties": { "properties": { "$ref": "#/definitions/RuleSetProperties", "description": "The JSON object that contains the properties of the Rule Set to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "RuleSetListResult": { "type": "object", "description": "The response of a RuleSet list operation.", "properties": { "value": { "type": "array", "description": "The RuleSet items on this page", "items": { "$ref": "#/definitions/RuleSet" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "RuleSetProperties": { "type": "object", "description": "The JSON object that contains the properties of the Rule Set to create.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the rule set.", "readOnly": true }, "batchMode": { "type": "boolean", "description": "Indicates whether rule set is in batch mode. When batch mode is enabled, rules will be processed in a batch along with the rule set.\nWhen batch mode is disabled, rules would need to be processed independently.\nThis property can only be set during rule set creation and cannot be updated later.\nFor switching modes, a new rule set needs to be created with the desired mode and rules need to be migrated to the new rule set.", "x-ms-mutability": [ "read", "create" ] }, "rules": { "type": "array", "description": "A list of rules that are part of this rule set provided the rule set is in batch mode.\nThis property will be ignored if the rule set is not in batch mode.", "items": { "$ref": "#/definitions/BatchRuleProperties" }, "x-ms-identifiers": [ "ruleName" ] } }, "allOf": [ { "$ref": "#/definitions/AFDStateProperties" } ] }, "RuleUpdateParameters": { "type": "object", "description": "The domain JSON object required for domain creation or update.", "properties": { "properties": { "$ref": "#/definitions/RuleUpdatePropertiesParameters", "description": "The JSON object that contains the properties of the rule to update.", "x-ms-client-flatten": true } } }, "RuleUpdatePropertiesParameters": { "type": "object", "description": "The JSON object that contains the properties of the rule to update.", "properties": { "ruleSetName": { "type": "string", "description": "The name of the rule set containing the rule.", "readOnly": true }, "order": { "type": "integer", "format": "int32", "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied." }, "conditions": { "type": "array", "description": "A list of conditions that must be matched for the actions to be executed", "items": { "$ref": "#/definitions/DeliveryRuleCondition" }, "x-ms-identifiers": [ "name" ] }, "actions": { "type": "array", "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "items": { "$ref": "#/definitions/DeliveryRuleAction" }, "x-ms-identifiers": [ "name" ] }, "matchProcessingBehavior": { "type": "string", "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "default": "Continue", "enum": [ "Continue", "Stop" ], "x-ms-enum": { "name": "MatchProcessingBehavior", "modelAsString": true, "values": [ { "name": "Continue", "value": "Continue" }, { "name": "Stop", "value": "Stop" } ] } } } }, "ScrubbingRuleEntryMatchOperator": { "type": "string", "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to.", "enum": [ "EqualsAny" ], "x-ms-enum": { "name": "ScrubbingRuleEntryMatchOperator", "modelAsString": true, "values": [ { "name": "EqualsAny", "value": "EqualsAny" } ] } }, "ScrubbingRuleEntryMatchVariable": { "type": "string", "description": "The variable to be scrubbed from the logs.", "enum": [ "RequestIPAddress", "RequestUri", "QueryStringArgNames" ], "x-ms-enum": { "name": "ScrubbingRuleEntryMatchVariable", "modelAsString": true, "values": [ { "name": "RequestIPAddress", "value": "RequestIPAddress" }, { "name": "RequestUri", "value": "RequestUri" }, { "name": "QueryStringArgNames", "value": "QueryStringArgNames" } ] } }, "ScrubbingRuleEntryState": { "type": "string", "description": "Defines the state of a log scrubbing rule. Default value is enabled.", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { "name": "ScrubbingRuleEntryState", "modelAsString": true, "values": [ { "name": "Enabled", "value": "Enabled" }, { "name": "Disabled", "value": "Disabled" } ] } }, "Secret": { "type": "object", "description": "Friendly Secret name mapping to the any Secret or secret related information.", "properties": { "properties": { "$ref": "#/definitions/SecretProperties", "description": "The JSON object that contains the properties of the Secret to create.", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "SecretListResult": { "type": "object", "description": "The response of a Secret list operation.", "properties": { "value": { "type": "array", "description": "The Secret items on this page", "items": { "$ref": "#/definitions/Secret" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "SecretParameters": { "type": "object", "description": "The json object containing secret parameters", "properties": { "type": { "$ref": "#/definitions/SecretType", "description": "The type of the secret resource." } }, "discriminator": "type", "required": [ "type" ] }, "SecretProperties": { "type": "object", "description": "The JSON object that contains the properties of the Secret to create.", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the secret.", "readOnly": true }, "parameters": { "$ref": "#/definitions/SecretParameters", "description": "object which contains secret parameters" } }, "allOf": [ { "$ref": "#/definitions/AFDStateProperties" } ] }, "SecretType": { "type": "string", "description": "The type of the secret resource.", "enum": [ "UrlSigningKey", "CustomerCertificate", "ManagedCertificate", "AzureFirstPartyManagedCertificate", "MtlsCertificateChain" ], "x-ms-enum": { "name": "SecretType", "modelAsString": true, "values": [ { "name": "UrlSigningKey", "value": "UrlSigningKey" }, { "name": "CustomerCertificate", "value": "CustomerCertificate" }, { "name": "ManagedCertificate", "value": "ManagedCertificate" }, { "name": "AzureFirstPartyManagedCertificate", "value": "AzureFirstPartyManagedCertificate" }, { "name": "MtlsCertificateChain", "value": "MtlsCertificateChain" } ] } }, "SecurityPolicy": { "type": "object", "description": "SecurityPolicy association for AzureFrontDoor profile", "properties": { "properties": { "$ref": "#/definitions/SecurityPolicyProperties", "description": "The json object that contains properties required to create a security policy", "x-ms-client-flatten": true } }, "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" } ] }, "SecurityPolicyListResult": { "type": "object", "description": "The response of a SecurityPolicy list operation.", "properties": { "value": { "type": "array", "description": "The SecurityPolicy items on this page", "items": { "$ref": "#/definitions/SecurityPolicy" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "SecurityPolicyProperties": { "type": "object", "description": "The json object that contains properties required to create a security policy", "properties": { "profileName": { "type": "string", "description": "The name of the profile which holds the security policy.", "readOnly": true }, "parameters": { "$ref": "#/definitions/SecurityPolicyPropertiesParameters", "description": "object which contains security policy parameters" } }, "allOf": [ { "$ref": "#/definitions/AFDStateProperties" } ] }, "SecurityPolicyPropertiesParameters": { "type": "object", "description": "The json object containing security policy parameters", "properties": { "type": { "$ref": "#/definitions/SecurityPolicyType", "description": "The type of the Security policy to create." } }, "discriminator": "type", "required": [ "type" ] }, "SecurityPolicyType": { "type": "string", "description": "The type of the Security policy to create.", "enum": [ "WebApplicationFirewall" ], "x-ms-enum": { "name": "SecurityPolicyType", "modelAsString": true, "values": [ { "name": "WebApplicationFirewall", "value": "WebApplicationFirewall" } ] } }, "SecurityPolicyUpdateParameters": { "type": "object", "description": "The JSON object containing security policy update parameters.", "properties": { "properties": { "$ref": "#/definitions/SecurityPolicyUpdateProperties", "description": "The json object that contains properties required to update a security policy", "x-ms-client-flatten": true } } }, "SecurityPolicyUpdateProperties": { "type": "object", "description": "The json object that contains properties required to update a security policy", "properties": { "parameters": { "$ref": "#/definitions/SecurityPolicyPropertiesParameters", "description": "object which contains security policy parameters" } } }, "SecurityPolicyWebApplicationFirewallAssociation": { "type": "object", "description": "settings for security policy patterns to match", "properties": { "domains": { "type": "array", "description": "List of domains.", "items": { "$ref": "#/definitions/ActivatedResourceReference" } }, "patternsToMatch": { "type": "array", "description": "List of paths", "items": { "type": "string" } }, "routes": { "type": "array", "description": "List of routes.", "items": { "$ref": "#/definitions/ResourceReference" } } } }, "SecurityPolicyWebApplicationFirewallParameters": { "type": "object", "description": "The json object containing security policy waf parameters", "properties": { "wafPolicy": { "$ref": "#/definitions/ResourceReference", "description": "Resource ID." }, "associations": { "type": "array", "description": "Waf associations", "items": { "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" }, "x-ms-identifiers": [] }, "isProfileLevel": { "type": "boolean", "description": "Indicates if this is a profile-level WAF policy." } }, "allOf": [ { "$ref": "#/definitions/SecurityPolicyPropertiesParameters" } ], "x-ms-discriminator-value": "WebApplicationFirewall" }, "ServerPortMatchConditionParameters": { "type": "object", "description": "Defines the parameters for ServerPort match conditions", "properties": { "operator": { "$ref": "#/definitions/ServerPortOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleServerPortConditionParameters" }, "ServerPortOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "ServerPortOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "ServiceSpecification": { "type": "object", "description": "One property of operation, include log specifications.", "properties": { "logSpecifications": { "type": "array", "description": "Log specifications of operation.", "items": { "$ref": "#/definitions/LogSpecification" }, "x-ms-identifiers": [ "name" ] }, "metricSpecifications": { "type": "array", "description": "Metric specifications of operation.", "items": { "$ref": "#/definitions/MetricSpecification" }, "x-ms-identifiers": [ "name" ] } } }, "SharedPrivateLinkResourceProperties": { "type": "object", "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", "properties": { "privateLink": { "$ref": "#/definitions/ResourceReference", "description": "The resource id of the resource the shared private link resource is for." }, "privateLinkLocation": { "type": "string", "description": "The location of the shared private link resource" }, "groupId": { "type": "string", "description": "The group id from the provider of resource the shared private link resource is for." }, "requestMessage": { "type": "string", "description": "The request message for requesting approval of the shared private link resource." }, "status": { "$ref": "#/definitions/SharedPrivateLinkResourceStatus", "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout." } } }, "SharedPrivateLinkResourceStatus": { "type": "string", "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", "enum": [ "Pending", "Approved", "Rejected", "Disconnected", "Timeout" ], "x-ms-enum": { "name": "SharedPrivateLinkResourceStatus", "modelAsString": false } }, "Sku": { "type": "object", "description": "Standard_Verizon = The SKU name for a Standard Verizon CDN profile.\nPremium_Verizon = The SKU name for a Premium Verizon CDN profile.\nCustom_Verizon = The SKU name for a Custom Verizon CDN profile.\nStandard_Akamai = The SKU name for an Akamai CDN profile.\nStandard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using GB based billing model.\nStandard_Microsoft = The SKU name for a Standard Microsoft CDN profile.\nStandard_AzureFrontDoor = The SKU name for an Azure Front Door Standard profile.\nPremium_AzureFrontDoor = The SKU name for an Azure Front Door Premium profile.\nStandard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using 95-5 peak bandwidth billing model.\nStandard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using monthly average peak bandwidth billing model.\nStandardPlus_ChinaCdn = The SKU name for a China CDN profile for live-streaming using GB based billing model.\nStandardPlus_955BandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing model.\nStandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average peak bandwidth billing model.", "properties": { "name": { "$ref": "#/definitions/SkuName", "description": "Name of the pricing tier." } } }, "SkuName": { "type": "string", "description": "Name of the pricing tier.", "enum": [ "Standard_Verizon", "Premium_Verizon", "Custom_Verizon", "Standard_Akamai", "Standard_ChinaCdn", "Standard_Microsoft", "Standard_AzureFrontDoor", "Premium_AzureFrontDoor", "Standard_955BandWidth_ChinaCdn", "Standard_AvgBandWidth_ChinaCdn", "StandardPlus_ChinaCdn", "StandardPlus_955BandWidth_ChinaCdn", "StandardPlus_AvgBandWidth_ChinaCdn" ], "x-ms-enum": { "name": "SkuName", "modelAsString": true, "values": [ { "name": "Standard_Verizon", "value": "Standard_Verizon" }, { "name": "Premium_Verizon", "value": "Premium_Verizon" }, { "name": "Custom_Verizon", "value": "Custom_Verizon" }, { "name": "Standard_Akamai", "value": "Standard_Akamai" }, { "name": "Standard_ChinaCdn", "value": "Standard_ChinaCdn" }, { "name": "Standard_Microsoft", "value": "Standard_Microsoft" }, { "name": "Standard_AzureFrontDoor", "value": "Standard_AzureFrontDoor" }, { "name": "Premium_AzureFrontDoor", "value": "Premium_AzureFrontDoor" }, { "name": "Standard_955BandWidth_ChinaCdn", "value": "Standard_955BandWidth_ChinaCdn" }, { "name": "Standard_AvgBandWidth_ChinaCdn", "value": "Standard_AvgBandWidth_ChinaCdn" }, { "name": "StandardPlus_ChinaCdn", "value": "StandardPlus_ChinaCdn" }, { "name": "StandardPlus_955BandWidth_ChinaCdn", "value": "StandardPlus_955BandWidth_ChinaCdn" }, { "name": "StandardPlus_AvgBandWidth_ChinaCdn", "value": "StandardPlus_AvgBandWidth_ChinaCdn" } ] } }, "SocketAddrMatchConditionParameters": { "type": "object", "description": "Defines the parameters for SocketAddress match conditions", "properties": { "operator": { "$ref": "#/definitions/SocketAddrOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleSocketAddrConditionParameters" }, "SocketAddrOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "IPMatch" ], "x-ms-enum": { "name": "SocketAddrOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "IPMatch", "value": "IPMatch" } ] } }, "SslProtocol": { "type": "string", "description": "The protocol of an established TLS connection.", "enum": [ "TLSv1", "TLSv1.1", "TLSv1.2" ], "x-ms-enum": { "name": "SslProtocol", "modelAsString": true, "values": [ { "name": "TLSv1", "value": "TLSv1" }, { "name": "TLSv1.1", "value": "TLSv1.1" }, { "name": "TLSv1.2", "value": "TLSv1.2" } ] } }, "SslProtocolMatchConditionParameters": { "type": "object", "description": "Defines the parameters for SslProtocol match conditions", "properties": { "operator": { "$ref": "#/definitions/SslProtocolOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "$ref": "#/definitions/SslProtocol" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleSslProtocolConditionParameters" }, "SslProtocolOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Equal" ], "x-ms-enum": { "name": "SslProtocolOperator", "modelAsString": true, "values": [ { "name": "Equal", "value": "Equal" } ] } }, "SsoUri": { "type": "object", "description": "The URI required to login to the supplemental portal from the Azure portal.", "properties": { "ssoUriValue": { "type": "string", "description": "The URI used to login to the supplemental portal.", "readOnly": true } } }, "Status": { "type": "string", "description": "The validation status.", "enum": [ "Valid", "Invalid", "AccessDenied", "CertificateExpired" ], "x-ms-enum": { "name": "Status", "modelAsString": true, "values": [ { "name": "Valid", "value": "Valid" }, { "name": "Invalid", "value": "Invalid" }, { "name": "AccessDenied", "value": "AccessDenied" }, { "name": "CertificateExpired", "value": "CertificateExpired" } ] } }, "SupportedOptimizationTypesListResult": { "type": "object", "description": "The result of the GetSupportedOptimizationTypes API", "properties": { "supportedOptimizationTypes": { "type": "array", "description": "Supported optimization types for a profile.", "items": { "$ref": "#/definitions/OptimizationType" }, "readOnly": true } } }, "Transform": { "type": "string", "description": "Describes what transforms are applied before matching", "enum": [ "Lowercase", "Uppercase", "Trim", "UrlDecode", "UrlEncode", "RemoveNulls" ], "x-ms-enum": { "name": "Transform", "modelAsString": true, "values": [ { "name": "Lowercase", "value": "Lowercase" }, { "name": "Uppercase", "value": "Uppercase" }, { "name": "Trim", "value": "Trim" }, { "name": "UrlDecode", "value": "UrlDecode" }, { "name": "UrlEncode", "value": "UrlEncode" }, { "name": "RemoveNulls", "value": "RemoveNulls" } ] } }, "TransformType": { "type": "string", "description": "Describes what transforms were applied before matching.", "enum": [ "Lowercase", "Uppercase", "Trim", "UrlDecode", "UrlEncode", "RemoveNulls" ], "x-ms-enum": { "name": "TransformType", "modelAsString": true, "values": [ { "name": "Lowercase", "value": "Lowercase" }, { "name": "Uppercase", "value": "Uppercase" }, { "name": "Trim", "value": "Trim" }, { "name": "UrlDecode", "value": "UrlDecode" }, { "name": "UrlEncode", "value": "UrlEncode" }, { "name": "RemoveNulls", "value": "RemoveNulls" } ] } }, "TypeName": { "type": "string", "enum": [ "DeliveryRuleAfdUrlSigningActionParameters" ], "x-ms-enum": { "name": "TypeName", "modelAsString": true, "values": [ { "name": "DeliveryRuleAfdUrlSigningActionParameters", "value": "DeliveryRuleAfdUrlSigningActionParameters" } ] } }, "UpdateRule": { "type": "string", "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.", "enum": [ "NoAction" ], "x-ms-enum": { "name": "UpdateRule", "modelAsString": true, "values": [ { "name": "NoAction", "value": "NoAction" } ] } }, "UrlFileExtensionMatchConditionParameters": { "type": "object", "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "operator": { "$ref": "#/definitions/UrlFileExtensionOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlFileExtensionMatchConditionParameters" }, "UrlFileExtensionOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "UrlFileExtensionOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "UrlFileNameMatchConditionParameters": { "type": "object", "description": "Defines the parameters for UrlFilename match conditions", "properties": { "operator": { "$ref": "#/definitions/UrlFileNameOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlFilenameConditionParameters" }, "UrlFileNameOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "RegEx" ], "x-ms-enum": { "name": "UrlFileNameOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "RegEx", "value": "RegEx" } ] } }, "UrlPathMatchConditionParameters": { "type": "object", "description": "Defines the parameters for UrlPath match conditions", "properties": { "operator": { "$ref": "#/definitions/UrlPathOperator", "description": "Describes operator to be matched" }, "negateCondition": { "type": "boolean", "description": "Describes if this is negate condition or not", "default": false }, "matchValues": { "type": "array", "description": "The match value for the condition of the delivery rule", "items": { "type": "string" } }, "transforms": { "type": "array", "description": "List of transforms", "items": { "$ref": "#/definitions/Transform" } } }, "required": [ "operator" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleConditionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlPathMatchConditionParameters" }, "UrlPathOperator": { "type": "string", "description": "Describes operator to be matched", "enum": [ "Any", "Equal", "Contains", "BeginsWith", "EndsWith", "LessThan", "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", "Wildcard", "RegEx" ], "x-ms-enum": { "name": "UrlPathOperator", "modelAsString": true, "values": [ { "name": "Any", "value": "Any" }, { "name": "Equal", "value": "Equal" }, { "name": "Contains", "value": "Contains" }, { "name": "BeginsWith", "value": "BeginsWith" }, { "name": "EndsWith", "value": "EndsWith" }, { "name": "LessThan", "value": "LessThan" }, { "name": "LessThanOrEqual", "value": "LessThanOrEqual" }, { "name": "GreaterThan", "value": "GreaterThan" }, { "name": "GreaterThanOrEqual", "value": "GreaterThanOrEqual" }, { "name": "Wildcard", "value": "Wildcard" }, { "name": "RegEx", "value": "RegEx" } ] } }, "UrlRedirectAction": { "type": "object", "description": "Defines the url redirect action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlRedirectActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "UrlRedirect" }, "UrlRedirectActionParameters": { "type": "object", "description": "Defines the parameters for the url redirect action.", "properties": { "redirectType": { "$ref": "#/definitions/RedirectType", "description": "The redirect type the rule will use when redirecting traffic." }, "destinationProtocol": { "$ref": "#/definitions/DestinationProtocol", "description": "Protocol to use for the redirect. The default value is MatchRequest" }, "customPath": { "type": "string", "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path." }, "customHostname": { "type": "string", "description": "Host to redirect. Leave empty to use the incoming host as the destination host." }, "customQueryString": { "type": "string", "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them." }, "customFragment": { "type": "string", "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." } }, "required": [ "redirectType" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlRedirectActionParameters" }, "UrlRewriteAction": { "type": "object", "description": "Defines the url rewrite action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlRewriteActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "UrlRewrite" }, "UrlRewriteActionParameters": { "type": "object", "description": "Defines the parameters for the url rewrite action.", "properties": { "sourcePattern": { "type": "string", "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched." }, "destination": { "type": "string", "description": "Define the relative URL to which the above requests will be rewritten by." }, "preserveUnmatchedPath": { "type": "boolean", "description": "Whether to preserve unmatched path. Default value is true." } }, "required": [ "sourcePattern", "destination" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlRewriteActionParameters" }, "UrlSigningAction": { "type": "object", "description": "Defines the url signing action for the delivery rule.", "properties": { "parameters": { "$ref": "#/definitions/UrlSigningActionParameters", "description": "Defines the parameters for the action." } }, "required": [ "parameters" ], "allOf": [ { "$ref": "#/definitions/DeliveryRuleAction" } ], "x-ms-discriminator-value": "UrlSigning" }, "UrlSigningActionParameters": { "type": "object", "description": "Defines the parameters for the Url Signing action.", "properties": { "algorithm": { "$ref": "#/definitions/Algorithm", "description": "Algorithm to use for URL signing" }, "parameterNameOverride": { "type": "array", "description": "Defines which query string parameters in the url to be considered for expires, key id etc.", "items": { "$ref": "#/definitions/UrlSigningParamIdentifier" }, "x-ms-identifiers": [ "paramName" ] } }, "allOf": [ { "$ref": "#/definitions/DeliveryRuleActionParameters" } ], "x-ms-discriminator-value": "DeliveryRuleUrlSigningActionParameters" }, "UrlSigningKey": { "type": "object", "description": "Url signing key", "properties": { "keyId": { "type": "string", "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash." }, "keySourceParameters": { "$ref": "#/definitions/KeyVaultSigningKeyParameters", "description": "Defines the parameters for using customer key vault for Url Signing Key." } }, "required": [ "keyId", "keySourceParameters" ] }, "UrlSigningKeyParameters": { "type": "object", "description": "Url signing key parameters", "properties": { "keyId": { "type": "string", "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash." }, "secretSource": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​" }, "secretVersion": { "type": "string", "description": "Version of the secret to be used" } }, "required": [ "keyId", "secretSource", "secretVersion" ], "allOf": [ { "$ref": "#/definitions/SecretParameters" } ], "x-ms-discriminator-value": "UrlSigningKey" }, "UrlSigningParamIdentifier": { "type": "object", "description": "Defines how to identify a parameter for a specific purpose e.g. expires", "properties": { "paramIndicator": { "$ref": "#/definitions/ParamIndicator", "description": "Indicates the purpose of the parameter" }, "paramName": { "type": "string", "description": "Parameter name" } }, "required": [ "paramIndicator", "paramName" ] }, "Usage": { "type": "object", "description": "Describes resource usage.", "properties": { "id": { "type": "string", "description": "Resource identifier.", "readOnly": true }, "unit": { "$ref": "#/definitions/UsageUnit", "description": "An enum describing the unit of measurement." }, "currentValue": { "type": "integer", "format": "int64", "description": "The current value of the usage." }, "limit": { "type": "integer", "format": "int64", "description": "The limit of usage." }, "name": { "$ref": "#/definitions/UsageName", "description": "The name of the type of usage." } }, "required": [ "unit", "currentValue", "limit", "name" ] }, "UsageName": { "type": "object", "description": "The usage names.", "properties": { "value": { "type": "string", "description": "A string describing the resource name." }, "localizedValue": { "type": "string", "description": "A localized string describing the resource name." } } }, "UsageUnit": { "type": "string", "description": "An enum describing the unit of measurement.", "enum": [ "Count" ], "x-ms-enum": { "name": "UsageUnit", "modelAsString": true, "values": [ { "name": "Count", "value": "Count" } ] } }, "UsagesListResult": { "type": "object", "description": "The list usages operation response.", "properties": { "value": { "type": "array", "description": "The Usage items on this page", "items": { "$ref": "#/definitions/Usage" } }, "nextLink": { "type": "string", "format": "uri", "description": "The link to the next page of items" } }, "required": [ "value" ] }, "UserManagedHttpsParameters": { "type": "object", "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.", "properties": { "certificateSourceParameters": { "$ref": "#/definitions/KeyVaultCertificateSourceParameters", "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL." } }, "required": [ "certificateSourceParameters" ], "allOf": [ { "$ref": "#/definitions/CustomDomainHttpsParameters" } ], "x-ms-discriminator-value": "AzureKeyVault" }, "ValidateCustomDomainInput": { "type": "object", "description": "Input of the custom domain to be validated for DNS mapping.", "properties": { "hostName": { "type": "string", "description": "The host name of the custom domain. Must be a domain name." } }, "required": [ "hostName" ] }, "ValidateCustomDomainOutput": { "type": "object", "description": "Output of custom domain validation.", "properties": { "customDomainValidated": { "type": "boolean", "description": "Indicates whether the custom domain is valid or not.", "readOnly": true }, "reason": { "type": "string", "description": "The reason why the custom domain is not valid.", "readOnly": true }, "message": { "type": "string", "description": "Error message describing why the custom domain is not valid.", "readOnly": true } } }, "ValidateProbeInput": { "type": "object", "description": "Input of the validate probe API.", "properties": { "probeURL": { "type": "string", "description": "The probe URL to validate." } }, "required": [ "probeURL" ] }, "ValidateProbeOutput": { "type": "object", "description": "Output of the validate probe API.", "properties": { "isValid": { "type": "boolean", "description": "Indicates whether the probe URL is accepted or not.", "readOnly": true }, "errorCode": { "type": "string", "description": "Specifies the error code when the probe url is not accepted.", "readOnly": true }, "message": { "type": "string", "description": "The detailed error message describing why the probe URL is not accepted.", "readOnly": true } } }, "ValidateSecretInput": { "type": "object", "description": "Input of the secret to be validated.", "properties": { "secretType": { "$ref": "#/definitions/SecretType", "description": "The secret type." }, "secretSource": { "$ref": "#/definitions/ResourceReference", "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}" }, "secretVersion": { "type": "string", "description": "Secret version, if customer is using a specific version." } }, "required": [ "secretType", "secretSource" ] }, "ValidateSecretOutput": { "type": "object", "description": "Output of the validated secret.", "properties": { "status": { "$ref": "#/definitions/Status", "description": "The validation status." }, "message": { "type": "string", "description": "Detailed error message" } } }, "WafMatchVariable": { "type": "string", "description": "Match variable to compare against.", "enum": [ "RemoteAddr", "SocketAddr", "RequestMethod", "RequestHeader", "RequestUri", "QueryString", "RequestBody", "Cookies", "PostArgs" ], "x-ms-enum": { "name": "WafMatchVariable", "modelAsString": true, "values": [ { "name": "RemoteAddr", "value": "RemoteAddr" }, { "name": "SocketAddr", "value": "SocketAddr" }, { "name": "RequestMethod", "value": "RequestMethod" }, { "name": "RequestHeader", "value": "RequestHeader" }, { "name": "RequestUri", "value": "RequestUri" }, { "name": "QueryString", "value": "QueryString" }, { "name": "RequestBody", "value": "RequestBody" }, { "name": "Cookies", "value": "Cookies" }, { "name": "PostArgs", "value": "PostArgs" } ] } }, "WafMetricsGranularity": { "type": "string", "enum": [ "PT5M", "PT1H", "P1D" ], "x-ms-enum": { "name": "WafMetricsGranularity", "modelAsString": true, "values": [ { "name": "PT5M", "value": "PT5M" }, { "name": "PT1H", "value": "PT1H" }, { "name": "P1D", "value": "P1D" } ] } }, "WafMetricsResponse": { "type": "object", "description": "Waf Metrics Response", "properties": { "dateTimeBegin": { "type": "string", "format": "date-time" }, "dateTimeEnd": { "type": "string", "format": "date-time" }, "granularity": { "$ref": "#/definitions/WafMetricsGranularity" }, "series": { "type": "array", "items": { "$ref": "#/definitions/WafMetricsResponseSeriesItem" }, "x-ms-identifiers": [] } } }, "WafMetricsResponseSeriesItem": { "type": "object", "properties": { "metric": { "type": "string" }, "unit": { "$ref": "#/definitions/WafMetricsSeriesUnit" }, "groups": { "type": "array", "items": { "$ref": "#/definitions/WafMetricsResponseSeriesPropertiesItemsItem" }, "x-ms-identifiers": [ "name" ] }, "data": { "type": "array", "items": { "$ref": "#/definitions/Components18OrqelSchemasWafmetricsresponsePropertiesSeriesItemsPropertiesDataItems" }, "x-ms-identifiers": [] } } }, "WafMetricsResponseSeriesPropertiesItemsItem": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } }, "WafMetricsSeriesUnit": { "type": "string", "enum": [ "count" ], "x-ms-enum": { "name": "WafMetricsSeriesUnit", "modelAsString": true, "values": [ { "name": "count", "value": "count" } ] } }, "WafRankingsResponse": { "type": "object", "description": "Waf Rankings Response", "properties": { "dateTimeBegin": { "type": "string", "format": "date-time" }, "dateTimeEnd": { "type": "string", "format": "date-time" }, "groups": { "type": "array", "items": { "type": "string" } }, "data": { "type": "array", "items": { "$ref": "#/definitions/WafRankingsResponseDataItem" }, "x-ms-identifiers": [] } } }, "WafRankingsResponseDataItem": { "type": "object", "properties": { "groupValues": { "type": "array", "items": { "type": "string" } }, "metrics": { "type": "array", "items": { "$ref": "#/definitions/ComponentsKpo1PjSchemasWafrankingsresponsePropertiesDataItemsPropertiesMetricsItems" }, "x-ms-identifiers": [] } } }, "cidrIpAddress": { "type": "object", "description": "CIDR Ip address", "properties": { "baseIpAddress": { "type": "string", "description": "Ip address itself." }, "prefixLength": { "type": "integer", "format": "int32", "description": "The length of the prefix of the ip address." } } }, "policySettings": { "type": "object", "description": "Defines contents of a web application firewall global configuration", "properties": { "enabledState": { "$ref": "#/definitions/PolicyEnabledState", "description": "describes if the policy is in enabled state or disabled state" }, "mode": { "$ref": "#/definitions/PolicyMode", "description": "Describes if it is in detection mode or prevention mode at policy level." }, "defaultRedirectUrl": { "type": "string", "description": "If action type is redirect, this field represents the default redirect URL for the client." }, "defaultCustomBlockResponseStatusCode": { "$ref": "#/definitions/PolicySettingsDefaultCustomBlockResponseStatusCode", "description": "If the action type is block, this field defines the default customer overridable http response status code." }, "defaultCustomBlockResponseBody": { "type": "string", "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" } } } }, "parameters": {} }