diff --git a/schemas/2015-06-01/Microsoft.Cdn.json b/schemas/2015-06-01/Microsoft.Cdn.json index f4c32538eb..241e5c2d3e 100644 --- a/schemas/2015-06-01/Microsoft.Cdn.json +++ b/schemas/2015-06-01/Microsoft.Cdn.json @@ -1,25 +1,25 @@ { "id": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Profile location" + "description": "Profile location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile within the resource group." + "description": "Name of the CDN profile within the resource group.", + "type": "string" }, "properties": { "oneOf": [ @@ -32,62 +32,61 @@ ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Profile tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Profile tags" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Endpoint location" + "description": "Endpoint location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." + "description": "Name of the endpoint within the CDN profile.", + "type": "string" }, "properties": { "oneOf": [ @@ -100,7 +99,6 @@ ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -110,51 +108,51 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Endpoint tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Endpoint tags" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { "oneOf": [ @@ -167,32 +165,32 @@ ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint", + "type": "string" }, "properties": { "oneOf": [ @@ -205,42 +203,43 @@ ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" } }, "definitions": { "CustomDomainPropertiesParameters": { - "type": "object", "properties": { "hostName": { - "type": "string", - "description": "The host name of the custom domain. Must be a domain name." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" - ] + ], + "type": "object" }, "DeepCreatedOrigin": { - "type": "object", + "description": "Deep created origins within a CDN endpoint.", "properties": { "name": { - "type": "string", - "description": "Origin name" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of deep created origin on a CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -248,23 +247,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of deep created origin on a CDN endpoint." + ] } }, "required": [ "name" ], - "description": "Deep created origins within a CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of deep created origin on a CDN endpoint.", "properties": { "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { "type": "integer" @@ -272,10 +271,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { "type": "integer" @@ -283,33 +282,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of deep created origin on a CDN endpoint." + "type": "object" }, "EndpointPropertiesCreateParameters": { - "type": "object", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression will be applied. The value for the elements should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression will be applied. The value for the elements should be a valid MIME type." + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB.", "oneOf": [ { "type": "boolean" @@ -317,10 +315,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." + ] }, "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -328,10 +326,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether https traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -339,61 +337,61 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether https traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "originHostHeader": { - "type": "string", - "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." + "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin.", + "type": "string" }, "originPath": { - "type": "string", - "description": "The path used for origin requests." + "description": "The path used for origin requests.", + "type": "string" }, "origins": { + "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." + ] }, "queryStringCachingBehavior": { + "description": "Defines the query string caching behavior.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the query string caching behavior." + ] } }, "required": [ "origins" - ] + ], + "type": "object" }, "OriginPropertiesParameters": { - "type": "object", "properties": { "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { "type": "integer" @@ -401,10 +399,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { "type": "integer" @@ -412,18 +410,18 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535." + ] } }, "required": [ "hostName" - ] + ], + "type": "object" }, "ProfilePropertiesCreateParameters": { - "type": "object", "properties": { "sku": { + "description": "Profile SKU", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -431,30 +429,51 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The SKU (pricing tier) of the CDN profile." + ] } }, "required": [ "sku" - ] + ], + "type": "object" + }, + "Sku": { + "description": "The SKU (pricing tier) of the CDN profile.", + "properties": { + "name": { + "description": "Name of the pricing tier", + "oneOf": [ + { + "enum": [ + "Standard", + "Premium" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, "profiles_endpoints_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Endpoint location" + "description": "Endpoint location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." + "description": "Name of the endpoint within the CDN profile.", + "type": "string" }, "properties": { "oneOf": [ @@ -467,48 +486,47 @@ ] }, "tags": { + "description": "Endpoint tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Endpoint tags" + ] }, "type": { - "type": "string", "enum": [ "endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { "oneOf": [ @@ -521,32 +539,32 @@ ] }, "type": { - "type": "string", "enum": [ "customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_origins_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2015-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint", + "type": "string" }, "properties": { "oneOf": [ @@ -559,40 +577,19 @@ ] }, "type": { - "type": "string", "enum": [ "origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard", - "Premium" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The SKU (pricing tier) of the CDN profile." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2016-04-02/Microsoft.Cdn.json b/schemas/2016-04-02/Microsoft.Cdn.json index 00812e7cd3..5609676a6c 100644 --- a/schemas/2016-04-02/Microsoft.Cdn.json +++ b/schemas/2016-04-02/Microsoft.Cdn.json @@ -1,37 +1,38 @@ { "id": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Profile location" + "description": "Profile location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile within the resource group." + "description": "Name of the CDN profile within the resource group.", + "type": "string" }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The SKU (pricing tier) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -39,56 +40,53 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The SKU (pricing tier) of the CDN profile." + ] }, "tags": { + "description": "Profile tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Profile tags" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Endpoint location" + "description": "Endpoint location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." + "description": "Name of the endpoint within the CDN profile.", + "type": "string" }, "properties": { "oneOf": [ @@ -101,7 +99,6 @@ ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -111,51 +108,51 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Endpoint tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Endpoint tags" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { "oneOf": [ @@ -168,32 +165,32 @@ ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint", + "type": "string" }, "properties": { "oneOf": [ @@ -206,42 +203,43 @@ ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" } }, "definitions": { "CustomDomainPropertiesParameters": { - "type": "object", "properties": { "hostName": { - "type": "string", - "description": "The host name of the custom domain. Must be a domain name." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" - ] + ], + "type": "object" }, "DeepCreatedOrigin": { - "type": "object", + "description": "Deep created origins within a CDN endpoint.", "properties": { "name": { - "type": "string", - "description": "Origin name" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of deep created origin on a CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -249,23 +247,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of deep created origin on a CDN endpoint." + ] } }, "required": [ "name" ], - "description": "Deep created origins within a CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of deep created origin on a CDN endpoint.", "properties": { "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { "type": "integer" @@ -273,10 +271,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { "type": "integer" @@ -284,33 +282,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of deep created origin on a CDN endpoint." + "type": "object" }, "EndpointPropertiesCreateParameters": { - "type": "object", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression will be applied. The value for the elements should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression will be applied. The value for the elements should be a valid MIME type." + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB.", "oneOf": [ { "type": "boolean" @@ -318,10 +315,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether content compression is enabled. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." + ] }, "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -329,10 +326,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether https traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -340,61 +337,61 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether https traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "originHostHeader": { - "type": "string", - "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." + "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin.", + "type": "string" }, "originPath": { - "type": "string", - "description": "The path used for origin requests." + "description": "The path used for origin requests.", + "type": "string" }, "origins": { + "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." + ] }, "queryStringCachingBehavior": { + "description": "Defines the query string caching behavior.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the query string caching behavior." + ] } }, "required": [ "origins" - ] + ], + "type": "object" }, "OriginPropertiesParameters": { - "type": "object", "properties": { "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { "type": "integer" @@ -402,10 +399,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { "type": "integer" @@ -413,30 +410,53 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535." + ] } }, "required": [ "hostName" - ] + ], + "type": "object" + }, + "Sku": { + "description": "The SKU (pricing tier) of the CDN profile.", + "properties": { + "name": { + "description": "Name of the pricing tier", + "oneOf": [ + { + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, "profiles_endpoints_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Endpoint location" + "description": "Endpoint location", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." + "description": "Name of the endpoint within the CDN profile.", + "type": "string" }, "properties": { "oneOf": [ @@ -449,48 +469,47 @@ ] }, "tags": { + "description": "Endpoint tags", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Endpoint tags" + ] }, "type": { - "type": "string", "enum": [ "endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { "oneOf": [ @@ -503,32 +522,32 @@ ] }, "type": { - "type": "string", "enum": [ "customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_origins_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint", + "type": "string" }, "properties": { "oneOf": [ @@ -541,42 +560,19 @@ ] }, "type": { - "type": "string", "enum": [ "origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The SKU (pricing tier) of the CDN profile." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2016-10-02/Microsoft.Cdn.json b/schemas/2016-10-02/Microsoft.Cdn.json index 68a4b32132..57dabd7ae4 100644 --- a/schemas/2016-10-02/Microsoft.Cdn.json +++ b/schemas/2016-10-02/Microsoft.Cdn.json @@ -1,27 +1,28 @@ { "id": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-10-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -29,20 +30,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -50,59 +51,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-10-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -110,64 +109,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-10-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -175,47 +173,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "DeepCreatedOrigin": { - "type": "object", + "description": "Origin to be added when creating a CDN endpoint.", "properties": { "name": { - "type": "string", - "description": "Origin name" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of origin Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -223,86 +221,86 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of origin Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "Origin to be added when creating a CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of origin Properties of the origin created on the CDN endpoint.", "properties": { "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain names, IPv4 address, or IPv6 address." + "description": "The address of the origin. It can be a domain names, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of origin Properties of the origin created on the CDN endpoint." + "type": "object" }, "EndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "geoFilters": { + "description": "List of rules defining user 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/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules defining user 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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -310,10 +308,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -321,10 +319,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -332,139 +330,163 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "optimizationType": { + "description": "Customer can specify what scenario they want this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Customer can specify what scenario they want this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization." + ] }, "originHostHeader": { - "type": "string", - "description": "The host header CDN sends along with content requests to origin. The default value is the host name of the origin." + "description": "The host header CDN sends along with content requests to origin. The default value is the host name of the origin.", + "type": "string" }, "originPath": { - "type": "string", - "description": "The path used when CDN sends request to origin." + "description": "The path used when CDN sends request to origin.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "queryStringCachingBehavior": { + "description": "Defines the query string caching behavior", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the query string caching behavior." + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user geo access within a CDN endpoint." + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." + "type": "object" + }, + "Sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, "profiles_endpoints_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-10-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -472,54 +494,53 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2016-10-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -527,47 +548,22 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2017-04-02/Microsoft.Cdn.json b/schemas/2017-04-02/Microsoft.Cdn.json index 2e5da6495d..7bbfc9a224 100644 --- a/schemas/2017-04-02/Microsoft.Cdn.json +++ b/schemas/2017-04-02/Microsoft.Cdn.json @@ -1,27 +1,28 @@ { "id": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -29,20 +30,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -50,59 +51,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -110,64 +109,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -175,47 +173,47 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "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" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -223,86 +221,86 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "EndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -310,10 +308,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -321,10 +319,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -332,143 +330,167 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + ] }, "originHostHeader": { - "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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." + "type": "object" + }, + "Sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, "profiles_endpoints_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-04-02" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -476,54 +498,53 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains_childResource": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-04-02" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -531,47 +552,22 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2017-10-12/Microsoft.Cdn.json b/schemas/2017-10-12/Microsoft.Cdn.json index c36b95bab6..05788d89eb 100644 --- a/schemas/2017-10-12/Microsoft.Cdn.json +++ b/schemas/2017-10-12/Microsoft.Cdn.json @@ -1,27 +1,28 @@ { "id": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-10-12" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -29,20 +30,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -50,59 +51,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-10-12" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -110,64 +109,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2017-10-12" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -175,36 +173,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -212,38 +209,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests that include query strings.", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests that include query strings." + ] }, "cacheDuration": { - "type": "string", - "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -251,29 +248,30 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "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" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -281,86 +279,86 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleAction" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -368,138 +366,108 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, "DeliveryRuleAction": { - "type": "object", + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the cache expiration action for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" - } - ], - "properties": {}, - "description": "A condition for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the URL file extension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the URL file extension condition." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the URL file extension condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the URL path condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the URL path condition." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the URL path condition for the delivery rule." + "properties": {}, + "type": "object" }, "EndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" @@ -507,24 +475,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -532,10 +500,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -543,10 +511,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -554,257 +522,158 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + ] }, "originHostHeader": { - "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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -813,27 +682,27 @@ "Standard_ChinaCdn", "Premium_ChinaCdn", "Standard_Microsoft" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionConditionParameters": { - "type": "object", + "description": "Defines the parameters for the URL file extension condition.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -841,36 +710,36 @@ ] }, "extensions": { + "description": "A list of extensions for the condition of the delivery rule.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of extensions for the condition of the delivery rule." + ] } }, "required": [ "@odata.type", "extensions" ], - "description": "Defines the parameters for the URL file extension condition." + "type": "object" }, "UrlPathConditionParameters": { - "type": "object", + "description": "Defines the parameters for the URL path condition.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -878,31 +747,128 @@ ] }, "matchType": { + "description": "The match type for the condition of the delivery rule", "oneOf": [ { - "type": "string", "enum": [ "Literal", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match type for the condition of the delivery rule." + ] }, "path": { - "type": "string", - "description": "A URL path for the condition of the delivery rule" + "description": "A URL path for the condition of the delivery rule", + "type": "string" } }, "required": [ "@odata.type", - "matchType", - "path" + "path", + "matchType" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2017-10-12" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2017-10-12" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the URL path condition." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2019-04-15/Microsoft.Cdn.json b/schemas/2019-04-15/Microsoft.Cdn.json index e48b086f82..0e87ea81cb 100644 --- a/schemas/2019-04-15/Microsoft.Cdn.json +++ b/schemas/2019-04-15/Microsoft.Cdn.json @@ -1,27 +1,28 @@ { "id": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-04-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -29,20 +30,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -50,59 +51,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-04-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -110,64 +109,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-04-15" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -175,36 +173,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -212,38 +209,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -251,18 +248,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -270,43 +267,43 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -314,20 +311,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -335,13 +333,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -352,24 +349,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -377,43 +373,45 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "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" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -421,90 +419,90 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -512,799 +510,652 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the cache-key query string action for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" ] }, - "parameters": { + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/QueryStringMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" ] }, - "parameters": { + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" ] }, - "parameters": { + "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.", "oneOf": [ { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" ] }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, "originHostHeader": { - "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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "HeaderActionParameters": { - "type": "object", + "description": "Defines the parameters for the request header action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1312,28 +1163,28 @@ ] }, "headerAction": { + "description": "Action to perform", "oneOf": [ { - "type": "string", "enum": [ "Append", "Overwrite", "Delete" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] }, "headerName": { - "type": "string", - "description": "Name of the header to modify" + "description": "Name of the header to modify", + "type": "string" }, "value": { - "type": "string", - "description": "Value for the specified action" + "description": "Value for the specified action", + "type": "string" } }, "required": [ @@ -1341,18 +1192,18 @@ "headerAction", "headerName" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, "HttpVersionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for HttpVersion match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1360,20 +1211,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1381,40 +1233,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, "IsDeviceMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for IsDevice match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1422,24 +1273,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Mobile", "Desktop" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1447,29 +1299,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1477,32 +1327,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, "PostArgsMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for PostArgs match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1510,20 +1361,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1531,13 +1383,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1548,24 +1399,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1573,135 +1423,38 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "QueryStringMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1709,20 +1462,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1730,13 +1484,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1747,20 +1500,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1768,32 +1520,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for QueryString match conditions" + "type": "object" }, "RemoteAddressMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1801,20 +1554,21 @@ ] }, "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1822,31 +1576,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", "GeoMatch" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1854,32 +1606,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RemoteAddress match conditions" + "type": "object" }, "RequestBodyMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1887,20 +1640,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1908,13 +1662,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1925,20 +1678,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1946,32 +1698,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestBody match conditions" + "type": "object" }, "RequestHeaderMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestHeader match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1979,20 +1732,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2000,13 +1754,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2017,24 +1770,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Header to be matched" + "description": "Name of Header to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2042,32 +1794,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2075,11 +1828,10 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -2088,16 +1840,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2105,40 +1859,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2146,24 +1899,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2171,40 +1925,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2212,20 +1965,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2233,13 +1987,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2250,20 +2003,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2271,29 +2023,30 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -2302,27 +2055,27 @@ "Standard_ChinaCdn", "Standard_Microsoft", "Premium_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2330,20 +2083,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2351,13 +2105,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2368,20 +2121,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2389,32 +2141,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, "UrlFileNameMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2422,20 +2175,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2443,13 +2197,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2460,20 +2213,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2481,32 +2233,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, "UrlPathMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlPath match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2514,20 +2267,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2535,13 +2289,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2553,20 +2306,19 @@ "GreaterThan", "GreaterThanOrEqual", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2574,59 +2326,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, "UrlRedirectActionParameters": { - "type": "object", + "description": "Defines the parameters for the url redirect action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2634,130 +2360,200 @@ ] }, "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 #." + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" }, "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" }, "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." + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" }, "customQueryString": { - "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." + "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.", + "type": "string" }, "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", "oneOf": [ { - "type": "string", "enum": [ "MatchRequest", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "string", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] } }, "required": [ "@odata.type", "redirectType" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "parameters": { + "destination": { + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern ", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. ", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the url rewrite action." + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field", + "type": "string" } }, "required": [ - "name", - "parameters" + "@odata.type", + "sourcePattern", + "destination" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2019-04-15" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "boolean" + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2019-04-15" ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + "type": "string" }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" } }, "required": [ - "@odata.type", - "destination", - "sourcePattern" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2019-06-15-preview/Microsoft.Cdn.json b/schemas/2019-06-15-preview/Microsoft.Cdn.json index eea8a37b5b..31687fd254 100644 --- a/schemas/2019-06-15-preview/Microsoft.Cdn.json +++ b/schemas/2019-06-15-preview/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "CdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15-preview" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,20 +104,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -126,59 +125,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -186,64 +183,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -251,36 +247,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -288,38 +283,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -327,18 +322,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -346,37 +341,38 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -384,10 +380,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -395,10 +391,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -406,10 +402,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -417,22 +413,21 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -440,20 +435,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -461,13 +457,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -478,161 +473,162 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", + "selector", "operator", - "selector" + "matchValues" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -640,90 +636,90 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -731,594 +727,448 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache-key query string action for the delivery rule." - }, - "DeliveryRuleCondition": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" - }, - { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" - } - ], - "properties": {}, - "description": "A condition for the delivery rule." - }, - "DeliveryRuleCookiesCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CookiesMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the HttpVersion condition for the delivery rule." + "properties": {}, + "type": "object" }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "oneOf": [ + { + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the UrlPath condition for the delivery rule." + "properties": {}, + "type": "object" }, "EndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" @@ -1326,24 +1176,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -1351,10 +1201,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1362,10 +1212,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1373,71 +1223,71 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + ] }, "originHostHeader": { - "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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL." + ] }, "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" @@ -1445,106 +1295,105 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "HeaderActionParameters": { - "type": "object", + "description": "Defines the parameters for the request header action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1552,28 +1401,28 @@ ] }, "headerAction": { + "description": "Action to perform", "oneOf": [ { - "type": "string", "enum": [ "Append", "Overwrite", "Delete" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] }, "headerName": { - "type": "string", - "description": "Name of the header to modify" + "description": "Name of the header to modify", + "type": "string" }, "value": { - "type": "string", - "description": "Value for the specified action" + "description": "Value for the specified action", + "type": "string" } }, "required": [ @@ -1581,18 +1430,18 @@ "headerAction", "headerName" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, "HttpVersionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for HttpVersion match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1600,20 +1449,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1621,41 +1471,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, "IsDeviceMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for IsDevice match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1663,24 +1512,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Mobile", "Desktop" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1688,207 +1538,206 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, "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" + "description": "Describes the managed rule group within the rule set to override", + "type": "string" }, "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled." + ] } }, "required": [ "ruleGroupName" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleOverride": { - "type": "object", + "description": "Defines a managed rule group override setting.", "properties": { "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." + "description": "Identifier for the managed rule.", + "type": "string" } }, "required": [ "ruleId" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleSet": { - "type": "object", + "description": "Defines a managed rule set.", "properties": { "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "integer", + "maximum": 20, "minimum": 0, - "maximum": 20 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." + ] }, "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleGroupOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the rule overrides to apply to the rule set." + ] }, "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." + "description": "Defines the rule set type to use.", + "type": "string" }, "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ "ruleSetType", "ruleSetVersion" ], - "description": "Defines a managed rule set." + "type": "object" }, "ManagedRuleSetList": { - "type": "object", + "description": "Defines the list of managed rule sets for the policy.", "properties": { "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleSet" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, "MatchCondition": { - "type": "object", + "description": "Define match conditions", "properties": { "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of possible match values." + ] }, "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "string", "enum": [ "RemoteAddress", "RequestMethod", @@ -1906,15 +1755,16 @@ "IsDevice", "RemoteAddr", "SocketAddr" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if the result of this condition should be negated.", "oneOf": [ { "type": "boolean" @@ -1922,13 +1772,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", @@ -1942,24 +1791,23 @@ "BeginsWith", "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1967,96 +1815,104 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] } }, "required": [ - "matchValue", "matchVariable", - "operator" + "operator", + "matchValue" ], - "description": "Define match conditions" + "type": "object" }, "PolicySettings": { - "type": "object", + "description": "Defines contents of a web application firewall global configuration", "properties": { "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] }, "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "integer" + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." + ] }, "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" }, "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "string", "enum": [ "Prevention", "Detection" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "type": "object" }, "PostArgsMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for PostArgs match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2064,20 +1920,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2085,13 +1942,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2102,158 +1958,60 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", + "selector", "operator", - "selector" + "matchValues" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "QueryStringMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2261,20 +2019,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2282,13 +2041,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2299,172 +2057,172 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for QueryString match conditions" + "type": "object" }, "RateLimitRule": { - "type": "object", + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] }, "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", "oneOf": [ { - "type": "integer", + "maximum": 60, "minimum": 0, - "maximum": 60 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit duration. Default is 1 minute." + ] }, "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 0 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit threshold." + ] } }, "required": [ - "action", - "matchConditions", + "rateLimitThreshold", + "rateLimitDurationInMinutes", "name", "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" + "matchConditions", + "action" ], - "description": "Defines a rate limiting rule that can be included in a waf policy" + "type": "object" }, "RateLimitRuleList": { - "type": "object", + "description": "Defines contents of rate limit rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/RateLimitRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of rate limit rules" + "type": "object" }, "RemoteAddressMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2472,20 +2230,21 @@ ] }, "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2493,61 +2252,60 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", "GeoMatch" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for RemoteAddress match conditions" + "type": "object" }, "RequestBodyMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2555,20 +2313,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2576,13 +2335,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2593,50 +2351,50 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for RequestBody match conditions" + "type": "object" }, "RequestHeaderMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestHeader match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2644,20 +2402,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2665,13 +2424,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2682,55 +2440,55 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Header to be matched" + "description": "Name of Header to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", + "selector", "operator", - "selector" + "matchValues" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2738,11 +2496,10 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -2751,16 +2508,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2768,41 +2527,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2810,24 +2568,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2835,41 +2594,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2877,20 +2635,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2898,13 +2657,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2915,47 +2673,47 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -2964,27 +2722,27 @@ "Standard_ChinaCdn", "Standard_Microsoft", "Premium_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2992,20 +2750,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3013,13 +2772,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3030,50 +2788,50 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, "UrlFileNameMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3081,20 +2839,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3102,13 +2861,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3119,50 +2877,50 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "matchValues", - "operator" + "operator", + "matchValues" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, "UrlPathMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlPath match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3170,20 +2928,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3191,13 +2950,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3209,77 +2967,50 @@ "GreaterThan", "GreaterThanOrEqual", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." } }, "required": [ - "name", - "parameters" + "@odata.type", + "operator", + "matchValues" ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, "UrlRedirectActionParameters": { - "type": "object", + "description": "Defines the parameters for the url redirect action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3287,130 +3018,200 @@ ] }, "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 #." + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" }, "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" }, "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." + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" }, "customQueryString": { - "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." + "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.", + "type": "string" }, "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", "oneOf": [ { - "type": "string", "enum": [ "MatchRequest", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "string", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] } }, "required": [ "@odata.type", "redirectType" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "parameters": { + "destination": { + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern ", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. ", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the url rewrite action." + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field", + "type": "string" } }, "required": [ - "name", - "parameters" + "@odata.type", + "sourcePattern", + "destination" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2019-06-15-preview" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "boolean" + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2019-06-15-preview" ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + "type": "string" }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" } }, "required": [ - "@odata.type", - "destination", - "sourcePattern" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2019-06-15/Microsoft.Cdn.json b/schemas/2019-06-15/Microsoft.Cdn.json index 324a114d31..8d6f6583c1 100644 --- a/schemas/2019-06-15/Microsoft.Cdn.json +++ b/schemas/2019-06-15/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "CdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,20 +104,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -126,59 +125,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -186,64 +183,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-06-15" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -251,36 +247,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -288,38 +283,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -327,18 +322,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -346,37 +341,38 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -384,10 +380,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -395,10 +391,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -406,10 +402,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -417,22 +413,21 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -440,20 +435,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -461,13 +457,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -478,24 +473,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -503,138 +497,140 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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" + "description": "Origin name", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -642,90 +638,90 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -733,594 +729,448 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache-key query string action for the delivery rule." - }, - "DeliveryRuleCondition": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" - } - ], - "properties": {}, - "description": "A condition for the delivery rule." - }, - "DeliveryRuleCookiesCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CookiesMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the HttpVersion condition for the delivery rule." + "properties": {}, + "type": "object" }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "oneOf": [ + { + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the UrlPath condition for the delivery rule." + "properties": {}, + "type": "object" }, "EndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" @@ -1328,24 +1178,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -1353,10 +1203,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1364,10 +1214,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1375,71 +1225,71 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + ] }, "originHostHeader": { - "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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path.", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL." + ] }, "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" @@ -1447,106 +1297,105 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "HeaderActionParameters": { - "type": "object", + "description": "Defines the parameters for the request header action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1554,28 +1403,28 @@ ] }, "headerAction": { + "description": "Action to perform", "oneOf": [ { - "type": "string", "enum": [ "Append", "Overwrite", "Delete" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] }, "headerName": { - "type": "string", - "description": "Name of the header to modify" + "description": "Name of the header to modify", + "type": "string" }, "value": { - "type": "string", - "description": "Value for the specified action" + "description": "Value for the specified action", + "type": "string" } }, "required": [ @@ -1583,18 +1432,18 @@ "headerAction", "headerName" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, "HttpVersionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for HttpVersion match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1602,20 +1451,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1623,40 +1473,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, "IsDeviceMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for IsDevice match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1664,24 +1513,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Mobile", "Desktop" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1689,29 +1539,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1719,180 +1567,181 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, "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" + "description": "Describes the managed rule group within the rule set to override", + "type": "string" }, "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled." + ] } }, "required": [ "ruleGroupName" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleOverride": { - "type": "object", + "description": "Defines a managed rule group override setting.", "properties": { "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." + "description": "Identifier for the managed rule.", + "type": "string" } }, "required": [ "ruleId" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleSet": { - "type": "object", + "description": "Defines a managed rule set.", "properties": { "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "integer", + "maximum": 20, "minimum": 0, - "maximum": 20 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." + ] }, "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleGroupOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the rule overrides to apply to the rule set." + ] }, "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." + "description": "Defines the rule set type to use.", + "type": "string" }, "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ "ruleSetType", "ruleSetVersion" ], - "description": "Defines a managed rule set." + "type": "object" }, "ManagedRuleSetList": { - "type": "object", + "description": "Defines the list of managed rule sets for the policy.", "properties": { "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleSet" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, "MatchCondition": { - "type": "object", + "description": "Define match conditions", "properties": { "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of possible match values." + ] }, "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "string", "enum": [ "RemoteAddress", "RequestMethod", @@ -1910,15 +1759,16 @@ "IsDevice", "RemoteAddr", "SocketAddr" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if the result of this condition should be negated.", "oneOf": [ { "type": "boolean" @@ -1926,13 +1776,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", @@ -1946,24 +1795,23 @@ "BeginsWith", "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1971,96 +1819,104 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] } }, "required": [ - "matchValue", "matchVariable", - "operator" + "operator", + "matchValue" ], - "description": "Define match conditions" + "type": "object" }, "PolicySettings": { - "type": "object", + "description": "Defines contents of a web application firewall global configuration", "properties": { "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] }, "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "integer" + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." + ] }, "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" }, "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "string", "enum": [ "Prevention", "Detection" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "type": "object" }, "PostArgsMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for PostArgs match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2068,20 +1924,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2089,13 +1946,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2106,24 +1962,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2131,135 +1986,38 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "QueryStringMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2267,20 +2025,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2288,13 +2047,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2305,20 +2063,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2326,154 +2083,155 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for QueryString match conditions" + "type": "object" }, "RateLimitRule": { - "type": "object", + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] }, "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", "oneOf": [ { - "type": "integer", + "maximum": 60, "minimum": 0, - "maximum": 60 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit duration. Default is 1 minute." + ] }, "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 0 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit threshold." + ] } }, "required": [ - "action", - "matchConditions", + "rateLimitThreshold", + "rateLimitDurationInMinutes", "name", "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" + "matchConditions", + "action" ], - "description": "Defines a rate limiting rule that can be included in a waf policy" + "type": "object" }, "RateLimitRuleList": { - "type": "object", + "description": "Defines contents of rate limit rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/RateLimitRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of rate limit rules" + "type": "object" }, "RemoteAddressMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2481,20 +2239,21 @@ ] }, "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2502,31 +2261,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", "GeoMatch" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2534,32 +2291,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RemoteAddress match conditions" + "type": "object" }, "RequestBodyMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2567,20 +2325,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2588,13 +2347,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2605,20 +2363,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2626,32 +2383,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestBody match conditions" + "type": "object" }, "RequestHeaderMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestHeader match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2659,20 +2417,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2680,13 +2439,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2697,24 +2455,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Header to be matched" + "description": "Name of Header to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2722,32 +2479,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2755,11 +2513,10 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -2768,16 +2525,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2785,40 +2544,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2826,24 +2584,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2851,40 +2610,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2892,20 +2650,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2913,13 +2672,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2930,20 +2688,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2951,29 +2708,30 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -2982,27 +2740,27 @@ "Standard_ChinaCdn", "Standard_Microsoft", "Premium_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3010,20 +2768,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3031,13 +2790,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3048,20 +2806,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3069,32 +2826,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, "UrlFileNameMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3102,20 +2860,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3123,13 +2882,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3140,20 +2898,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3161,32 +2918,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, "UrlPathMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlPath match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3194,20 +2952,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3215,13 +2974,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3233,20 +2991,19 @@ "GreaterThan", "GreaterThanOrEqual", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3254,59 +3011,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, "UrlRedirectActionParameters": { - "type": "object", + "description": "Defines the parameters for the url redirect action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3314,130 +3045,200 @@ ] }, "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 #." + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" }, "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" }, "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." + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" }, "customQueryString": { - "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." + "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.", + "type": "string" }, "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", "oneOf": [ { - "type": "string", "enum": [ "MatchRequest", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "string", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] } }, "required": [ "@odata.type", "redirectType" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "parameters": { + "destination": { + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern ", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. ", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the url rewrite action." + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field", + "type": "string" } }, "required": [ - "name", - "parameters" + "@odata.type", + "sourcePattern", + "destination" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2019-06-15" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "boolean" + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2019-06-15" ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + "type": "string" }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" } }, "required": [ - "@odata.type", - "destination", - "sourcePattern" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2019-12-31/Microsoft.Cdn.json b/schemas/2019-12-31/Microsoft.Cdn.json index c6546974e5..b7ced986eb 100644 --- a/schemas/2019-12-31/Microsoft.Cdn.json +++ b/schemas/2019-12-31/Microsoft.Cdn.json @@ -1,27 +1,28 @@ { "id": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-12-31" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -29,20 +30,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -50,59 +51,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-12-31" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -110,11 +109,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -127,53 +124,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-12-31" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -181,38 +179,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-12-31" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -220,38 +218,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2019-12-31" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -259,36 +257,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -296,38 +293,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -335,18 +332,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -354,43 +351,43 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -398,20 +395,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -419,13 +417,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -436,24 +433,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -461,43 +457,45 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -505,23 +503,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -529,19 +527,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -549,24 +547,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -574,32 +572,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -607,111 +605,111 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." + "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -719,633 +717,504 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/OriginGroupOverrideAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the Origin Group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the cache-key query string action for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" ] }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "defaultOriginGroup": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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/" - }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -1353,10 +1222,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1364,10 +1233,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1375,171 +1244,170 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOriginGroup" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." + ] }, "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. This property at Endpoint can only be set allowed when endpoint uses single 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." + "description": "The host header value sent to the origin with each request. This property at Endpoint can only be set allowed when endpoint uses single 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.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "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.", + "type": "string" }, "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "HeaderActionParameters": { - "type": "object", + "description": "Defines the parameters for the request header action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1547,28 +1415,28 @@ ] }, "headerAction": { + "description": "Action to perform", "oneOf": [ { - "type": "string", "enum": [ "Append", "Overwrite", "Delete" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] }, "headerName": { - "type": "string", - "description": "Name of the header to modify" + "description": "Name of the header to modify", + "type": "string" }, "value": { - "type": "string", - "description": "Value for the specified action" + "description": "Value for the specified action", + "type": "string" } }, "required": [ @@ -1576,105 +1444,105 @@ "headerAction", "headerName" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, "HealthProbeParameters": { - "type": "object", + "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", "oneOf": [ { - "type": "integer", + "maximum": 255, "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." + ] }, "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" }, "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "type": "string", "enum": [ "NotSet", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "type": "string", "enum": [ "NotSet", "GET", "HEAD" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, "HttpErrorRangeParameters": { - "type": "object", + "description": "The JSON object that represents the range for http status codes", "properties": { "begin": { + "description": "The inclusive start of the http status code range.", "oneOf": [ { - "type": "integer", + "maximum": 999, "minimum": 100, - "maximum": 999 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive start of the http status code range." + ] }, "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "integer", + "maximum": 999, "minimum": 100, - "maximum": 999 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "type": "object" }, "HttpVersionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for HttpVersion match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1682,20 +1550,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1703,40 +1572,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, "IsDeviceMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for IsDevice match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1744,24 +1612,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Mobile", "Desktop" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1769,29 +1638,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1799,59 +1666,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "OriginGroupOverrideAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the Origin Group override action." } }, "required": [ - "name", - "parameters" + "@odata.type", + "operator" ], - "description": "Defines the Origin Group override action for the delivery rule." + "type": "object" }, "OriginGroupOverrideActionParameters": { - "type": "object", + "description": "Defines the parameters for the Origin Group override action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1859,6 +1700,7 @@ ] }, "originGroup": { + "description": "A reference to the origin group from where the content will be fetched from when CDN does not have it", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -1866,20 +1708,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, "required": [ "@odata.type", "originGroup" ], - "description": "Defines the parameters for the Origin Group override action." + "type": "object" }, "OriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -1887,24 +1729,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -1912,29 +1754,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "OriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not", "oneOf": [ { "type": "boolean" @@ -1942,82 +1784,81 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." + "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered.", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "description": "The JSON object that contains the properties of the origin." + "type": "object" }, "PostArgsMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for PostArgs match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2025,20 +1866,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2046,13 +1888,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2063,24 +1904,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2088,213 +1928,38 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, "ProfileProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create a profile.", "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" }, "QueryStringMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2302,20 +1967,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2323,13 +1989,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2340,20 +2005,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2361,32 +2025,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for QueryString match conditions" + "type": "object" }, "RemoteAddressMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2394,20 +2059,21 @@ ] }, "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2415,31 +2081,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", "GeoMatch" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2447,32 +2111,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RemoteAddress match conditions" + "type": "object" }, "RequestBodyMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2480,20 +2145,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2501,13 +2167,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2518,20 +2183,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2539,32 +2203,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestBody match conditions" + "type": "object" }, "RequestHeaderMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestHeader match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2572,20 +2237,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2593,13 +2259,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2610,24 +2275,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Header to be matched" + "description": "Name of Header to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2635,32 +2299,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2668,11 +2333,10 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -2681,16 +2345,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2698,40 +2364,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2739,24 +2404,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2764,40 +2430,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2805,20 +2470,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2826,13 +2492,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2843,20 +2508,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2864,88 +2528,89 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -2954,27 +2619,27 @@ "Standard_ChinaCdn", "Standard_Microsoft", "Premium_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2982,20 +2647,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3003,13 +2669,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3020,20 +2685,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3041,32 +2705,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, "UrlFileNameMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3074,20 +2739,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3095,13 +2761,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3112,20 +2777,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3133,32 +2797,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, "UrlPathMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlPath match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3166,20 +2831,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3187,13 +2853,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3205,20 +2870,19 @@ "GreaterThan", "GreaterThanOrEqual", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3226,59 +2890,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, "UrlRedirectActionParameters": { - "type": "object", + "description": "Defines the parameters for the url redirect action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3286,130 +2924,278 @@ ] }, "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 #." + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" }, "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" }, "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." + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" }, "customQueryString": { - "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." + "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.", + "type": "string" }, "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", "oneOf": [ { - "type": "string", "enum": [ "MatchRequest", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "string", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] } }, "required": [ "@odata.type", "redirectType" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "name": { - "type": "string", + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + } + }, + "required": [ + "@odata.type", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { "enum": [ - "UrlRewrite" + "2019-12-31" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "parameters": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "endpoints" ], - "description": "Defines the parameters for the url rewrite action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2019-12-31" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/CustomDomainPropertiesParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2019-12-31" + ], + "type": "string" }, - "preserveUnmatchedPath": { + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/OriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2019-12-31" ], - "description": "Whether to preserve unmatched path. Default value is true." + "type": "string" }, - "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." + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" } }, "required": [ - "@odata.type", - "destination", - "sourcePattern" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2020-04-15/Microsoft.Cdn.json b/schemas/2020-04-15/Microsoft.Cdn.json index 7810fe50c7..134594c5aa 100644 --- a/schemas/2020-04-15/Microsoft.Cdn.json +++ b/schemas/2020-04-15/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "CdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,20 +104,20 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_endpoints_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -126,59 +125,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -186,11 +183,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -203,53 +198,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -257,38 +253,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -296,38 +292,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-04-15" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -335,36 +331,35 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" } }, "definitions": { "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -372,38 +367,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -411,18 +406,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -430,37 +425,38 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -468,10 +464,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -479,10 +475,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -490,10 +486,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -501,22 +497,21 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -524,20 +519,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -545,13 +541,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -562,24 +557,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -587,138 +581,140 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -726,23 +722,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -750,19 +746,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -770,24 +766,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -795,32 +791,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -828,127 +824,127 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -956,597 +952,468 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlSigningAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the cache-key query string action for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -1554,10 +1421,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" @@ -1565,24 +1432,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { "type": "boolean" @@ -1590,10 +1457,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1601,10 +1468,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { "type": "boolean" @@ -1612,99 +1479,99 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "GeneralWebDelivery", "GeneralMediaStreaming", "VideoOnDemandMediaStreaming", "LargeFileDownload", "DynamicSiteAcceleration" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOriginGroup" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." + ] }, "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." + "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.", + "type": "string" }, "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." + ] }, "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." + "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.", + "type": "string" }, "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "BypassCaching", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/UrlSigningKey" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of keys used to validate the signed URL hashes." + ] }, "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" @@ -1712,106 +1579,105 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ "origins" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "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." + "description": "User-friendly description of the policy.", + "type": "string" }, "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." + ] } }, "required": [ "rules" ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + "type": "object" }, "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + "type": "object" }, "GeoFilter": { - "type": "object", + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "type": "string", "enum": [ "Block", "Allow" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." + ] }, "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ + "relativePath", "action", - "countryCodes", - "relativePath" + "countryCodes" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, "HeaderActionParameters": { - "type": "object", + "description": "Defines the parameters for the request header action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1819,28 +1685,28 @@ ] }, "headerAction": { + "description": "Action to perform", "oneOf": [ { - "type": "string", "enum": [ "Append", "Overwrite", "Delete" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] }, "headerName": { - "type": "string", - "description": "Name of the header to modify" + "description": "Name of the header to modify", + "type": "string" }, "value": { - "type": "string", - "description": "Value for the specified action" + "description": "Value for the specified action", + "type": "string" } }, "required": [ @@ -1848,105 +1714,105 @@ "headerAction", "headerName" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, "HealthProbeParameters": { - "type": "object", + "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", "oneOf": [ { - "type": "integer", + "maximum": 255, "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." + ] }, "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" }, "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "type": "string", "enum": [ "NotSet", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "type": "string", "enum": [ "NotSet", "GET", "HEAD" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, "HttpErrorRangeParameters": { - "type": "object", + "description": "The JSON object that represents the range for http status codes", "properties": { "begin": { + "description": "The inclusive start of the http status code range.", "oneOf": [ { - "type": "integer", + "maximum": 999, "minimum": 100, - "maximum": 999 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive start of the http status code range." + ] }, "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "integer", + "maximum": 999, "minimum": 100, - "maximum": 999 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "type": "object" }, "HttpVersionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for HttpVersion match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1954,20 +1820,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1975,40 +1842,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, "IsDeviceMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for IsDevice match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2016,24 +1882,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Mobile", "Desktop" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2041,29 +1908,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2071,32 +1936,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, "KeyVaultSigningKeyParameters": { - "type": "object", + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2104,194 +1970,194 @@ ] }, "resourceGroupName": { - "type": "string", - "description": "Resource group of the user's Key Vault containing the secret" + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" }, "secretName": { - "type": "string", - "description": "The name of secret in Key Vault." + "description": "The name of secret in Key Vault.", + "type": "string" }, "secretVersion": { - "type": "string", - "description": "The version(GUID) of secret in Key Vault." + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" }, "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" }, "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" + "description": "The name of the user's Key Vault containing the secret", + "type": "string" } }, "required": [ "@odata.type", + "subscriptionId", "resourceGroupName", + "vaultName", "secretName", - "secretVersion", - "subscriptionId", - "vaultName" + "secretVersion" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "object" }, "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" + "description": "Describes the managed rule group within the rule set to override", + "type": "string" }, "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled." + ] } }, "required": [ "ruleGroupName" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleOverride": { - "type": "object", + "description": "Defines a managed rule group override setting.", "properties": { "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." + "description": "Identifier for the managed rule.", + "type": "string" } }, "required": [ "ruleId" ], - "description": "Defines a managed rule group override setting." + "type": "object" }, "ManagedRuleSet": { - "type": "object", + "description": "Defines a managed rule set.", "properties": { "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "integer", + "maximum": 20, "minimum": 0, - "maximum": 20 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." + ] }, "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleGroupOverride" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the rule overrides to apply to the rule set." + ] }, "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." + "description": "Defines the rule set type to use.", + "type": "string" }, "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ "ruleSetType", "ruleSetVersion" ], - "description": "Defines a managed rule set." + "type": "object" }, "ManagedRuleSetList": { - "type": "object", + "description": "Defines the list of managed rule sets for the policy.", "properties": { "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ManagedRuleSet" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, "MatchCondition": { - "type": "object", + "description": "Define match conditions", "properties": { "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of possible match values." + ] }, "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "string", "enum": [ "RemoteAddress", "RequestMethod", @@ -2309,15 +2175,16 @@ "IsDevice", "RemoteAddr", "SocketAddr" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if the result of this condition should be negated.", "oneOf": [ { "type": "boolean" @@ -2325,13 +2192,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", @@ -2345,24 +2211,23 @@ "BeginsWith", "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2370,27 +2235,29 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] } }, "required": [ - "matchValue", "matchVariable", - "operator" + "operator", + "matchValue" ], - "description": "Define match conditions" + "type": "object" }, "OriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -2398,24 +2265,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -2423,29 +2290,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "OriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not", "oneOf": [ { "type": "boolean" @@ -2453,438 +2320,268 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "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", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "description": "The JSON object that contains the properties of the origin." + "type": "object" }, "PolicySettings": { - "type": "object", + "description": "Defines contents of a web application firewall global configuration", "properties": { "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] }, "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "integer" + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." + ] }, "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" }, "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "string", "enum": [ "Prevention", "Detection" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "type": "object" }, "PostArgsMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for PostArgs match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/CustomDomainPropertiesParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" ] }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/OriginGroupProperties" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" }, - "properties": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "$ref": "#/definitions/OriginProperties" + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" ] } }, "required": [ - "apiVersion", - "name", - "properties", - "type" + "@odata.type", + "operator" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": {}, + "type": "object" }, "QueryStringMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -2892,20 +2589,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -2913,13 +2611,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -2930,20 +2627,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2951,154 +2647,155 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for QueryString match conditions" + "type": "object" }, "RateLimitRule": { - "type": "object", + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] }, "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", "oneOf": [ { - "type": "integer", + "maximum": 60, "minimum": 0, - "maximum": 60 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit duration. Default is 1 minute." + ] }, "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 0 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines rate limit threshold." + ] } }, "required": [ - "action", - "matchConditions", + "rateLimitThreshold", + "rateLimitDurationInMinutes", "name", "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" + "matchConditions", + "action" ], - "description": "Defines a rate limiting rule that can be included in a waf policy" + "type": "object" }, "RateLimitRuleList": { - "type": "object", + "description": "Defines contents of rate limit rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/RateLimitRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of rate limit rules" + "type": "object" }, "RemoteAddressMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RemoteAddress match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3106,20 +2803,21 @@ ] }, "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3127,31 +2825,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "IPMatch", "GeoMatch" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3159,32 +2855,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RemoteAddress match conditions" + "type": "object" }, "RequestBodyMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3192,20 +2889,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3213,13 +2911,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3230,20 +2927,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3251,32 +2947,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestBody match conditions" + "type": "object" }, "RequestHeaderMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestHeader match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3284,20 +2981,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3305,13 +3003,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3322,24 +3019,23 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Header to be matched" + "description": "Name of Header to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3347,32 +3043,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3380,11 +3077,10 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -3393,16 +3089,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3410,40 +3108,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3451,24 +3148,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3476,40 +3174,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3517,20 +3214,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3538,13 +3236,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3555,20 +3252,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3576,88 +3272,89 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -3666,27 +3363,27 @@ "Standard_ChinaCdn", "Standard_Microsoft", "Premium_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3694,20 +3391,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3715,13 +3413,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3732,20 +3429,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3753,32 +3449,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, "UrlFileNameMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3786,20 +3483,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3807,13 +3505,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3824,20 +3521,19 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3845,32 +3541,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, "UrlPathMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlPath match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3878,20 +3575,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3899,13 +3597,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3917,20 +3614,19 @@ "GreaterThan", "GreaterThanOrEqual", "Wildcard" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3938,59 +3634,33 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, "UrlRedirectActionParameters": { - "type": "object", + "description": "Defines the parameters for the url redirect action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3998,98 +3668,71 @@ ] }, "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 #." + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" }, "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" }, "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." + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" }, "customQueryString": { - "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." + "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.", + "type": "string" }, "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", "oneOf": [ { - "type": "string", "enum": [ "MatchRequest", "Http", "Https" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "string", "enum": [ "Moved", "Found", "TemporaryRedirect", "PermanentRedirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] } }, "required": [ "@odata.type", "redirectType" ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, "UrlRewriteActionParameters": { - "type": "object", + "description": "Defines the parameters for the url rewrite action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4097,10 +3740,11 @@ ] }, "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" }, "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", "oneOf": [ { "type": "boolean" @@ -4108,58 +3752,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to preserve unmatched path. Default value is true." + ] }, "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." + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" } }, "required": [ "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - }, - "UrlSigningAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlSigning" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlSigningActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the Url Signing action." - } - }, - "required": [ - "name", - "parameters" + "sourcePattern", + "destination" ], - "description": "Defines the url signing action for the delivery rule." + "type": "object" }, "UrlSigningActionParameters": { - "type": "object", + "description": "Defines the parameters for the Url Signing action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4167,65 +3783,66 @@ ] }, "algorithm": { + "description": "Algorithm to use for URL signing", "oneOf": [ { - "type": "string", "enum": [ "SHA256" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Algorithm to use for URL signing." + ] }, "ipSubnets": { + "description": "Match values to match against. Supports CIDR ranges (both IPv4 and IPv6).", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match values to match against. Supports CIDR ranges (both IPv4 and IPv6)." + ] }, "keyId": { - "type": "string", - "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys" + "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys", + "type": "string" }, "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/UrlSigningParamIdentifier" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines which query string parameters in the url to be considered for expires, key id etc. " + ] } }, "required": [ "keyId" ], - "description": "Defines the parameters for the Url Signing action." + "type": "object" }, "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." + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" }, "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", "oneOf": [ { "$ref": "#/definitions/KeyVaultSigningKeyParameters" @@ -4233,45 +3850,219 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + ] } }, "required": [ "keyId", "keySourceParameters" ], - "description": "Url signing key" + "type": "object" }, "UrlSigningParamIdentifier": { - "type": "object", + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", "properties": { "paramIndicator": { + "description": "Indicates the purpose of the parameter", "oneOf": [ { - "type": "string", "enum": [ "Expires", "KeyId", "Signature" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the purpose of the parameter." + ] }, "paramName": { - "type": "string", - "description": "Parameter name" + "description": "Parameter name", + "type": "string" } }, "required": [ "paramIndicator", "paramName" ], - "description": "Defines how to identify a parameter for a specific purpose e.g. expires" + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2020-04-15" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2020-04-15" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2020-04-15" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2020-04-15" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2020-09-01/Microsoft.Cdn.json b/schemas/2020-09-01/Microsoft.Cdn.json index 87cc9479e4..f08935591d 100644 --- a/schemas/2020-09-01/Microsoft.Cdn.json +++ b/schemas/2020-09-01/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "CdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/CdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the CDN profile which is unique within the resource group." + "description": "Name of the CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,18 +104,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/profiles_endpoints_childResource" + "$ref": "#/definitions/profiles_secrets_childResource" }, { - "$ref": "#/definitions/profiles_customDomains_childResource" + "$ref": "#/definitions/profiles_ruleSets_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_childResource" }, { "$ref": "#/definitions/profiles_afdEndpoints_childResource" @@ -125,18 +125,17 @@ "$ref": "#/definitions/profiles_originGroups_childResource" }, { - "$ref": "#/definitions/profiles_ruleSets_childResource" + "$ref": "#/definitions/profiles_customDomains_childResource" }, { "$ref": "#/definitions/profiles_securityPolicies_childResource" - }, - { - "$ref": "#/definitions/profiles_secrets_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -144,59 +143,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_afdEndpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/AFDEndpointProperties" @@ -204,64 +201,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" + "type": "object" }, "profiles_afdEndpoints_routes": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the routing rule." + "description": "Name of the routing rule.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { "$ref": "#/definitions/RouteProperties" @@ -269,38 +265,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints/routes" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, "profiles_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { "$ref": "#/definitions/AFDDomainProperties" @@ -308,42 +304,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/customDomains" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -351,11 +347,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -368,53 +362,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -422,38 +417,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -461,38 +456,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -500,38 +495,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" }, "profiles_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/AFDOriginGroupProperties" @@ -539,48 +534,48 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_originGroups_origins_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups" + "type": "object" }, "profiles_originGroups_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." + "description": "Name of the origin that is unique within the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/AFDOriginProperties" @@ -588,75 +583,75 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" + "type": "object" }, "profiles_ruleSets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_ruleSets_rules_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets" + "type": "object" }, "profiles_ruleSets_rules": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets/rules", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { "$ref": "#/definitions/RuleProperties" @@ -664,38 +659,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Rules to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets/rules" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" + "type": "object" }, "profiles_secrets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/secrets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Secret under the profile." + "description": "Name of the Secret under the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { "$ref": "#/definitions/SecretProperties" @@ -703,38 +698,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Secret to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/secrets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/secrets" + "type": "object" }, "profiles_securityPolicies": { - "type": "object", + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2020-09-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the security policy under the profile." + "description": "Name of the security policy under the profile.", + "type": "string" }, "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyProperties" @@ -742,60 +737,60 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object that contains properties required to create a security policy" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/securityPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/securityPolicies" + "type": "object" } }, "definitions": { "AFDDomainHttpsParameters": { - "type": "object", + "description": "The JSON object that contains the properties to secure a domain.", "properties": { "certificateType": { + "description": "Defines the source of the SSL certificate.", "oneOf": [ { - "type": "string", "enum": [ "CustomerCertificate", "ManagedCertificate" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the source of the SSL certificate." + ] }, "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", "oneOf": [ { - "type": "string", "enum": [ "TLS10", "TLS12" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "TLS protocol version that will be used for Https." + ] }, "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -803,19 +798,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, "required": [ "certificateType" ], - "description": "The JSON object that contains the properties to secure a domain." + "type": "object" }, "AFDDomainProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the domain to create.", "properties": { "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -823,14 +818,14 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "hostName": { - "type": "string", - "description": "The host name of the domain. Must be a domain name." + "description": "The host name of the domain. Must be a domain name.", + "type": "string" }, "tlsSettings": { + "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.", "oneOf": [ { "$ref": "#/definitions/AFDDomainHttpsParameters" @@ -838,52 +833,52 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to secure a domain." + ] } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the domain to create." + "type": "object" }, "AFDEndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] }, "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "oneOf": [ { - "type": "integer", - "minimum": 16 + "minimum": 16, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns." + ] } }, - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "AFDOriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -891,10 +886,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", "oneOf": [ { "$ref": "#/definitions/LoadBalancingSettingsParameters" @@ -902,10 +897,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Round-Robin load balancing settings for a backend pool" + ] }, "responseBasedAfdOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -913,44 +908,44 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "AFDOriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -958,72 +953,72 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "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", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", "oneOf": [ { "$ref": "#/definitions/SharedPrivateLinkResourceProperties" @@ -1031,38 +1026,34 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "required": [ - "hostName" - ], - "description": "The JSON object that contains the properties of the origin." + "type": "object" }, "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1070,38 +1061,38 @@ ] }, "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] } }, "required": [ @@ -1109,18 +1100,18 @@ "cacheBehavior", "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1128,37 +1119,38 @@ ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] } }, "required": [ "@odata.type", "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -1166,10 +1158,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -1177,10 +1169,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -1188,10 +1180,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -1199,30 +1191,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "CompressionSettings": { - "type": "object", + "description": "settings for compression.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "isCompressionEnabled": { + "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.", "oneOf": [ { "type": "boolean" @@ -1230,22 +1222,21 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "settings for compression." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1253,20 +1244,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1274,13 +1266,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1292,24 +1283,23 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1317,198 +1307,140 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." + "type": "object" }, - "CustomerCertificateParameters": { - "type": "object", + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { - "certificateAuthority": { - "type": "string", - "description": "Certificate issuing authority." - }, - "secretSource": { + "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" + ] }, - "subjectAlternativeNames": { + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of SANs." - }, - "type": { - "type": "string", - "enum": [ - "CustomerCertificate" ] }, - "useLatestVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to use the latest version for the certificate" - } - }, - "required": [ - "secretSource", - "type" - ], - "description": "Customer Certificate used for https" - }, - "CustomRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -1516,23 +1448,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -1540,19 +1472,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -1560,24 +1492,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -1585,32 +1517,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -1618,127 +1550,127 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -1746,1087 +1678,1298 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlSigningAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/OriginGroupOverrideAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the cache-key query string action for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" ] }, - "parameters": { + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { - "$ref": "#/definitions/QueryStringMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" ] }, - "parameters": { + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" ] }, - "parameters": { + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" ] }, - "parameters": { + "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.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" ] }, - "parameters": { + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" ] }, - "parameters": { + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" ] }, - "parameters": { + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" ] }, - "parameters": { + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", "oneOf": [ { - "$ref": "#/definitions/RequestUriMatchConditionParameters" + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" ] }, - "parameters": { + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." + ] } }, "required": [ - "name", - "parameters" + "origins" ], - "description": "Defines the response header action for the delivery rule." + "type": "object" }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] + "description": { + "description": "User-friendly description of the policy.", + "type": "string" }, - "parameters": { + "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" + ] } }, "required": [ - "name", - "parameters" + "rules" ], - "description": "Defines the UrlFileExtension condition for the delivery rule." + "type": "object" }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + "enum": [ + "Block", + "Allow" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" ] }, - "parameters": { + "countryCodes": { + "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "$ref": "#/definitions/UrlPathMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlPath match conditions" + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ - "name", - "parameters" + "relativePath", + "action", + "countryCodes" ], - "description": "Defines the UrlPath condition for the delivery rule." + "type": "object" }, - "EndpointProperties": { - "type": "object", + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", "properties": { - "contentTypesToCompress": { + "@odata.type": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, - "defaultOriginGroup": { + "headerAction": { + "description": "Action to perform", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, - "deliveryPolicy": { + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "type": "object" + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + "maximum": 255, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, - "geoFilters": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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/" + ] }, - "isCompressionEnabled": { + "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "type": "boolean" + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { - "oneOf": [ - { - "type": "boolean" + ] + } + }, + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, - "isHttpsAllowed": { + "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "boolean" + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, - "originGroups": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeepCreatedOriginGroup" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." - }, - "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." - }, - "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + ] }, - "origins": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." - }, - "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." + ] }, - "queryStringCachingBehavior": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - }, - "urlSigningKeys": { + ] + } + }, + "required": [ + "@odata.type", + "operator" + ], + "type": "object" + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "properties": { + "@odata.type": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/UrlSigningKey" - } + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of keys used to validate the signed URL hashes." + ] }, - "webApplicationFirewallPolicyLink": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + "items": { + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" - } - }, - "required": [ - "origins" - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "EndpointPropertiesUpdateParametersDeliveryPolicy": { - "type": "object", - "properties": { - "description": { - "type": "string", - "description": "User-friendly description of the policy." + ] }, - "rules": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DeliveryRule" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." - } - }, - "required": [ - "rules" - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" - }, - "GeoFilter": { - "type": "object", - "properties": { - "action": { + ] + }, + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Block", - "Allow" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, - "countryCodes": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + ] } }, "required": [ - "action", - "countryCodes", - "relativePath" + "@odata.type", + "operator" ], - "description": "Rules defining user's geo access within a CDN endpoint." + "type": "object" }, - "HeaderActionParameters": { - "type": "object", + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] + "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" }, - "value": { - "type": "string", - "description": "Value for the specified action" + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" } }, "required": [ "@odata.type", - "headerAction", - "headerName" + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, - "HealthProbeParameters": { - "type": "object", + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", "properties": { - "probeIntervalInSeconds": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." - }, - "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + ] }, - "probeProtocol": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "Http", - "Https" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, - "probeRequestType": { + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "GET", - "HEAD" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, - "HttpErrorRangeParameters": { - "type": "object", + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", "properties": { - "begin": { - "oneOf": [ - { - "type": "integer", - "minimum": 100, - "maximum": 999 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The inclusive start of the http status code range." + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" }, - "end": { + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "integer", - "minimum": 100, - "maximum": 999 + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "required": [ + "ruleGroupName" + ], + "type": "object" }, - "HttpVersionMatchConditionParameters": { - "type": "object", + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", "properties": { - "@odata.type": { + "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "matchValues": { + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "boolean" + "maximum": 20, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "string", - "enum": [ - "Equal" - ] + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ - "@odata.type", - "operator" + "ruleSetType", + "ruleSetVersion" ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, - "IsDeviceMatchConditionParameters": { - "type": "object", + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", "properties": { - "@odata.type": { + "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - }, - "matchValues": { + } + }, + "type": "object" + }, + "MatchCondition": { + "description": "Define match conditions", + "properties": { + "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Mobile", - "Desktop" - ] - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] + }, + "matchVariable": { + "description": "Match variable to compare against.", + "oneOf": [ + { + "enum": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "RemoteAddr", + "SocketAddr" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, "negateCondition": { + "description": "Describes if the result of this condition should be negated.", "oneOf": [ { "type": "boolean" @@ -2834,29 +2977,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -2864,307 +3020,308 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ - "@odata.type", - "operator" + "matchVariable", + "operator", + "matchValue" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, - "KeyVaultSigningKeyParameters": { - "type": "object", + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" - ] + "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "resourceGroupName": { - "type": "string", - "description": "Resource group 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." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" - }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, "required": [ "@odata.type", - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "vaultName" + "originGroup" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "object" }, - "LoadBalancingSettingsParameters": { - "type": "object", + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", "properties": { - "additionalLatencyInMilliseconds": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/HealthProbeParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket" + ] }, - "sampleSize": { + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "integer" + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples to consider for load balancing decisions" + ] }, - "successfulSamplesRequired": { + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples within the sample period that must succeed" - } - }, - "description": "Round-Robin load balancing settings for a backend pool" - }, - "ManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "ManagedCertificate" ] - } - }, - "required": [ - "type" - ], - "description": "Managed Certificate used for https" - }, - "ManagedRuleGroupOverride": { - "type": "object", - "properties": { - "ruleGroupName": { - "type": "string", - "description": "Describes the managed rule group within the rule set to override" }, - "rules": { + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleOverride" - } + "maximum": 50, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled." + ] } }, - "required": [ - "ruleGroupName" - ], - "description": "Defines a managed rule group override setting." + "type": "object" }, - "ManagedRuleOverride": { - "type": "object", + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", "properties": { - "action": { + "enabled": { + "description": "Origin is enabled for load balancing or not", "oneOf": [ { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] }, - "enabledState": { + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] + "maximum": 65535, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, - "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." - } - }, - "required": [ - "ruleId" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleSet": { - "type": "object", - "properties": { - "anomalyScore": { + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 20 + "maximum": 65535, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." + ] }, - "ruleGroupOverrides": { + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } + "maximum": 5, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the rule overrides to apply to the rule set." + ] }, - "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, - "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." - } - }, - "required": [ - "ruleSetType", - "ruleSetVersion" - ], - "description": "Defines a managed rule set." + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, - "ManagedRuleSetList": { - "type": "object", + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", "properties": { - "managedRuleSets": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "oneOf": [ + { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "oneOf": [ + { + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, - "MatchCondition": { - "type": "object", + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", "properties": { - "matchValue": { + "@odata.type": { "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of possible match values." + ] }, - "matchVariable": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "string", - "enum": [ - "RemoteAddress", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "RequestScheme", - "UrlPath", - "UrlFileExtension", - "UrlFileName", - "HttpVersion", - "Cookies", - "IsDevice", - "RemoteAddr", - "SocketAddr" - ] + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3172,44 +3329,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch", - "GeoMatch", "Equal", "Contains", + "BeginsWith", + "EndsWith", "LessThan", - "GreaterThan", "LessThanOrEqual", + "GreaterThan", "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3217,305 +3370,339 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] } }, "required": [ - "matchValue", - "matchVariable", + "@odata.type", "operator" ], - "description": "Define match conditions" + "type": "object" }, - "OriginGroupOverrideAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the origin group override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the origin group override action for the delivery rule." + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": {}, + "type": "object" }, - "OriginGroupOverrideActionParameters": { - "type": "object", + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" - ] + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "originGroup": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - } - }, - "required": [ - "@odata.type", - "originGroup" - ], - "description": "Defines the parameters for the origin group override action." - }, - "OriginGroupProperties": { - "type": "object", - "properties": { - "healthProbeSettings": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/HealthProbeParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, - "origins": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, - "responseBasedOriginErrorDetectionSettings": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, - "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 50 + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "required": [ + "@odata.type", + "operator" + ], + "type": "object" }, - "OriginProperties": { - "type": "object", + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { - "enabled": { + "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "boolean" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" - }, - "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": { + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, - "httpsPort": { + "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "name": { + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 5 + "maximum": 1000, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" - }, - "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" - }, - "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + ] }, - "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "oneOf": [ + { + "maximum": 60, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "weight": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 1000 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "description": "The JSON object that contains the properties of the origin." + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" }, - "PolicySettings": { - "type": "object", + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", "properties": { - "defaultCustomBlockResponseBody": { + "rules": { + "description": "List of rules", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "defaultCustomBlockResponseStatusCode": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "integer" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." + ] }, - "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "enabledState": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Disabled", - "Enabled" - ] + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, - "mode": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "string", - "enum": [ - "Prevention", - "Detection" - ] + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "required": [ + "@odata.type", + "operator" + ], + "type": "object" }, - "PostArgsMatchConditionParameters": { - "type": "object", + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3523,20 +3710,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3544,13 +3732,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -3562,24 +3749,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3587,1075 +3769,141 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." + "type": "object" }, - "profiles_afdEndpoints_childResource": { - "type": "object", + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { + "@odata.type": { "oneOf": [ { - "$ref": "#/definitions/AFDEndpointProperties" + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, - "tags": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "afdEndpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" - }, - "profiles_afdEndpoints_routes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" ] }, - "name": { - "type": "string", - "description": "Name of the routing rule." - }, - "properties": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/RouteProperties" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." - }, - "type": { - "type": "string", - "enum": [ - "routes" ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" - }, - "profiles_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" + "selector": { + "description": "Name of Header to be matched", + "type": "string" }, - "properties": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "$ref": "#/definitions/AFDDomainProperties" + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" ] } }, "required": [ - "apiVersion", - "name", - "properties", - "type" + "@odata.type", + "operator" ], - "description": "Microsoft.Cdn/profiles/customDomains" + "type": "object" }, - "profiles_endpoints_childResource": { - "type": "object", + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { + "@odata.type": { "oneOf": [ { - "$ref": "#/definitions/EndpointProperties" + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, - "tags": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -4664,16 +3912,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4681,40 +3931,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4722,24 +3971,25 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4747,40 +3997,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4788,20 +4037,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4809,13 +4059,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -4827,20 +4076,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -4848,85 +4096,87 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "RouteProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Routes to create.", "properties": { "compressionSettings": { + "description": "compression settings.", "oneOf": [ { "$ref": "#/definitions/CompressionSettings" @@ -4934,85 +4184,85 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "settings for compression." + ] }, "customDomains": { + "description": "Domains referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Domains referenced by this endpoint." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] }, "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] }, "httpsRedirect": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "whether this route will be linked to the default endpoint domain." + ] }, "originGroup": { + "description": "A reference to the origin group.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5020,128 +4270,125 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "originPath": { - "type": "string", - "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "patternsToMatch": { + "description": "The route patterns of the rule.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The route patterns of the rule." + ] }, "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "NotSet" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "ruleSets": { + "description": "rule sets referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "rule sets referenced by this endpoint." + ] }, "supportedProtocols": { + "description": "List of supported protocols for this route.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Http", "Https" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of supported protocols for this route." + ] } }, - "required": [ - "originGroup" - ], - "description": "The JSON object that contains the properties of the Routes to create." + "type": "object" }, "RuleProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Rules to create.", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "oneOf": [ { - "type": "string", "enum": [ "Continue", "Stop" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue." + ] }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -5149,36 +4396,110 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "required": [ - "actions", - "order" - ], - "description": "The JSON object that contains the properties of the Rules to create." + "type": "object" }, "SecretParameters": { - "type": "object", + "description": "The json object containing secret parameters", "oneOf": [ { - "$ref": "#/definitions/UrlSigningKeyParameters" + "description": "Customer Certificate used for https", + "properties": { + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string" + }, + "secretSource": { + "description": "Resource reference to the KV secret", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" }, { - "$ref": "#/definitions/ManagedCertificateParameters" + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" }, { - "$ref": "#/definitions/CustomerCertificateParameters" + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "description": "Resource reference to the KV secret", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" } ], "properties": {}, - "description": "The json object containing secret parameters" + "type": "object" }, "SecretProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Secret to create.", "properties": { "parameters": { + "description": "object which contains secret parameters", "oneOf": [ { "$ref": "#/definitions/SecretParameters" @@ -5186,121 +4507,109 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing secret parameters" + ] } }, - "description": "The JSON object that contains the properties of the Secret to create." + "type": "object" }, "SecurityPolicyParameters": { - "type": "object", + "description": "The json object containing security policy parameters", "oneOf": [ { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" } ], "properties": {}, - "description": "The json object containing security policy parameters" + "type": "object" }, "SecurityPolicyProperties": { - "type": "object", + "description": "The json object that contains properties required to create a security policy", "properties": { "parameters": { + "description": "object which contains security policy parameters", "oneOf": [ { - "$ref": "#/definitions/SecurityPolicyParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object containing security policy parameters" - } - }, - "description": "The json object that contains properties required to create a security policy" - }, - "SecurityPolicyWebApplicationFirewallAssociation": { - "type": "object", - "properties": { - "domains": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of domains." - }, - "patternsToMatch": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/SecurityPolicyParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of paths" + ] } }, - "description": "settings for security policy patterns to match" + "type": "object" }, - "SecurityPolicyWebApplicationFirewallParameters": { - "type": "object", + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", "properties": { - "associations": { + "domains": { + "description": "List of domains.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" - } + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Waf associations" - }, - "type": { - "type": "string", - "enum": [ - "WebApplicationFirewall" ] }, - "wafPolicy": { + "patternsToMatch": { + "description": "List of paths", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, - "required": [ - "type" - ], - "description": "The json object containing security policy waf parameters" + "type": "object" }, "SharedPrivateLinkResourceProperties": { - "type": "object", + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", "properties": { "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" }, "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5308,45 +4617,44 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "privateLinkLocation": { - "type": "string", - "description": "The location of the shared private link resource" + "description": "The location of the shared private link resource", + "type": "string" }, "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" }, "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", "oneOf": [ { - "type": "string", "enum": [ "Pending", "Approved", "Rejected", "Disconnected", "Timeout" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout." + ] } }, - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + "type": "object" }, "Sku": { - "type": "object", + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.", "properties": { "name": { + "description": "Name of the pricing tier.", "oneOf": [ { - "type": "string", "enum": [ "Standard_Verizon", "Premium_Verizon", @@ -5362,27 +4670,27 @@ "StandardPlus_ChinaCdn", "StandardPlus_955BandWidth_ChinaCdn", "StandardPlus_AvgBandWidth_ChinaCdn" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + "type": "object" }, "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5390,20 +4698,21 @@ ] }, "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5411,13 +4720,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -5429,566 +4737,982 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "@odata.type", + "operator" + ], + "type": "object" + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "properties": { + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "@odata.type", + "operator" + ], + "type": "object" + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "properties": { + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "@odata.type", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "@odata.type": { + "oneOf": [ + { + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ "@odata.type", - "operator" + "redirectType" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, - "UrlFileNameMatchConditionParameters": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { "@odata.type": { "oneOf": [ { - "type": "string", "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "matchValues": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + } + }, + "required": [ + "@odata.type", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "@odata.type": { "oneOf": [ { - "type": "boolean" + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "algorithm": { + "description": "Algorithm to use for URL signing", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "SHA256" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] } }, "required": [ - "@odata.type", - "operator" + "@odata.type" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, - "UrlPathMatchConditionParameters": { - "type": "object", + "UrlSigningKey": { + "description": "Url signing key", "properties": { - "@odata.type": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] + "$ref": "#/definitions/KeyVaultSigningKeyParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - }, - "matchValues": { + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2020-09-01" ], - "description": "Describes if this is negate condition or not" + "type": "string" }, - "operator": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard", - "RegEx" - ] + "$ref": "#/definitions/AFDEndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "afdEndpoints" ], - "description": "List of transforms" + "type": "string" } }, "required": [ - "@odata.type", - "operator" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" }, - "UrlRedirectAction": { - "type": "object", + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRedirect" - ] + "2020-09-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectActionParameters" + "$ref": "#/definitions/RouteProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "routes" ], - "description": "Defines the parameters for the url redirect action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, - "UrlRedirectActionParameters": { - "type": "object", + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] + "$ref": "#/definitions/AFDDomainProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "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 #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" }, - "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." + "location": { + "description": "Resource location.", + "type": "string" }, - "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." + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, - "destinationProtocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "MatchRequest", - "Http", - "Https" - ] + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + ] }, - "redirectType": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "Moved", - "Found", - "TemporaryRedirect", - "PermanentRedirect" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "endpoints" ], - "description": "The redirect type the rule will use when redirecting traffic." + "type": "string" } }, "required": [ - "@odata.type", - "redirectType" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRewrite" - ] + "2020-09-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "$ref": "#/definitions/CustomDomainPropertiesParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" ], - "description": "Defines the parameters for the url rewrite action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/OriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" }, - "preserveUnmatchedPath": { + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/OriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to preserve unmatched path. Default value is true." + ] }, - "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." + "type": { + "enum": [ + "origins" + ], + "type": "string" } }, "required": [ - "@odata.type", - "destination", - "sourcePattern" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" }, - "UrlSigningAction": { - "type": "object", + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlSigning" - ] + "2020-09-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "$ref": "#/definitions/UrlSigningActionParameters" + "$ref": "#/definitions/AFDOriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "originGroups" ], - "description": "Defines the parameters for the Url Signing action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url signing action for the delivery rule." + "type": "object" }, - "UrlSigningActionParameters": { - "type": "object", + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", "properties": { - "@odata.type": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" - ] + "$ref": "#/definitions/AFDOriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2020-09-01" ], - "description": "Algorithm to use for URL signing." + "type": "string" }, - "parameterNameOverride": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/UrlSigningParamIdentifier" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" ], - "description": "Defines which query string parameters in the url to be considered for expires, key id etc. " + "type": "string" } }, "required": [ - "@odata.type" + "name", + "apiVersion", + "type" ], - "description": "Defines the parameters for the Url Signing action." + "type": "object" }, - "UrlSigningKey": { - "type": "object", + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", "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." + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" }, - "keySourceParameters": { + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { - "$ref": "#/definitions/KeyVaultSigningKeyParameters" + "$ref": "#/definitions/RuleProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "rules" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "string" } }, "required": [ - "keyId", - "keySourceParameters" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Url signing key" + "type": "object" }, - "UrlSigningKeyParameters": { - "type": "object", + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", "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." + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" }, - "secretSource": { + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/SecretProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" + ] }, "type": { - "type": "string", "enum": [ - "UrlSigningKey" - ] + "secrets" + ], + "type": "string" } }, "required": [ - "keyId", - "secretSource", + "name", + "properties", + "apiVersion", "type" ], - "description": "Url signing key parameters" + "type": "object" }, - "UrlSigningParamIdentifier": { - "type": "object", + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { - "paramIndicator": { + "apiVersion": { + "enum": [ + "2020-09-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { - "type": "string", - "enum": [ - "Expires", - "KeyId", - "Signature" - ] + "$ref": "#/definitions/SecurityPolicyProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the purpose of the parameter." + ] }, - "paramName": { - "type": "string", - "description": "Parameter name" + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" } }, "required": [ - "paramIndicator", - "paramName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines how to identify a parameter for a specific purpose e.g. expires" + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2021-06-01/Microsoft.Cdn.json b/schemas/2021-06-01/Microsoft.Cdn.json index c6b007a20b..33e5335c13 100644 --- a/schemas/2021-06-01/Microsoft.Cdn.json +++ b/schemas/2021-06-01/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "cdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,38 +104,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/profiles_customDomains_childResource" + "$ref": "#/definitions/profiles_secrets_childResource" }, { - "$ref": "#/definitions/profiles_afdEndpoints_childResource" + "$ref": "#/definitions/profiles_ruleSets_childResource" }, { - "$ref": "#/definitions/profiles_originGroups_childResource" + "$ref": "#/definitions/profiles_endpoints_childResource" }, { - "$ref": "#/definitions/profiles_ruleSets_childResource" + "$ref": "#/definitions/profiles_afdEndpoints_childResource" }, { - "$ref": "#/definitions/profiles_securityPolicies_childResource" + "$ref": "#/definitions/profiles_originGroups_childResource" }, { - "$ref": "#/definitions/profiles_secrets_childResource" + "$ref": "#/definitions/profiles_customDomains_childResource" }, { - "$ref": "#/definitions/profiles_endpoints_childResource" + "$ref": "#/definitions/profiles_securityPolicies_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -144,59 +143,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_afdEndpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/AFDEndpointProperties" @@ -204,64 +201,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" + "type": "object" }, "profiles_afdEndpoints_routes": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the routing rule." + "description": "Name of the routing rule.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { "$ref": "#/definitions/RouteProperties" @@ -269,38 +265,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints/routes" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, "profiles_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { "$ref": "#/definitions/AFDDomainProperties" @@ -308,42 +304,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/customDomains" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -351,11 +347,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -368,53 +362,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -422,38 +417,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -461,38 +456,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -500,38 +495,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" }, "profiles_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/AFDOriginGroupProperties" @@ -539,48 +534,48 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_originGroups_origins_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups" + "type": "object" }, "profiles_originGroups_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." + "description": "Name of the origin that is unique within the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/AFDOriginProperties" @@ -588,75 +583,75 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" + "type": "object" }, "profiles_ruleSets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_ruleSets_rules_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets" + "type": "object" }, "profiles_ruleSets_rules": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets/rules", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { "$ref": "#/definitions/RuleProperties" @@ -664,38 +659,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Rules to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets/rules" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" + "type": "object" }, "profiles_secrets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/secrets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Secret under the profile." + "description": "Name of the Secret under the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { "$ref": "#/definitions/SecretProperties" @@ -703,38 +698,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Secret to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/secrets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/secrets" + "type": "object" }, "profiles_securityPolicies": { - "type": "object", + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2021-06-01" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the security policy under the profile." + "description": "Name of the security policy under the profile.", + "type": "string" }, "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyProperties" @@ -742,71 +737,61 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object that contains properties required to create a security policy" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/securityPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/securityPolicies" + "type": "object" } }, "definitions": { - "ActivatedResourceReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Reference to another resource along with its state." - }, "AFDDomainHttpsParameters": { - "type": "object", + "description": "The JSON object that contains the properties to secure a domain.", "properties": { "certificateType": { + "description": "Defines the source of the SSL certificate.", "oneOf": [ { - "type": "string", "enum": [ "CustomerCertificate", "ManagedCertificate", "AzureFirstPartyManagedCertificate" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the source of the SSL certificate." + ] }, "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", "oneOf": [ { - "type": "string", "enum": [ "TLS10", "TLS12" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "TLS protocol version that will be used for Https." + ] }, "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -814,19 +799,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, "required": [ "certificateType" ], - "description": "The JSON object that contains the properties to secure a domain." + "type": "object" }, "AFDDomainProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the domain to create.", "properties": { "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -834,14 +819,14 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "hostName": { - "type": "string", - "description": "The host name of the domain. Must be a domain name." + "description": "The host name of the domain. Must be a domain name.", + "type": "string" }, "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -849,10 +834,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "tlsSettings": { + "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.", "oneOf": [ { "$ref": "#/definitions/AFDDomainHttpsParameters" @@ -860,57 +845,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to secure a domain." + ] } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the domain to create." + "type": "object" }, "AFDEndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", "oneOf": [ { - "type": "string", "enum": [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] } }, - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "AFDOriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -918,10 +903,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", "oneOf": [ { "$ref": "#/definitions/LoadBalancingSettingsParameters" @@ -929,44 +914,44 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Round-Robin load balancing settings for a backend pool" + ] }, "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "AFDOriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -974,84 +959,83 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Whether to enable certificate name check at origin level", "oneOf": [ { - "type": "boolean", - "default": true + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable certificate name check at origin level" + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "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", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", "oneOf": [ { "$ref": "#/definitions/SharedPrivateLinkResourceProperties" @@ -1059,32 +1043,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "required": [ - "hostName" - ], - "description": "The JSON object that contains the properties of the origin." + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" }, "AfdRouteCacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "compressionSettings": { + "description": "compression settings.", "oneOf": [ { "$ref": "#/definitions/CompressionSettings" @@ -1092,154 +1083,138 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "settings for compression." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - } - }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." - }, - "AzureFirstPartyManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "AzureFirstPartyManagedCertificate" ] } }, - "required": [ - "type" - ], - "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS." + "type": "object" }, "CacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "HonorOrigin", "OverrideAlways", "OverrideIfOriginMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "isCompressionEnabled": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + "type": "object" }, "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1248,43 +1223,43 @@ } }, "required": [ + "typeName", "cacheBehavior", - "cacheType", - "typeName" + "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1293,15 +1268,16 @@ } }, "required": [ - "queryStringBehavior", - "typeName" + "typeName", + "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -1309,10 +1285,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -1320,10 +1296,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -1331,10 +1307,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -1342,30 +1318,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "ClientPortMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for ClientPort match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1373,13 +1349,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1391,20 +1366,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1412,22 +1386,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleClientPortConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1436,29 +1411,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" }, "CompressionSettings": { - "type": "object", + "description": "settings for compression.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "isCompressionEnabled": { + "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.", "oneOf": [ { "type": "boolean" @@ -1466,30 +1442,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "settings for compression." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1497,13 +1473,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1515,24 +1490,23 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1540,22 +1514,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1564,183 +1539,128 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "CustomerCertificateParameters": { - "type": "object", - "properties": { - "secretSource": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" - }, - "subjectAlternativeNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of SANs." - }, - "type": { - "type": "string", - "enum": [ - "CustomerCertificate" - ] - }, - "useLatestVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to use the latest version for the certificate" - } - }, - "required": [ - "secretSource", - "type" - ], - "description": "Customer Certificate used for https" + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -1748,23 +1668,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -1772,19 +1692,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -1792,24 +1712,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -1817,32 +1737,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -1850,127 +1770,127 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -1978,1311 +1898,1569 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlSigningAction" - }, - { - "$ref": "#/definitions/OriginGroupOverrideAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRouteConfigurationOverrideAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache-key query string action for the delivery rule." - }, - "DeliveryRuleClientPortCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ClientPort" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/ClientPortMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the ClientPort condition for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" - }, + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSocketAddrCondition" + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleClientPortCondition" + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleServerPortCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHostNameCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSslProtocolCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHostNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HostName" ] }, - "parameters": { + "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { - "$ref": "#/definitions/HostNameMatchConditionParameters" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HostName match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HostName condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" ] }, - "parameters": { + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/QueryStringMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" ] }, - "parameters": { + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" ] }, - "parameters": { + "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.", "oneOf": [ { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" ] }, - "parameters": { + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" ] }, - "parameters": { + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" ] }, - "parameters": { + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" ] }, - "parameters": { + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", "oneOf": [ { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" ] }, - "parameters": { + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { - "$ref": "#/definitions/RequestUriMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestUri match conditions" + ] } }, "required": [ - "name", - "parameters" + "origins" ], - "description": "Defines the RequestUri condition for the delivery rule." + "type": "object" }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] + "description": { + "description": "User-friendly description of the policy.", + "type": "string" }, - "parameters": { + "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." + ] } }, "required": [ - "name", - "parameters" + "rules" ], - "description": "Defines the response header action for the delivery rule." + "type": "object" }, - "DeliveryRuleRouteConfigurationOverrideAction": { - "type": "object", + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { - "name": { - "type": "string", - "enum": [ - "RouteConfigurationOverride" - ] - }, - "parameters": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + "enum": [ + "Block", + "Allow" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the route configuration override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles." - }, - "DeliveryRuleServerPortCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ServerPort" ] }, - "parameters": { + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "$ref": "#/definitions/ServerPortMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for ServerPort match conditions" + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ - "name", - "parameters" + "relativePath", + "action", + "countryCodes" ], - "description": "Defines the ServerPort condition for the delivery rule." + "type": "object" }, - "DeliveryRuleSocketAddrCondition": { - "type": "object", + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", "properties": { - "name": { - "type": "string", - "enum": [ - "SocketAddr" - ] - }, - "parameters": { + "headerAction": { + "description": "Action to perform", "oneOf": [ { - "$ref": "#/definitions/SocketAddrMatchConditionParameters" + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SocketAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the SocketAddress condition for the delivery rule." - }, - "DeliveryRuleSslProtocolCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "SslProtocol" ] }, - "parameters": { + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { "oneOf": [ { - "$ref": "#/definitions/SslProtocolMatchConditionParameters" + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SslProtocol match conditions" + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" } }, "required": [ - "name", - "parameters" + "typeName", + "headerAction", + "headerName" ], - "description": "Defines the SslProtocol condition for the delivery rule." + "type": "object" }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", "oneOf": [ { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + "maximum": 255, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" ] }, - "parameters": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" ] }, - "parameters": { + "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "$ref": "#/definitions/UrlPathMatchConditionParameters" + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlPath match conditions" + ] } }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." + "type": "object" }, - "EndpointProperties": { - "type": "object", + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", "properties": { - "contentTypesToCompress": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, - "defaultOriginGroup": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, - "deliveryPolicy": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, - "geoFilters": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", "oneOf": [ { - "type": "boolean" + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, - "optimizationType": { + "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - }, - "originGroups": { + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeepCreatedOriginGroup" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." - }, - "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." - }, - "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + ] }, - "origins": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." - }, - "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." + ] }, - "queryStringCachingBehavior": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, - "urlSigningKeys": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/UrlSigningKey" - } + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of keys used to validate the signed URL hashes." + ] }, - "webApplicationFirewallPolicyLink": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ - "origins" + "typeName", + "operator" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, - "EndpointPropertiesUpdateParametersDeliveryPolicy": { - "type": "object", + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", "properties": { - "description": { - "type": "string", - "description": "User-friendly description of the policy." - }, - "rules": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRule" - } + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." - } - }, - "required": [ - "rules" - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" - }, - "GeoFilter": { - "type": "object", - "properties": { - "action": { + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Block", - "Allow" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, - "countryCodes": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US." + ] }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "headerAction": { + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Append", - "Overwrite", - "Delete" - ] + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHeaderActionParameters" - ] + "KeyVaultSigningKeyParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "value": { - "type": "string", - "description": "Value for the specified action" + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" } }, "required": [ - "headerAction", - "headerName", - "typeName" + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, - "HealthProbeParameters": { - "type": "object", + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", "properties": { - "probeIntervalInSeconds": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." - }, - "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + ] }, - "probeProtocol": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "Http", - "Https" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, - "probeRequestType": { + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "GET", - "HEAD" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, - "HostNameMatchConditionParameters": { - "type": "object", + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", "properties": { - "matchValues": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "boolean" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "maximum": 20, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleHostNameConditionParameters" - ] + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ - "operator", - "typeName" + "ruleSetType", + "ruleSetVersion" ], - "description": "Defines the parameters for HostName match conditions" + "type": "object" }, - "HttpErrorRangeParameters": { - "type": "object", + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", "properties": { - "begin": { - "oneOf": [ - { - "type": "integer", - "minimum": 100, - "maximum": 999 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The inclusive start of the http status code range." - }, - "end": { + "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "integer", - "minimum": 100, - "maximum": 999 + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "type": "object" }, - "HttpVersionMatchConditionParameters": { - "type": "object", + "MatchCondition": { + "description": "Define match conditions", "properties": { - "matchValues": { + "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3290,22 +3468,48 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" - }, - "typeName": { + ] + } + }, + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "type": "object" + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "properties": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHttpVersionConditionParameters" - ] + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3313,87 +3517,88 @@ ] } }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, - "IsDeviceMatchConditionParameters": { - "type": "object", + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", "properties": { - "matchValues": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Mobile", - "Desktop" - ] - } + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "typeName", + "originGroup" + ], + "type": "object" + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "Equal" - ] + "$ref": "#/definitions/HealthProbeParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, - "transforms": { + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleIsDeviceConditionParameters" - ] + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3401,290 +3606,190 @@ ] } }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, - "KeyVaultSigningKeyParameters": { - "type": "object", + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", "properties": { - "resourceGroupName": { - "type": "string", - "description": "Resource group 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." + "enabled": { + "description": "Origin is enabled for load balancing or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" + "hostName": { + "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.", + "type": "string" }, - "typeName": { + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "string", - "enum": [ - "KeyVaultSigningKeyParameters" - ] + "maximum": 65535, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" - } - }, - "required": [ - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "typeName", - "vaultName" - ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." - }, - "LoadBalancingSettingsParameters": { - "type": "object", - "properties": { - "additionalLatencyInMilliseconds": { + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { + "maximum": 65535, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket" + ] }, - "sampleSize": { + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", "oneOf": [ { + "maximum": 5, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples to consider for load balancing decisions" + ] }, - "successfulSamplesRequired": { + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { + "maximum": 1000, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples within the sample period that must succeed" - } - }, - "description": "Round-Robin load balancing settings for a backend pool" - }, - "ManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "ManagedCertificate" ] } }, - "required": [ - "type" - ], - "description": "Managed Certificate used for https" + "type": "object" }, - "ManagedRuleGroupOverride": { - "type": "object", + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", "properties": { - "ruleGroupName": { - "type": "string", - "description": "Describes the managed rule group within the rule set to override" - }, - "rules": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleOverride" - } + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled." - } - }, - "required": [ - "ruleGroupName" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleOverride": { - "type": "object", - "properties": { - "action": { + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" }, "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, - "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." - } - }, - "required": [ - "ruleId" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleSet": { - "type": "object", - "properties": { - "anomalyScore": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 20 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." - }, - "ruleGroupOverrides": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the rule overrides to apply to the rule set." - }, - "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." - }, - "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." - } - }, - "required": [ - "ruleSetType", - "ruleSetVersion" - ], - "description": "Defines a managed rule set." - }, - "ManagedRuleSetList": { - "type": "object", - "properties": { - "managedRuleSets": { + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, - "MatchCondition": { - "type": "object", + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", "properties": { - "matchValue": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of possible match values." - }, - "matchVariable": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RemoteAddr", - "SocketAddr", - "RequestMethod", - "RequestHeader", - "RequestUri", - "QueryString", - "RequestBody", - "Cookies", - "PostArgs" - ] + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3692,44 +3797,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch", - "GeoMatch", "Equal", "Contains", + "BeginsWith", + "EndsWith", "LessThan", - "GreaterThan", "LessThanOrEqual", + "GreaterThan", "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3737,104 +3838,134 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, "required": [ - "matchValue", - "matchVariable", + "typeName", "operator" ], - "description": "Define match conditions" + "type": "object" }, - "OriginGroupOverride": { - "type": "object", + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", "properties": { - "forwardingProtocol": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "oneOf": [ { - "type": "string", - "enum": [ - "HttpOnly", - "HttpsOnly", - "MatchRequest" - ] + "minimum": 16, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] + } + }, + "type": "object" + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "originGroup": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - } - }, - "description": "Defines the parameters for the origin group override configuration." - }, - "OriginGroupOverrideAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" ] }, - "parameters": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the origin group override action for the delivery rule." - }, - "OriginGroupOverrideActionParameters": { - "type": "object", - "properties": { - "originGroup": { + ] + }, + "transforms": { + "description": "List of transforms", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleOriginGroupOverrideActionParameters" - ] + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3843,240 +3974,238 @@ } }, "required": [ - "originGroup", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for the origin group override action." + "type": "object" }, - "OriginGroupProperties": { - "type": "object", + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { - "healthProbeSettings": { + "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "$ref": "#/definitions/HealthProbeParameters" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, - "origins": { + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, - "responseBasedOriginErrorDetectionSettings": { + "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, - "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - } - }, - "description": "The JSON object that contains the properties of the origin group." - }, - "OriginProperties": { - "type": "object", - "properties": { - "enabled": { + ] + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", "oneOf": [ { - "type": "boolean" + "maximum": 60, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" - }, - "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": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." - }, - "httpsPort": { + ] + } + }, + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 5 + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" - }, - "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" - }, - "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" - }, - "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + ] }, - "weight": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" - } - }, - "description": "The JSON object that contains the properties of the origin." - }, - "PolicySettings": { - "type": "object", - "properties": { - "defaultCustomBlockResponseBody": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] }, - "defaultCustomBlockResponseStatusCode": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "integer" + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." - }, - "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + ] }, - "enabledState": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, - "mode": { + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Prevention", - "Detection" - ] + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "PostArgsMatchConditionParameters": { - "type": "object", + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4084,13 +4213,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -4102,24 +4230,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -4127,22 +4250,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRulePostArgsConditionParameters" - ] + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4151,922 +4275,164 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, - "ProfileProperties": { - "type": "object", + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", "properties": { - "originResponseTimeoutSeconds": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "integer", - "minimum": 16 + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns." - } - }, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_afdEndpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" ] }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "properties": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/AFDEndpointProperties" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, - "tags": { + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "afdEndpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" - }, - "profiles_afdEndpoints_routes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" ] }, - "name": { - "type": "string", - "description": "Name of the routing rule." - }, - "properties": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/RouteProperties" + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." - }, - "type": { - "type": "string", - "enum": [ - "routes" ] } }, "required": [ - "apiVersion", - "name", - "properties", - "type" + "typeName", + "operator" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, - "profiles_customDomains_childResource": { - "type": "object", + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" - }, - "properties": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/AFDDomainProperties" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/customDomains" - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", "enum": [ - "DeliveryRuleRemoteAddressConditionParameters" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5074,212 +4440,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { + ], "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestHeaderConditionParameters" - ] + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "POST", - "PUT", - "DELETE", - "OPTIONS", - "TRACE" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5287,34 +4464,35 @@ ] } }, - "required": [ - "operator", - "typeName" + "required": [ + "typeName", + "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5322,29 +4500,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5352,22 +4528,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5376,29 +4553,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5406,13 +4584,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -5424,20 +4601,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5445,22 +4621,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5469,74 +4646,75 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "RouteConfigurationOverrideActionParameters": { - "type": "object", + "description": "Defines the parameters for the route configuration override action.", "properties": { "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/CacheConfiguration" @@ -5544,10 +4722,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", "oneOf": [ { "$ref": "#/definitions/OriginGroupOverride" @@ -5555,16 +4733,15 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override configuration." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRouteConfigurationOverrideActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5575,12 +4752,13 @@ "required": [ "typeName" ], - "description": "Defines the parameters for the route configuration override action." + "type": "object" }, "RouteProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Routes to create.", "properties": { "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/AfdRouteCacheConfiguration" @@ -5588,85 +4766,85 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "customDomains": { + "description": "Domains referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Domains referenced by this endpoint." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] }, "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] }, "httpsRedirect": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "whether this route will be linked to the default endpoint domain." + ] }, "originGroup": { + "description": "A reference to the origin group.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5674,112 +4852,109 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "originPath": { - "type": "string", - "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "patternsToMatch": { + "description": "The route patterns of the rule.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The route patterns of the rule." + ] }, "ruleSets": { + "description": "rule sets referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "rule sets referenced by this endpoint." + ] }, "supportedProtocols": { + "description": "List of supported protocols for this route.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Http", "Https" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of supported protocols for this route." + ] } }, - "required": [ - "originGroup" - ], - "description": "The JSON object that contains the properties of the Routes to create." + "type": "object" }, "RuleProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Rules to create.", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "oneOf": [ { - "type": "string", "enum": [ "Continue", "Stop" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue." + ] }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -5787,39 +4962,111 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "required": [ - "actions", - "order" - ], - "description": "The JSON object that contains the properties of the Rules to create." + "type": "object" }, "SecretParameters": { - "type": "object", + "description": "The json object containing secret parameters", "oneOf": [ { - "$ref": "#/definitions/UrlSigningKeyParameters" + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": {}, + "type": "object" }, { - "$ref": "#/definitions/ManagedCertificateParameters" + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" }, { - "$ref": "#/definitions/CustomerCertificateParameters" + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" }, { - "$ref": "#/definitions/AzureFirstPartyManagedCertificateParameters" + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" } ], "properties": {}, - "description": "The json object containing secret parameters" + "type": "object" }, "SecretProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Secret to create.", "properties": { "parameters": { + "description": "object which contains secret parameters", "oneOf": [ { "$ref": "#/definitions/SecretParameters" @@ -5827,16 +5074,16 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing secret parameters" + ] } }, - "description": "The JSON object that contains the properties of the Secret to create." + "type": "object" }, "SecurityPolicyProperties": { - "type": "object", + "description": "The json object that contains properties required to create a security policy", "properties": { "parameters": { + "description": "object which contains security policy parameters", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyPropertiesParameters" @@ -5844,80 +5091,185 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing security policy parameters" + ] } }, - "description": "The json object that contains properties required to create a security policy" + "type": "object" }, "SecurityPolicyPropertiesParameters": { - "type": "object", + "description": "The json object containing security policy parameters", "oneOf": [ { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" } ], "properties": {}, - "description": "The json object containing security policy parameters" + "type": "object" }, "SecurityPolicyWebApplicationFirewallAssociation": { - "type": "object", + "description": "settings for security policy patterns to match", "properties": { "domains": { + "description": "List of domains.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of domains." + ] }, "patternsToMatch": { + "description": "List of paths", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of paths" + ] } }, - "description": "settings for security policy patterns to match" + "type": "object" }, - "SecurityPolicyWebApplicationFirewallParameters": { - "type": "object", + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", "properties": { - "associations": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Waf associations" + ] }, - "type": { - "type": "string", - "enum": [ - "WebApplicationFirewall" + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" }, - "wafPolicy": { + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5925,33 +5277,88 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, - "required": [ - "type" - ], - "description": "The json object containing security policy waf parameters" + "type": "object" }, - "ServerPortMatchConditionParameters": { - "type": "object", + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5959,38 +5366,28 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "IPMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5998,22 +5395,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleServerPortConditionParameters" - ] + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6022,108 +5420,119 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ServerPort match conditions" + "type": "object" }, - "SharedPrivateLinkResourceProperties": { - "type": "object", + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", "properties": { - "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." - }, - "privateLink": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the shared private link resource" + ] }, - "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "status": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected", - "Timeout" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout." - } - }, - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." - }, - "Sku": { - "type": "object", - "properties": { - "name": { + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { "oneOf": [ { - "type": "string", "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" - ] + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "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.\n" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "SocketAddrMatchConditionParameters": { - "type": "object", + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6131,30 +5540,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch" - ] + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6162,22 +5577,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSocketAddrConditionParameters" - ] + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6186,34 +5602,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SocketAddress match conditions" + "type": "object" }, - "SslProtocolMatchConditionParameters": { - "type": "object", + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6221,29 +5633,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6251,22 +5670,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSslProtocolConditionParameters" - ] + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6275,29 +5695,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SslProtocol match conditions" + "type": "object" }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6305,13 +5726,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -6322,21 +5742,21 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", + "Wildcard", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6344,22 +5764,95 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6368,91 +5861,92 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "redirectType" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, - "UrlFileNameMatchConditionParameters": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "matchValues": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "SHA256" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFilenameConditionParameters" - ] + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6461,441 +5955,597 @@ } }, "required": [ - "operator", "typeName" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, - "UrlPathMatchConditionParameters": { - "type": "object", + "UrlSigningKey": { + "description": "Url signing key", "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" }, - "negateCondition": { + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultSigningKeyParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard", - "RegEx" - ] + "Expires", + "KeyId", + "Signature" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2021-06-01" ], - "description": "Describes operator to be matched." + "type": "string" }, - "transforms": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/AFDEndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlPathMatchConditionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" } }, "required": [ - "operator", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" }, - "UrlRedirectAction": { - "type": "object", + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRedirect" - ] + "2021-06-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectActionParameters" + "$ref": "#/definitions/RouteProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "routes" ], - "description": "Defines the parameters for the url redirect action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, - "UrlRedirectActionParameters": { - "type": "object", + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { - "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 #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." + "apiVersion": { + "enum": [ + "2021-06-01" + ], + "type": "string" }, - "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." + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, - "destinationProtocol": { + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { - "type": "string", - "enum": [ - "MatchRequest", - "Http", - "Https" - ] + "$ref": "#/definitions/AFDDomainProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2021-06-01" ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + "type": "string" }, - "redirectType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Moved", - "Found", - "TemporaryRedirect", - "PermanentRedirect" - ] + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRedirectActionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" } }, "required": [ - "redirectType", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRewrite" - ] + "2021-06-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "$ref": "#/definitions/CustomDomainPropertiesParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" ], - "description": "Defines the parameters for the url rewrite action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2021-06-01" ], - "description": "Whether to preserve unmatched path. Default value is true." + "type": "string" }, - "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." + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, - "typeName": { + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/OriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" } }, "required": [ - "destination", - "sourcePattern", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" }, - "UrlSigningAction": { - "type": "object", + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlSigning" - ] + "2021-06-01" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "$ref": "#/definitions/UrlSigningActionParameters" + "$ref": "#/definitions/OriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "origins" ], - "description": "Defines the parameters for the Url Signing action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url signing action for the delivery rule." + "type": "object" }, - "UrlSigningActionParameters": { - "type": "object", + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2021-06-01" ], - "description": "Algorithm to use for URL signing." + "type": "string" }, - "parameterNameOverride": { + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/UrlSigningParamIdentifier" - } + "$ref": "#/definitions/AFDOriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2021-06-01" ], - "description": "Defines which query string parameters in the url to be considered for expires, key id etc. " + "type": "string" }, - "typeName": { + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlSigningActionParameters" - ] + "$ref": "#/definitions/AFDOriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" } }, "required": [ - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the Url Signing action." + "type": "object" }, - "UrlSigningKey": { - "type": "object", + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", "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." + "apiVersion": { + "enum": [ + "2021-06-01" + ], + "type": "string" }, - "keySourceParameters": { + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2021-06-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { - "$ref": "#/definitions/KeyVaultSigningKeyParameters" + "$ref": "#/definitions/RuleProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "rules" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "string" } }, "required": [ - "keyId", - "keySourceParameters" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Url signing key" + "type": "object" }, - "UrlSigningKeyParameters": { - "type": "object", + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", "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." + "apiVersion": { + "enum": [ + "2021-06-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" }, - "secretSource": { + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/SecretProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" + ] }, "type": { - "type": "string", "enum": [ - "UrlSigningKey" - ] + "secrets" + ], + "type": "string" } }, "required": [ - "keyId", - "secretSource", + "name", + "properties", + "apiVersion", "type" ], - "description": "Url signing key parameters" + "type": "object" }, - "UrlSigningParamIdentifier": { - "type": "object", + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { - "paramIndicator": { + "apiVersion": { + "enum": [ + "2021-06-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { - "type": "string", - "enum": [ - "Expires", - "KeyId", - "Signature" - ] + "$ref": "#/definitions/SecurityPolicyProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the purpose of the parameter." + ] }, - "paramName": { - "type": "string", - "description": "Parameter name" + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" } }, "required": [ - "paramIndicator", - "paramName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines how to identify a parameter for a specific purpose e.g. expires" + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2022-05-01-preview/Microsoft.Cdn.json b/schemas/2022-05-01-preview/Microsoft.Cdn.json index a6de87eac4..c382cb6167 100644 --- a/schemas/2022-05-01-preview/Microsoft.Cdn.json +++ b/schemas/2022-05-01-preview/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "cdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,59 +46,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -105,38 +104,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/profiles_customDomains_childResource" + "$ref": "#/definitions/profiles_secrets_childResource" }, { - "$ref": "#/definitions/profiles_afdEndpoints_childResource" + "$ref": "#/definitions/profiles_ruleSets_childResource" }, { - "$ref": "#/definitions/profiles_originGroups_childResource" + "$ref": "#/definitions/profiles_endpoints_childResource" }, { - "$ref": "#/definitions/profiles_ruleSets_childResource" + "$ref": "#/definitions/profiles_afdEndpoints_childResource" }, { - "$ref": "#/definitions/profiles_securityPolicies_childResource" + "$ref": "#/definitions/profiles_originGroups_childResource" }, { - "$ref": "#/definitions/profiles_secrets_childResource" + "$ref": "#/definitions/profiles_customDomains_childResource" }, { - "$ref": "#/definitions/profiles_endpoints_childResource" + "$ref": "#/definitions/profiles_securityPolicies_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -144,59 +143,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_afdEndpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/AFDEndpointProperties" @@ -204,64 +201,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" + "type": "object" }, "profiles_afdEndpoints_routes": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the routing rule." + "description": "Name of the routing rule.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { "$ref": "#/definitions/RouteProperties" @@ -269,38 +265,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints/routes" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, "profiles_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { "$ref": "#/definitions/AFDDomainProperties" @@ -308,42 +304,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/customDomains" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -351,11 +347,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -368,53 +362,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -422,38 +417,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -461,38 +456,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -500,38 +495,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" }, "profiles_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/AFDOriginGroupProperties" @@ -539,48 +534,48 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_originGroups_origins_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups" + "type": "object" }, "profiles_originGroups_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." + "description": "Name of the origin that is unique within the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/AFDOriginProperties" @@ -588,75 +583,75 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" + "type": "object" }, "profiles_ruleSets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_ruleSets_rules_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets" + "type": "object" }, "profiles_ruleSets_rules": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets/rules", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { "$ref": "#/definitions/RuleProperties" @@ -664,38 +659,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Rules to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets/rules" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" + "type": "object" }, "profiles_secrets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/secrets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Secret under the profile." + "description": "Name of the Secret under the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { "$ref": "#/definitions/SecretProperties" @@ -703,38 +698,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Secret to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/secrets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/secrets" + "type": "object" }, "profiles_securityPolicies": { - "type": "object", + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-05-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the security policy under the profile." + "description": "Name of the security policy under the profile.", + "type": "string" }, "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyProperties" @@ -742,71 +737,61 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object that contains properties required to create a security policy" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/securityPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/securityPolicies" + "type": "object" } }, "definitions": { - "ActivatedResourceReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Reference to another resource along with its state." - }, "AFDDomainHttpsParameters": { - "type": "object", + "description": "The JSON object that contains the properties to secure a domain.", "properties": { "certificateType": { + "description": "Defines the source of the SSL certificate.", "oneOf": [ { - "type": "string", "enum": [ "CustomerCertificate", "ManagedCertificate", "AzureFirstPartyManagedCertificate" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the source of the SSL certificate." + ] }, "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", "oneOf": [ { - "type": "string", "enum": [ "TLS10", "TLS12" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "TLS protocol version that will be used for Https." + ] }, "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -814,19 +799,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, "required": [ "certificateType" ], - "description": "The JSON object that contains the properties to secure a domain." + "type": "object" }, "AFDDomainProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the domain to create.", "properties": { "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -834,29 +819,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing migration properties for domains." + ] }, "hostName": { - "type": "string", - "description": "The host name of the domain. Must be a domain name." + "description": "The host name of the domain. Must be a domain name.", + "type": "string" }, "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -864,10 +849,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "tlsSettings": { + "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.", "oneOf": [ { "$ref": "#/definitions/AFDDomainHttpsParameters" @@ -875,57 +860,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to secure a domain." + ] } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the domain to create." + "type": "object" }, "AFDEndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", "oneOf": [ { - "type": "string", "enum": [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] } }, - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "AFDOriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -933,10 +918,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", "oneOf": [ { "$ref": "#/definitions/LoadBalancingSettingsParameters" @@ -944,44 +929,44 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Round-Robin load balancing settings for a backend pool" + ] }, "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "AFDOriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -989,84 +974,83 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Whether to enable certificate name check at origin level", "oneOf": [ { - "type": "boolean", - "default": true + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable certificate name check at origin level" + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "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", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", "oneOf": [ { "$ref": "#/definitions/SharedPrivateLinkResourceProperties" @@ -1074,32 +1058,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "required": [ - "hostName" - ], - "description": "The JSON object that contains the properties of the origin." + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" }, "AfdRouteCacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "compressionSettings": { + "description": "compression settings.", "oneOf": [ { "$ref": "#/definitions/CompressionSettings" @@ -1107,154 +1098,138 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "settings for compression." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - } - }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." - }, - "AzureFirstPartyManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "AzureFirstPartyManagedCertificate" ] } }, - "required": [ - "type" - ], - "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS." + "type": "object" }, "CacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "HonorOrigin", "OverrideAlways", "OverrideIfOriginMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "isCompressionEnabled": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + "type": "object" }, "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1263,43 +1238,43 @@ } }, "required": [ + "typeName", "cacheBehavior", - "cacheType", - "typeName" + "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1308,15 +1283,16 @@ } }, "required": [ - "queryStringBehavior", - "typeName" + "typeName", + "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -1324,25 +1300,25 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing additional properties for Web Application Firewall policy." + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -1350,10 +1326,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -1361,10 +1337,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -1372,30 +1348,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "ClientPortMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for ClientPort match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1403,13 +1379,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1421,20 +1396,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1442,22 +1416,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleClientPortConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1466,29 +1441,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" }, "CompressionSettings": { - "type": "object", + "description": "settings for compression.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "isCompressionEnabled": { + "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.", "oneOf": [ { "type": "boolean" @@ -1496,30 +1472,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "settings for compression." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1527,13 +1503,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1545,24 +1520,23 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1570,22 +1544,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1594,183 +1569,128 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "CustomerCertificateParameters": { - "type": "object", - "properties": { - "secretSource": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" - }, - "subjectAlternativeNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of SANs." - }, - "type": { - "type": "string", - "enum": [ - "CustomerCertificate" - ] - }, - "useLatestVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to use the latest version for the certificate" - } - }, - "required": [ - "secretSource", - "type" - ], - "description": "Customer Certificate used for https" + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -1778,23 +1698,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -1802,19 +1722,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -1822,24 +1742,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -1847,32 +1767,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -1880,127 +1800,127 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -2008,1311 +1928,1569 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlSigningAction" - }, - { - "$ref": "#/definitions/OriginGroupOverrideAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRouteConfigurationOverrideAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache-key query string action for the delivery rule." - }, - "DeliveryRuleClientPortCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ClientPort" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/ClientPortMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the ClientPort condition for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSocketAddrCondition" + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleClientPortCondition" + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleServerPortCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHostNameCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSslProtocolCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHostNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HostName" ] }, - "parameters": { + "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { - "$ref": "#/definitions/HostNameMatchConditionParameters" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HostName match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HostName condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" ] }, - "parameters": { + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/QueryStringMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" ] }, - "parameters": { + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" ] }, - "parameters": { + "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.", "oneOf": [ { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" ] }, - "parameters": { + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" ] }, - "parameters": { + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" ] }, - "parameters": { + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" ] }, - "parameters": { + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", "oneOf": [ { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" ] }, - "parameters": { + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { - "$ref": "#/definitions/RequestUriMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestUri match conditions" + ] } }, "required": [ - "name", - "parameters" + "origins" ], - "description": "Defines the RequestUri condition for the delivery rule." + "type": "object" }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] + "description": { + "description": "User-friendly description of the policy.", + "type": "string" }, - "parameters": { + "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." + ] } }, "required": [ - "name", - "parameters" + "rules" ], - "description": "Defines the response header action for the delivery rule." + "type": "object" }, - "DeliveryRuleRouteConfigurationOverrideAction": { - "type": "object", + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { - "name": { - "type": "string", - "enum": [ - "RouteConfigurationOverride" - ] - }, - "parameters": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + "enum": [ + "Block", + "Allow" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the route configuration override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles." - }, - "DeliveryRuleServerPortCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ServerPort" ] }, - "parameters": { + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "$ref": "#/definitions/ServerPortMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for ServerPort match conditions" + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ - "name", - "parameters" + "relativePath", + "action", + "countryCodes" ], - "description": "Defines the ServerPort condition for the delivery rule." + "type": "object" }, - "DeliveryRuleSocketAddrCondition": { - "type": "object", + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", "properties": { - "name": { - "type": "string", - "enum": [ - "SocketAddr" - ] - }, - "parameters": { + "headerAction": { + "description": "Action to perform", "oneOf": [ { - "$ref": "#/definitions/SocketAddrMatchConditionParameters" + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SocketAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the SocketAddress condition for the delivery rule." - }, - "DeliveryRuleSslProtocolCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "SslProtocol" ] }, - "parameters": { + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { "oneOf": [ { - "$ref": "#/definitions/SslProtocolMatchConditionParameters" + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SslProtocol match conditions" + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" } }, "required": [ - "name", - "parameters" + "typeName", + "headerAction", + "headerName" ], - "description": "Defines the SslProtocol condition for the delivery rule." + "type": "object" }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", "oneOf": [ { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + "maximum": 255, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" ] }, - "parameters": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" ] }, - "parameters": { + "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "$ref": "#/definitions/UrlPathMatchConditionParameters" + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlPath match conditions" + ] } }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." + "type": "object" }, - "EndpointProperties": { - "type": "object", + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", "properties": { - "contentTypesToCompress": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, - "defaultOriginGroup": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, - "deliveryPolicy": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, - "geoFilters": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", "oneOf": [ { - "type": "boolean" + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, - "optimizationType": { + "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - }, - "originGroups": { + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeepCreatedOriginGroup" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." - }, - "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." - }, - "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + ] }, - "origins": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." - }, - "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." + ] }, - "queryStringCachingBehavior": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, - "urlSigningKeys": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/UrlSigningKey" - } + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of keys used to validate the signed URL hashes." + ] }, - "webApplicationFirewallPolicyLink": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ - "origins" + "typeName", + "operator" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, - "EndpointPropertiesUpdateParametersDeliveryPolicy": { - "type": "object", + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", "properties": { - "description": { - "type": "string", - "description": "User-friendly description of the policy." - }, - "rules": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRule" - } + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." - } - }, - "required": [ - "rules" - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" - }, - "GeoFilter": { - "type": "object", - "properties": { - "action": { + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Block", - "Allow" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, - "countryCodes": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US." + ] }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "headerAction": { + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Append", - "Overwrite", - "Delete" - ] + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHeaderActionParameters" - ] + "KeyVaultSigningKeyParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "value": { - "type": "string", - "description": "Value for the specified action" + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" } }, "required": [ - "headerAction", - "headerName", - "typeName" + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, - "HealthProbeParameters": { - "type": "object", + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", "properties": { - "probeIntervalInSeconds": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." - }, - "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + ] }, - "probeProtocol": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "Http", - "Https" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, - "probeRequestType": { + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "GET", - "HEAD" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, - "HostNameMatchConditionParameters": { - "type": "object", + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", "properties": { - "matchValues": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "boolean" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "maximum": 20, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleHostNameConditionParameters" - ] + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ - "operator", - "typeName" + "ruleSetType", + "ruleSetVersion" ], - "description": "Defines the parameters for HostName match conditions" + "type": "object" }, - "HttpErrorRangeParameters": { - "type": "object", + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", "properties": { - "begin": { - "oneOf": [ - { - "type": "integer", - "minimum": 100, - "maximum": 999 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The inclusive start of the http status code range." - }, - "end": { + "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "integer", - "minimum": 100, - "maximum": 999 + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "type": "object" }, - "HttpVersionMatchConditionParameters": { - "type": "object", + "MatchCondition": { + "description": "Define match conditions", "properties": { - "matchValues": { + "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "boolean" - }, - { + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" + }, + { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3320,22 +3498,48 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" - }, - "typeName": { + ] + } + }, + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "type": "object" + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "properties": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHttpVersionConditionParameters" - ] + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3343,87 +3547,88 @@ ] } }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for HttpVersion match conditions" + "type": "object" }, - "IsDeviceMatchConditionParameters": { - "type": "object", + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", "properties": { - "matchValues": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Mobile", - "Desktop" - ] - } + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "typeName", + "originGroup" + ], + "type": "object" + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "Equal" - ] + "$ref": "#/definitions/HealthProbeParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, - "transforms": { + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleIsDeviceConditionParameters" - ] + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3431,290 +3636,190 @@ ] } }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, - "KeyVaultSigningKeyParameters": { - "type": "object", + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", "properties": { - "resourceGroupName": { - "type": "string", - "description": "Resource group 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." + "enabled": { + "description": "Origin is enabled for load balancing or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" + "hostName": { + "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.", + "type": "string" }, - "typeName": { + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "string", - "enum": [ - "KeyVaultSigningKeyParameters" - ] + "maximum": 65535, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" - } - }, - "required": [ - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "typeName", - "vaultName" - ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." - }, - "LoadBalancingSettingsParameters": { - "type": "object", - "properties": { - "additionalLatencyInMilliseconds": { + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { + "maximum": 65535, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket" + ] }, - "sampleSize": { + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", "oneOf": [ { + "maximum": 5, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples to consider for load balancing decisions" + ] }, - "successfulSamplesRequired": { + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { + "maximum": 1000, + "minimum": 1, "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples within the sample period that must succeed" - } - }, - "description": "Round-Robin load balancing settings for a backend pool" - }, - "ManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "ManagedCertificate" ] } }, - "required": [ - "type" - ], - "description": "Managed Certificate used for https" + "type": "object" }, - "ManagedRuleGroupOverride": { - "type": "object", + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", "properties": { - "ruleGroupName": { - "type": "string", - "description": "Describes the managed rule group within the rule set to override" - }, - "rules": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleOverride" - } + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled." - } - }, - "required": [ - "ruleGroupName" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleOverride": { - "type": "object", - "properties": { - "action": { + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" }, "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." + ] }, - "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." - } - }, - "required": [ - "ruleId" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleSet": { - "type": "object", - "properties": { - "anomalyScore": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 20 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." - }, - "ruleGroupOverrides": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the rule overrides to apply to the rule set." - }, - "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." - }, - "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." - } - }, - "required": [ - "ruleSetType", - "ruleSetVersion" - ], - "description": "Defines a managed rule set." - }, - "ManagedRuleSetList": { - "type": "object", - "properties": { - "managedRuleSets": { + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, - "MatchCondition": { - "type": "object", + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", "properties": { - "matchValue": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of possible match values." - }, - "matchVariable": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RemoteAddr", - "SocketAddr", - "RequestMethod", - "RequestHeader", - "RequestUri", - "QueryString", - "RequestBody", - "Cookies", - "PostArgs" - ] + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3722,44 +3827,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch", - "GeoMatch", "Equal", "Contains", + "BeginsWith", + "EndsWith", "LessThan", - "GreaterThan", "LessThanOrEqual", + "GreaterThan", "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3767,104 +3868,134 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms." + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, "required": [ - "matchValue", - "matchVariable", + "typeName", "operator" ], - "description": "Define match conditions" + "type": "object" }, - "OriginGroupOverride": { - "type": "object", + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", "properties": { - "forwardingProtocol": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "oneOf": [ { - "type": "string", - "enum": [ - "HttpOnly", - "HttpsOnly", - "MatchRequest" - ] + "minimum": 16, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] + } + }, + "type": "object" + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "originGroup": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - } - }, - "description": "Defines the parameters for the origin group override configuration." - }, - "OriginGroupOverrideAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" ] }, - "parameters": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the origin group override action for the delivery rule." - }, - "OriginGroupOverrideActionParameters": { - "type": "object", - "properties": { - "originGroup": { + ] + }, + "transforms": { + "description": "List of transforms", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleOriginGroupOverrideActionParameters" - ] + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3873,240 +4004,238 @@ } }, "required": [ - "originGroup", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for the origin group override action." + "type": "object" }, - "OriginGroupProperties": { - "type": "object", + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { - "healthProbeSettings": { + "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "$ref": "#/definitions/HealthProbeParameters" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, - "origins": { + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, - "responseBasedOriginErrorDetectionSettings": { + "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, - "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - } - }, - "description": "The JSON object that contains the properties of the origin group." - }, - "OriginProperties": { - "type": "object", - "properties": { - "enabled": { + ] + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", "oneOf": [ { - "type": "boolean" + "maximum": 60, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" - }, - "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": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." - }, - "httpsPort": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 65535 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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": { + ] + } + }, + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 5 + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" - }, - "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" - }, - "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" - }, - "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" - }, - "weight": { + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 1000 + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" - } - }, - "description": "The JSON object that contains the properties of the origin." - }, - "PolicySettings": { - "type": "object", - "properties": { - "defaultCustomBlockResponseBody": { + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." + ] }, - "defaultCustomBlockResponseStatusCode": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "integer" + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." - }, - "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + ] }, - "enabledState": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, - "mode": { + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Prevention", - "Detection" - ] + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "PostArgsMatchConditionParameters": { - "type": "object", + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4114,13 +4243,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -4132,24 +4260,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -4157,22 +4280,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRulePostArgsConditionParameters" - ] + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4181,937 +4305,164 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, - "ProfileProperties": { - "type": "object", + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", "properties": { - "extendedProperties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing additional properties for profiles." + ] }, - "originResponseTimeoutSeconds": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "integer", - "minimum": 16 + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns." - } - }, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_afdEndpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" ] }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/AFDEndpointProperties" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, - "tags": { + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "afdEndpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" - }, - "profiles_afdEndpoints_routes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" ] }, - "name": { - "type": "string", - "description": "Name of the routing rule." - }, - "properties": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/RouteProperties" + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." - }, - "type": { - "type": "string", - "enum": [ - "routes" ] } }, "required": [ - "apiVersion", - "name", - "properties", - "type" + "typeName", + "operator" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, - "profiles_customDomains_childResource": { - "type": "object", + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" - }, - "properties": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/AFDDomainProperties" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/customDomains" - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", "enum": [ - "DeliveryRuleRemoteAddressConditionParameters" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5119,212 +4470,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { + ], "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestHeaderConditionParameters" - ] + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "POST", - "PUT", - "DELETE", - "OPTIONS", - "TRACE" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5333,33 +4495,34 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5367,29 +4530,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5397,22 +4558,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5421,29 +4583,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5451,13 +4614,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -5469,20 +4631,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5490,22 +4651,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5514,74 +4676,75 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "RouteConfigurationOverrideActionParameters": { - "type": "object", + "description": "Defines the parameters for the route configuration override action.", "properties": { "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/CacheConfiguration" @@ -5589,10 +4752,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", "oneOf": [ { "$ref": "#/definitions/OriginGroupOverride" @@ -5600,16 +4763,15 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override configuration." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRouteConfigurationOverrideActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5620,12 +4782,13 @@ "required": [ "typeName" ], - "description": "Defines the parameters for the route configuration override action." + "type": "object" }, "RouteProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Routes to create.", "properties": { "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/AfdRouteCacheConfiguration" @@ -5633,85 +4796,85 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "customDomains": { + "description": "Domains referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Domains referenced by this endpoint." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] }, "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] }, "httpsRedirect": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "whether this route will be linked to the default endpoint domain." + ] }, "originGroup": { + "description": "A reference to the origin group.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5719,112 +4882,109 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "originPath": { - "type": "string", - "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "patternsToMatch": { + "description": "The route patterns of the rule.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The route patterns of the rule." + ] }, "ruleSets": { + "description": "rule sets referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "rule sets referenced by this endpoint." + ] }, "supportedProtocols": { + "description": "List of supported protocols for this route.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Http", "Https" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of supported protocols for this route." + ] } }, - "required": [ - "originGroup" - ], - "description": "The JSON object that contains the properties of the Routes to create." + "type": "object" }, "RuleProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Rules to create.", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "oneOf": [ { - "type": "string", "enum": [ "Continue", "Stop" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue." + ] }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -5832,39 +4992,126 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "required": [ - "actions", - "order" - ], - "description": "The JSON object that contains the properties of the Rules to create." + "type": "object" }, "SecretParameters": { - "type": "object", + "description": "The json object containing secret parameters", "oneOf": [ { - "$ref": "#/definitions/UrlSigningKeyParameters" + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": { + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, { - "$ref": "#/definitions/ManagedCertificateParameters" + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" }, { - "$ref": "#/definitions/CustomerCertificateParameters" + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" }, { - "$ref": "#/definitions/AzureFirstPartyManagedCertificateParameters" + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" } ], "properties": {}, - "description": "The json object containing secret parameters" + "type": "object" }, "SecretProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Secret to create.", "properties": { "parameters": { + "description": "object which contains secret parameters", "oneOf": [ { "$ref": "#/definitions/SecretParameters" @@ -5872,16 +5119,16 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing secret parameters" + ] } }, - "description": "The JSON object that contains the properties of the Secret to create." + "type": "object" }, "SecurityPolicyProperties": { - "type": "object", + "description": "The json object that contains properties required to create a security policy", "properties": { "parameters": { + "description": "object which contains security policy parameters", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyPropertiesParameters" @@ -5889,80 +5136,185 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing security policy parameters" + ] } }, - "description": "The json object that contains properties required to create a security policy" + "type": "object" }, "SecurityPolicyPropertiesParameters": { - "type": "object", + "description": "The json object containing security policy parameters", "oneOf": [ { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" } ], "properties": {}, - "description": "The json object containing security policy parameters" + "type": "object" }, "SecurityPolicyWebApplicationFirewallAssociation": { - "type": "object", + "description": "settings for security policy patterns to match", "properties": { "domains": { + "description": "List of domains.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of domains." + ] }, "patternsToMatch": { + "description": "List of paths", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of paths" + ] } }, - "description": "settings for security policy patterns to match" + "type": "object" }, - "SecurityPolicyWebApplicationFirewallParameters": { - "type": "object", + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", "properties": { - "associations": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Waf associations" + ] }, - "type": { - "type": "string", - "enum": [ - "WebApplicationFirewall" + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" }, - "wafPolicy": { + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5970,33 +5322,88 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, - "required": [ - "type" - ], - "description": "The json object containing security policy waf parameters" + "type": "object" }, - "ServerPortMatchConditionParameters": { - "type": "object", + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6004,38 +5411,28 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "IPMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6043,22 +5440,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleServerPortConditionParameters" - ] + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6067,108 +5465,119 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ServerPort match conditions" + "type": "object" }, - "SharedPrivateLinkResourceProperties": { - "type": "object", + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", "properties": { - "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." - }, - "privateLink": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the shared private link resource" + ] }, - "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "status": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected", - "Timeout" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout." - } - }, - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." - }, - "Sku": { - "type": "object", - "properties": { - "name": { + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { "oneOf": [ { - "type": "string", "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" - ] + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "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.\n" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "SocketAddrMatchConditionParameters": { - "type": "object", + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6176,30 +5585,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch" - ] + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6207,22 +5622,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSocketAddrConditionParameters" - ] + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6231,34 +5647,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SocketAddress match conditions" + "type": "object" }, - "SslProtocolMatchConditionParameters": { - "type": "object", + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6266,29 +5678,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6296,22 +5715,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSslProtocolConditionParameters" - ] + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6320,29 +5740,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SslProtocol match conditions" + "type": "object" }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6350,13 +5771,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -6367,21 +5787,21 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", + "Wildcard", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6389,22 +5809,95 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6413,91 +5906,92 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "redirectType" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, - "UrlFileNameMatchConditionParameters": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "matchValues": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "SHA256" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFilenameConditionParameters" - ] + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6506,441 +6000,597 @@ } }, "required": [ - "operator", "typeName" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, - "UrlPathMatchConditionParameters": { - "type": "object", + "UrlSigningKey": { + "description": "Url signing key", "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" }, - "negateCondition": { + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultSigningKeyParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard", - "RegEx" - ] + "Expires", + "KeyId", + "Signature" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2022-05-01-preview" ], - "description": "Describes operator to be matched." + "type": "string" }, - "transforms": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/AFDEndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlPathMatchConditionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" } }, "required": [ - "operator", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" }, - "UrlRedirectAction": { - "type": "object", + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRedirect" - ] + "2022-05-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectActionParameters" + "$ref": "#/definitions/RouteProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "routes" ], - "description": "Defines the parameters for the url redirect action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, - "UrlRedirectActionParameters": { - "type": "object", + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { - "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 #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." + "apiVersion": { + "enum": [ + "2022-05-01-preview" + ], + "type": "string" }, - "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." + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, - "destinationProtocol": { + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { - "type": "string", - "enum": [ - "MatchRequest", - "Http", - "Https" - ] + "$ref": "#/definitions/AFDDomainProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2022-05-01-preview" ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + "type": "string" }, - "redirectType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Moved", - "Found", - "TemporaryRedirect", - "PermanentRedirect" - ] + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRedirectActionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" } }, "required": [ - "redirectType", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRewrite" - ] + "2022-05-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "$ref": "#/definitions/CustomDomainPropertiesParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" ], - "description": "Defines the parameters for the url rewrite action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2022-05-01-preview" ], - "description": "Whether to preserve unmatched path. Default value is true." + "type": "string" }, - "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." + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, - "typeName": { + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/OriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" } }, "required": [ - "destination", - "sourcePattern", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" }, - "UrlSigningAction": { - "type": "object", + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlSigning" - ] + "2022-05-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "$ref": "#/definitions/UrlSigningActionParameters" + "$ref": "#/definitions/OriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "origins" ], - "description": "Defines the parameters for the Url Signing action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url signing action for the delivery rule." + "type": "object" }, - "UrlSigningActionParameters": { - "type": "object", + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2022-05-01-preview" ], - "description": "Algorithm to use for URL signing." + "type": "string" }, - "parameterNameOverride": { + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/UrlSigningParamIdentifier" - } + "$ref": "#/definitions/AFDOriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2022-05-01-preview" ], - "description": "Defines which query string parameters in the url to be considered for expires, key id etc. " + "type": "string" }, - "typeName": { + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlSigningActionParameters" - ] + "$ref": "#/definitions/AFDOriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" } }, "required": [ - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the Url Signing action." + "type": "object" }, - "UrlSigningKey": { - "type": "object", + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", "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." + "apiVersion": { + "enum": [ + "2022-05-01-preview" + ], + "type": "string" }, - "keySourceParameters": { + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2022-05-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { - "$ref": "#/definitions/KeyVaultSigningKeyParameters" + "$ref": "#/definitions/RuleProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "rules" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "string" } }, "required": [ - "keyId", - "keySourceParameters" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Url signing key" + "type": "object" }, - "UrlSigningKeyParameters": { - "type": "object", + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", "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." + "apiVersion": { + "enum": [ + "2022-05-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" }, - "secretSource": { + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/SecretProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" + ] }, "type": { - "type": "string", "enum": [ - "UrlSigningKey" - ] + "secrets" + ], + "type": "string" } }, "required": [ - "keyId", - "secretSource", + "name", + "properties", + "apiVersion", "type" ], - "description": "Url signing key parameters" + "type": "object" }, - "UrlSigningParamIdentifier": { - "type": "object", + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { - "paramIndicator": { + "apiVersion": { + "enum": [ + "2022-05-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { - "type": "string", - "enum": [ - "Expires", - "KeyId", - "Signature" - ] + "$ref": "#/definitions/SecurityPolicyProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the purpose of the parameter." + ] }, - "paramName": { - "type": "string", - "description": "Parameter name" + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" } }, "required": [ - "paramIndicator", - "paramName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines how to identify a parameter for a specific purpose e.g. expires" + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2022-11-01-preview/Microsoft.Cdn.json b/schemas/2022-11-01-preview/Microsoft.Cdn.json index ef232c4068..23231c5b7d 100644 --- a/schemas/2022-11-01-preview/Microsoft.Cdn.json +++ b/schemas/2022-11-01-preview/Microsoft.Cdn.json @@ -1,32 +1,33 @@ { "id": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Cdn", "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", "resourceDefinitions": { "cdnWebApplicationFirewallPolicies": { - "type": "object", + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "etag": { - "type": "string", - "description": "Gets a unique read-only string that changes whenever the resource is updated." + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", + "description": "The name of the CdnWebApplicationFirewallPolicy.", "maxLength": 128, - "description": "The name of the CdnWebApplicationFirewallPolicy." + "type": "string" }, "properties": { + "description": "Properties of the web application firewall policy.", "oneOf": [ { "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" @@ -34,10 +35,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines CDN web application firewall policy properties." + ] }, "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -45,51 +46,49 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + "type": "object" }, "profiles": { - "type": "object", + "description": "Microsoft.Cdn/profiles", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", "oneOf": [ { "$ref": "#/definitions/ManagedServiceIdentity" @@ -97,28 +96,18 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Managed service identity (system assigned and/or user assigned identities)" + ] }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", - "minLength": 1, - "maxLength": 260 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create a profile.", "oneOf": [ { "$ref": "#/definitions/ProfileProperties" @@ -126,38 +115,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create a profile." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/profiles_customDomains_childResource" + "$ref": "#/definitions/profiles_secrets_childResource" }, { - "$ref": "#/definitions/profiles_afdEndpoints_childResource" + "$ref": "#/definitions/profiles_ruleSets_childResource" }, { - "$ref": "#/definitions/profiles_originGroups_childResource" + "$ref": "#/definitions/profiles_endpoints_childResource" }, { - "$ref": "#/definitions/profiles_ruleSets_childResource" + "$ref": "#/definitions/profiles_afdEndpoints_childResource" }, { - "$ref": "#/definitions/profiles_securityPolicies_childResource" + "$ref": "#/definitions/profiles_originGroups_childResource" }, { - "$ref": "#/definitions/profiles_secrets_childResource" + "$ref": "#/definitions/profiles_customDomains_childResource" }, { - "$ref": "#/definitions/profiles_endpoints_childResource" + "$ref": "#/definitions/profiles_securityPolicies_childResource" } ] - } + }, + "type": "array" }, "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", "oneOf": [ { "$ref": "#/definitions/Sku" @@ -165,59 +154,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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.\n" + ] }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", - "sku", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles" + "type": "object" }, "profiles_afdEndpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/AFDEndpointProperties" @@ -225,64 +212,63 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" + "type": "object" }, "profiles_afdEndpoints_routes": { - "type": "object", + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the routing rule." + "description": "Name of the routing rule.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { "$ref": "#/definitions/RouteProperties" @@ -290,38 +276,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Routes to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/afdEndpoints/routes" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + "type": "object" }, "profiles_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { "$ref": "#/definitions/AFDDomainProperties" @@ -329,42 +315,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/customDomains" + "type": "object" }, "profiles_endpoints": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "location": { - "type": "string", - "description": "Resource location." + "description": "Resource location.", + "type": "string" }, "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { "$ref": "#/definitions/EndpointProperties" @@ -372,11 +358,9 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { @@ -389,53 +373,54 @@ "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" } ] - } + }, + "type": "array" }, "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", - "location", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints" + "type": "object" }, "profiles_endpoints_customDomains": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." + "description": "Name of the custom domain within an endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { "$ref": "#/definitions/CustomDomainPropertiesParameters" @@ -443,38 +428,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the custom domain to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/customDomains" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + "type": "object" }, "profiles_endpoints_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/OriginGroupProperties" @@ -482,38 +467,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + "type": "object" }, "profiles_endpoints_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/OriginProperties" @@ -521,38 +506,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/endpoints/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" + "type": "object" }, "profiles_originGroups": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { "$ref": "#/definitions/AFDOriginGroupProperties" @@ -560,48 +545,48 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin group." + ] }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_originGroups_origins_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups" + "type": "object" }, "profiles_originGroups_origins": { - "type": "object", + "description": "Microsoft.Cdn/profiles/originGroups/origins", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." + "description": "Name of the origin that is unique within the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { "$ref": "#/definitions/AFDOriginProperties" @@ -609,75 +594,75 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the origin." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/originGroups/origins" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" + "type": "object" }, "profiles_ruleSets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" }, "resources": { - "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/profiles_ruleSets_rules_childResource" } ] - } + }, + "type": "array" }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets" + "type": "object" }, "profiles_ruleSets_rules": { - "type": "object", + "description": "Microsoft.Cdn/profiles/ruleSets/rules", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { "$ref": "#/definitions/RuleProperties" @@ -685,38 +670,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Rules to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/ruleSets/rules" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" + "type": "object" }, "profiles_secrets": { - "type": "object", + "description": "Microsoft.Cdn/profiles/secrets", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the Secret under the profile." + "description": "Name of the Secret under the profile.", + "type": "string" }, "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { "$ref": "#/definitions/SecretProperties" @@ -724,38 +709,38 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties of the Secret to create." + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/secrets" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/secrets" + "type": "object" }, "profiles_securityPolicies": { - "type": "object", + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { "apiVersion": { - "type": "string", "enum": [ "2022-11-01-preview" - ] + ], + "type": "string" }, "name": { - "type": "string", - "description": "Name of the security policy under the profile." + "description": "Name of the security policy under the profile.", + "type": "string" }, "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyProperties" @@ -763,71 +748,61 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object that contains properties required to create a security policy" + ] }, "type": { - "type": "string", "enum": [ "Microsoft.Cdn/profiles/securityPolicies" - ] + ], + "type": "string" } }, "required": [ - "apiVersion", "name", "properties", + "apiVersion", "type" ], - "description": "Microsoft.Cdn/profiles/securityPolicies" + "type": "object" } }, "definitions": { - "ActivatedResourceReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Reference to another resource along with its state." - }, "AFDDomainHttpsParameters": { - "type": "object", + "description": "The JSON object that contains the properties to secure a domain.", "properties": { "certificateType": { + "description": "Defines the source of the SSL certificate.", "oneOf": [ { - "type": "string", "enum": [ "CustomerCertificate", "ManagedCertificate", "AzureFirstPartyManagedCertificate" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the source of the SSL certificate." + ] }, "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", "oneOf": [ { - "type": "string", "enum": [ "TLS10", "TLS12" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "TLS protocol version that will be used for Https." + ] }, "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -835,19 +810,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, "required": [ "certificateType" ], - "description": "The JSON object that contains the properties to secure a domain." + "type": "object" }, "AFDDomainProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the domain to create.", "properties": { "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -855,29 +830,29 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing migration properties for domains." + ] }, "hostName": { - "type": "string", - "description": "The host name of the domain. Must be a domain name." + "description": "The host name of the domain. Must be a domain name.", + "type": "string" }, "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -885,10 +860,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "tlsSettings": { + "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.", "oneOf": [ { "$ref": "#/definitions/AFDDomainHttpsParameters" @@ -896,57 +871,57 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to secure a domain." + ] } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the domain to create." + "type": "object" }, "AFDEndpointProperties": { - "type": "object", + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", "oneOf": [ { - "type": "string", "enum": [ "TenantReuse", "SubscriptionReuse", "ResourceGroupReuse", "NoReuse" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] } }, - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, "AFDOriginGroupProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin group.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -954,10 +929,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", "oneOf": [ { "$ref": "#/definitions/LoadBalancingSettingsParameters" @@ -965,44 +940,44 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Round-Robin load balancing settings for a backend pool" + ] }, "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "type": "object" }, "AFDOriginProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the origin.", "properties": { "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -1010,84 +985,83 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "description": "Whether to enable certificate name check at origin level", "oneOf": [ { - "type": "boolean", - "default": true + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable certificate name check at origin level" + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "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", + "type": "string" }, "priority": { + "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", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + ] }, "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", "oneOf": [ { "$ref": "#/definitions/SharedPrivateLinkResourceProperties" @@ -1095,32 +1069,39 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + ] }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "required": [ - "hostName" - ], - "description": "The JSON object that contains the properties of the origin." + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" }, "AfdRouteCacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "compressionSettings": { + "description": "compression settings.", "oneOf": [ { "$ref": "#/definitions/CompressionSettings" @@ -1128,154 +1109,138 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "settings for compression." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - } - }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." - }, - "AzureFirstPartyManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "AzureFirstPartyManagedCertificate" ] } }, - "required": [ - "type" - ], - "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS." + "type": "object" }, "CacheConfiguration": { - "type": "object", + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "HonorOrigin", "OverrideAlways", "OverrideIfOriginMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "isCompressionEnabled": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringCachingBehavior": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "IgnoreQueryString", "UseQueryString", "IgnoreSpecifiedQueryStrings", "IncludeSpecifiedQueryStrings" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + "type": "object" }, "CacheExpirationActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache expiration action.", "properties": { "cacheBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "BypassCache", "Override", "SetIfMissing" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" }, "cacheType": { + "description": "The level at which the content needs to be cached.", "oneOf": [ { - "type": "string", "enum": [ "All" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The level at which the content needs to be cached." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheExpirationActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1284,43 +1249,43 @@ } }, "required": [ + "typeName", "cacheBehavior", - "cacheType", - "typeName" + "cacheType" ], - "description": "Defines the parameters for the cache expiration action." + "type": "object" }, "CacheKeyQueryStringActionParameters": { - "type": "object", + "description": "Defines the parameters for the cache-key query string action.", "properties": { "queryParameters": { - "type": "string", - "description": "query parameters to include or exclude (comma separated)." + "description": "query parameters to include or exclude (comma separated).", + "type": "string" }, "queryStringBehavior": { + "description": "Caching behavior for the requests", "oneOf": [ { - "type": "string", "enum": [ "Include", "IncludeAll", "Exclude", "ExcludeAll" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching behavior for the requests." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1329,15 +1294,16 @@ } }, "required": [ - "queryStringBehavior", - "typeName" + "typeName", + "queryStringBehavior" ], - "description": "Defines the parameters for the cache-key query string action." + "type": "object" }, "CdnWebApplicationFirewallPolicyProperties": { - "type": "object", + "description": "Defines CDN web application firewall policy properties.", "properties": { "customRules": { + "description": "Describes custom rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/CustomRuleList" @@ -1345,25 +1311,25 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of custom rules" + ] }, "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", "oneOf": [ { - "type": "object", "additionalProperties": { "type": "string" }, - "properties": {} + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing additional properties for Web Application Firewall policy." + ] }, "managedRules": { + "description": "Describes managed rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/ManagedRuleSetList" @@ -1371,10 +1337,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the list of managed rule sets for the policy." + ] }, "policySettings": { + "description": "Describes policySettings for policy", "oneOf": [ { "$ref": "#/definitions/PolicySettings" @@ -1382,10 +1348,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of a web application firewall global configuration" + ] }, "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", "oneOf": [ { "$ref": "#/definitions/RateLimitRuleList" @@ -1393,30 +1359,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines contents of rate limit rules" + ] } }, - "description": "Defines CDN web application firewall policy properties." + "type": "object" }, "ClientPortMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for ClientPort match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1424,13 +1390,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1442,20 +1407,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1463,22 +1427,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleClientPortConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1487,29 +1452,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" }, "CompressionSettings": { - "type": "object", + "description": "settings for compression.", "properties": { "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, "isCompressionEnabled": { + "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.", "oneOf": [ { "type": "boolean" @@ -1517,30 +1483,30 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "settings for compression." + "type": "object" }, "CookiesMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for Cookies match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -1548,13 +1514,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -1566,24 +1531,23 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Name of Cookies to be matched" + "description": "Name of Cookies to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -1591,22 +1555,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleCookiesConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -1615,183 +1580,128 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for Cookies match conditions" + "type": "object" }, "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." + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" } }, "required": [ "hostName" ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "CustomerCertificateParameters": { - "type": "object", - "properties": { - "secretSource": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" - }, - "subjectAlternativeNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of SANs." - }, - "type": { - "type": "string", - "enum": [ - "CustomerCertificate" - ] - }, - "useLatestVersion": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to use the latest version for the certificate" - } - }, - "required": [ - "secretSource", - "type" - ], - "description": "Customer Certificate used for https" + "type": "object" }, "CustomRule": { - "type": "object", + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", "properties": { "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "string", "enum": [ "Allow", "Block", "Log", "Redirect" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes what action to be applied when rule matches." + ] }, "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ "Disabled", "Enabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + ] }, "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of match conditions." + ] }, "name": { - "type": "string", - "description": "Defines the name of the custom rule" + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 0, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + ] } }, "required": [ - "action", - "matchConditions", "name", - "priority" + "priority", + "matchConditions", + "action" ], - "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + "type": "object" }, "CustomRuleList": { - "type": "object", + "description": "Defines contents of custom rules", "properties": { "rules": { + "description": "List of rules", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules" + ] } }, - "description": "Defines contents of custom rules" + "type": "object" }, "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. " + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" }, "properties": { + "description": "Properties of the origin created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginProperties" @@ -1799,23 +1709,23 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin created on the CDN endpoint." + ] } }, "required": [ "name" ], - "description": "The main origin of CDN content which is added when creating a CDN endpoint." + "type": "object" }, "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." + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" }, "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", "oneOf": [ { "$ref": "#/definitions/DeepCreatedOriginGroupProperties" @@ -1823,19 +1733,19 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Properties of the origin group created on the CDN endpoint." + ] } }, "required": [ "name" ], - "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." + "type": "object" }, "DeepCreatedOriginGroupProperties": { - "type": "object", + "description": "Properties of the origin group created on the CDN endpoint.", "properties": { "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", "oneOf": [ { "$ref": "#/definitions/HealthProbeParameters" @@ -1843,24 +1753,24 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", "oneOf": [ { "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" @@ -1868,32 +1778,32 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + ] }, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 50, "minimum": 0, - "maximum": 50 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ "origins" ], - "description": "Properties of the origin group created on the CDN endpoint." + "type": "object" }, "DeepCreatedOriginProperties": { - "type": "object", + "description": "Properties of the origin created on the CDN endpoint.", "properties": { "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", "oneOf": [ { "type": "boolean" @@ -1901,127 +1811,127 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not. By default, origin is always enabled." + ] }, "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." + "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.", + "type": "string" }, "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", "oneOf": [ { - "type": "integer", + "maximum": 65535, "minimum": 1, - "maximum": 65535 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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." + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" }, "priority": { + "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.", "oneOf": [ { - "type": "integer", + "maximum": 5, "minimum": 1, - "maximum": 5 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" }, "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" }, "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" }, "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" }, "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", "oneOf": [ { - "type": "integer", + "maximum": 1000, "minimum": 1, - "maximum": 1000 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, "required": [ "hostName" ], - "description": "Properties of the origin created on the CDN endpoint." + "type": "object" }, "DeliveryRule": { - "type": "object", + "description": "A rule that specifies a set of actions and conditions", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "name": { - "type": "string", - "description": "Name of the rule" + "description": "Name of the rule", + "type": "string" }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -2029,1369 +1939,1567 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, "required": [ - "actions", - "order" + "order", + "actions" ], - "description": "A rule that specifies a set of actions and conditions" + "type": "object" }, - "DeliveryRuleAction1": { - "type": "object", + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectAction" - }, - { - "$ref": "#/definitions/UrlSigningAction" - }, - { - "$ref": "#/definitions/OriginGroupOverrideAction" + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/UrlRewriteAction" + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRouteConfigurationOverrideAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCacheKeyQueryStringAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheKeyQueryString" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheKeyQueryStringActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for the cache-key query string action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache-key query string action for the delivery rule." - }, - "DeliveryRuleClientPortCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ClientPort" - ] + "type": "object" }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/ClientPortMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } + }, + "required": [ + "parameters" ], - "description": "Defines the parameters for ClientPort match conditions" + "type": "object" } - }, - "required": [ - "name", - "parameters" ], - "description": "Defines the ClientPort condition for the delivery rule." + "properties": {}, + "type": "object" }, "DeliveryRuleCondition": { - "type": "object", + "description": "A condition for the delivery rule.", "oneOf": [ { - "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleQueryStringCondition" + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRulePostArgsCondition" + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestUriCondition" + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestHeaderCondition" + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestBodyCondition" + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleRequestSchemeCondition" + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleUrlFileNameCondition" + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHttpVersionCondition" + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleCookiesCondition" + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSocketAddrCondition" + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleClientPortCondition" + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleServerPortCondition" + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleHostNameCondition" + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" }, { - "$ref": "#/definitions/DeliveryRuleSslProtocolCondition" + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" } ], "properties": {}, - "description": "A condition for the delivery rule." + "type": "object" }, - "DeliveryRuleCookiesCondition": { - "type": "object", + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "Cookies" - ] - }, - "parameters": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", "oneOf": [ { - "$ref": "#/definitions/CookiesMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for Cookies match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Cookies condition for the delivery rule." - }, - "DeliveryRuleHostNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HostName" ] }, - "parameters": { + "defaultOriginGroup": { + "description": "A reference to the origin group.", "oneOf": [ { - "$ref": "#/definitions/HostNameMatchConditionParameters" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HostName match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HostName condition for the delivery rule." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" ] }, - "parameters": { + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "oneOf": [ { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" ] }, - "parameters": { + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", "oneOf": [ { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" ] }, - "parameters": { + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", "oneOf": [ { - "$ref": "#/definitions/PostArgsMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" ] }, - "parameters": { + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/QueryStringMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" ] }, - "parameters": { + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", "oneOf": [ { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" ] }, - "parameters": { + "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.", "oneOf": [ { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" ] }, - "parameters": { + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" ] }, - "parameters": { + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", "oneOf": [ { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" ] }, - "parameters": { + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", "oneOf": [ { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" ] }, - "parameters": { + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", "oneOf": [ { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" ] }, - "parameters": { + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "oneOf": [ { - "$ref": "#/definitions/RequestUriMatchConditionParameters" + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for RequestUri match conditions" + ] } }, "required": [ - "name", - "parameters" + "origins" ], - "description": "Defines the RequestUri condition for the delivery rule." + "type": "object" }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] + "description": { + "description": "User-friendly description of the policy.", + "type": "string" }, - "parameters": { + "rules": { + "description": "A list of the delivery rules.", "oneOf": [ { - "$ref": "#/definitions/HeaderActionParameters" + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the request header action." + ] } }, "required": [ - "name", - "parameters" + "rules" ], - "description": "Defines the response header action for the delivery rule." + "type": "object" }, - "DeliveryRuleRouteConfigurationOverrideAction": { - "type": "object", + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", "properties": { - "name": { - "type": "string", - "enum": [ - "RouteConfigurationOverride" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the route configuration override action." + "id": { + "description": "Resource ID.", + "type": "string" } }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles." + "type": "object" }, - "DeliveryRuleServerPortCondition": { - "type": "object", + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", "properties": { - "name": { - "type": "string", - "enum": [ - "ServerPort" - ] - }, - "parameters": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", "oneOf": [ { - "$ref": "#/definitions/ServerPortMatchConditionParameters" + "enum": [ + "Block", + "Allow" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for ServerPort match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the ServerPort condition for the delivery rule." - }, - "DeliveryRuleSocketAddrCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "SocketAddr" ] }, - "parameters": { + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", "oneOf": [ { - "$ref": "#/definitions/SocketAddrMatchConditionParameters" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SocketAddress match conditions" + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" } }, "required": [ - "name", - "parameters" + "relativePath", + "action", + "countryCodes" ], - "description": "Defines the SocketAddress condition for the delivery rule." + "type": "object" }, - "DeliveryRuleSslProtocolCondition": { - "type": "object", + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", "properties": { - "name": { - "type": "string", - "enum": [ - "SslProtocol" - ] - }, - "parameters": { + "headerAction": { + "description": "Action to perform", "oneOf": [ { - "$ref": "#/definitions/SslProtocolMatchConditionParameters" + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for SslProtocol match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the SslProtocol condition for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" ] }, - "parameters": { + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { "oneOf": [ { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" } }, "required": [ - "name", - "parameters" + "typeName", + "headerAction", + "headerName" ], - "description": "Defines the UrlFileExtension condition for the delivery rule." + "type": "object" }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "oneOf": [ + { + "maximum": 255, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "parameters": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", "oneOf": [ { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" ] }, - "parameters": { + "probeRequestType": { + "description": "The type of health probe request that is made.", "oneOf": [ { - "$ref": "#/definitions/UrlPathMatchConditionParameters" + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for UrlPath match conditions" + ] } }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." + "type": "object" }, - "EndpointProperties": { - "type": "object", + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", "properties": { - "contentTypesToCompress": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." + ] }, - "defaultOriginGroup": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, - "deliveryPolicy": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." + ] }, - "geoFilters": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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": { + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", "oneOf": [ { - "type": "boolean" + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + ] }, - "optimizationType": { + "end": { + "description": "The inclusive end of the http status code range.", "oneOf": [ { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] + "maximum": 999, + "minimum": 100, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." - }, - "originGroups": { + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeepCreatedOriginGroup" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability." - }, - "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." - }, - "originPath": { - "type": "string", - "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + ] }, - "origins": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN." - }, - "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." + ] }, - "queryStringCachingBehavior": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, - "urlSigningKeys": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/UrlSigningKey" - } + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of keys used to validate the signed URL hashes." + ] }, - "webApplicationFirewallPolicyLink": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" + ] } }, "required": [ - "origins" + "typeName", + "operator" ], - "description": "The JSON object that contains the properties required to create an endpoint." + "type": "object" }, - "EndpointPropertiesUpdateParametersDeliveryPolicy": { - "type": "object", + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", "properties": { - "description": { - "type": "string", - "description": "User-friendly description of the policy." - }, - "rules": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRule" - } + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of the delivery rules." - } - }, - "required": [ - "rules" - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)" - }, - "GeoFilter": { - "type": "object", - "properties": { - "action": { + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Block", - "Allow" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action of the geo filter, i.e. allow or block access." + ] }, - "countryCodes": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US." + ] }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "headerAction": { + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Append", - "Overwrite", - "Delete" - ] + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Action to perform." + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHeaderActionParameters" - ] + "KeyVaultSigningKeyParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "value": { - "type": "string", - "description": "Value for the specified action" + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" } }, "required": [ - "headerAction", - "headerName", - "typeName" + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" ], - "description": "Defines the parameters for the request header action." + "type": "object" }, - "HealthProbeParameters": { - "type": "object", + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", "properties": { - "probeIntervalInSeconds": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 255 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of seconds between health probes.Default is 240sec." - }, - "probePath": { - "type": "string", - "description": "The path relative to the origin that is used to determine the health of the origin." + ] }, - "probeProtocol": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "Http", - "Https" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol to use for health probe." + ] }, - "probeRequestType": { + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", "oneOf": [ { - "type": "string", - "enum": [ - "NotSet", - "GET", - "HEAD" - ] + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The type of health probe request that is made." + ] } }, - "description": "The JSON object that contains the properties to send health probes to origin." + "type": "object" }, - "HostNameMatchConditionParameters": { - "type": "object", + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", "properties": { - "matchValues": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", "oneOf": [ { - "type": "array", "items": { - "type": "string" - } + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", "oneOf": [ { - "type": "boolean" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "maximum": 20, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleHostNameConditionParameters" - ] + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" } }, "required": [ - "operator", - "typeName" + "ruleSetType", + "ruleSetVersion" ], - "description": "Defines the parameters for HostName match conditions" + "type": "object" }, - "HttpErrorRangeParameters": { - "type": "object", + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", "properties": { - "begin": { - "oneOf": [ - { - "type": "integer", - "minimum": 100, - "maximum": 999 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The inclusive start of the http status code range." - }, - "end": { + "managedRuleSets": { + "description": "List of rule sets.", "oneOf": [ { - "type": "integer", - "minimum": 100, - "maximum": 999 + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The inclusive end of the http status code range." + ] } }, - "description": "The JSON object that represents the range for http status codes" + "type": "object" }, - "HttpVersionMatchConditionParameters": { - "type": "object", + "ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { + "type": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", "oneOf": [ { - "type": "boolean" + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, - "operator": { + "userAssignedIdentities": { + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", "oneOf": [ { - "type": "string", - "enum": [ - "Equal" - ] + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" - }, - "transforms": { + ] + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "MatchCondition": { + "description": "Define match conditions", + "properties": { + "matchValue": { + "description": "List of possible match values.", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "matchVariable": { + "description": "Match variable to compare against.", "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleHttpVersionConditionParameters" - ] + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Mobile", - "Desktop" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" }, "negateCondition": { + "description": "Describes if the result of this condition should be negated.", "oneOf": [ { "type": "boolean" @@ -3399,29 +3507,42 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" }, "transforms": { + "description": "List of transforms.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3429,22 +3550,10 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleIsDeviceConditionParameters" - ] + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -3453,329 +3562,316 @@ } }, "required": [ + "matchVariable", "operator", - "typeName" + "matchValue" ], - "description": "Defines the parameters for IsDevice match conditions" + "type": "object" }, - "KeyVaultSigningKeyParameters": { - "type": "object", + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", "properties": { - "resourceGroupName": { - "type": "string", - "description": "Resource group 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." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" - }, - "typeName": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ - "KeyVaultSigningKeyParameters" - ] + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" - } - }, - "required": [ - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "typeName", - "vaultName" - ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." - }, - "LoadBalancingSettingsParameters": { - "type": "object", - "properties": { - "additionalLatencyInMilliseconds": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket" - }, - "sampleSize": { + ] + } + }, + "type": "object" + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", "oneOf": [ { - "type": "integer" + "$ref": "#/definitions/ResourceReference" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples to consider for load balancing decisions" + ] }, - "successfulSamplesRequired": { + "typeName": { "oneOf": [ { - "type": "integer" + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The number of samples within the sample period that must succeed" - } - }, - "description": "Round-Robin load balancing settings for a backend pool" - }, - "ManagedCertificateParameters": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "ManagedCertificate" ] } }, "required": [ - "type" + "typeName", + "originGroup" ], - "description": "Managed Certificate used for https" + "type": "object" }, - "ManagedRuleGroupOverride": { - "type": "object", + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", "properties": { - "ruleGroupName": { - "type": "string", - "description": "Describes the managed rule group within the rule set to override" + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "rules": { + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/ManagedRuleOverride" - } + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled." - } - }, - "required": [ - "ruleGroupName" - ], - "description": "Defines a managed rule group override setting." - }, - "ManagedRuleOverride": { - "type": "object", - "properties": { - "action": { + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", "oneOf": [ { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes the override action to be applied when rule matches." + ] }, - "enabledState": { + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", "oneOf": [ { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] + "maximum": 50, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified." - }, - "ruleId": { - "type": "string", - "description": "Identifier for the managed rule." + ] } }, - "required": [ - "ruleId" - ], - "description": "Defines a managed rule group override setting." + "type": "object" }, - "ManagedRuleSet": { - "type": "object", + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", "properties": { - "anomalyScore": { + "enabled": { + "description": "Origin is enabled for load balancing or not", "oneOf": [ { - "type": "integer", - "minimum": 0, - "maximum": 20 + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests." + ] }, - "ruleGroupOverrides": { - "oneOf": [ + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleGroupOverride" - } + "maximum": 65535, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the rule overrides to apply to the rule set." + ] }, - "ruleSetType": { - "type": "string", - "description": "Defines the rule set type to use." + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "ruleSetVersion": { - "type": "string", - "description": "Defines the version of the rule set to use." - } - }, - "required": [ - "ruleSetType", - "ruleSetVersion" - ], - "description": "Defines a managed rule set." - }, - "ManagedRuleSetList": { - "type": "object", - "properties": { - "managedRuleSets": { + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ManagedRuleSet" - } + "maximum": 5, + "minimum": 1, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of rule sets." + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, - "description": "Defines the list of managed rule sets for the policy." + "type": "object" }, - "ManagedServiceIdentity": { - "type": "object", + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", "properties": { - "type": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", "oneOf": [ { - "type": "string", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" - ] + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] }, - "userAssignedIdentities": { + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", "oneOf": [ { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." - } - }, - "required": [ - "type" - ], - "description": "Managed service identity (system assigned and/or user assigned identities)" - }, - "MatchCondition": { - "type": "object", - "properties": { - "matchValue": { + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of possible match values." + ] }, - "matchVariable": { + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", "oneOf": [ { - "type": "string", "enum": [ - "RemoteAddr", - "SocketAddr", - "RequestMethod", - "RequestHeader", - "RequestUri", - "QueryString", - "RequestBody", - "Cookies", - "PostArgs" - ] + "Prevention", + "Detection" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Match variable to compare against." + ] + } + }, + "type": "object" + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -3783,44 +3879,40 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if the result of this condition should be negated." + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch", - "GeoMatch", "Equal", "Contains", + "BeginsWith", + "EndsWith", "LessThan", - "GreaterThan", "LessThanOrEqual", + "GreaterThan", "GreaterThanOrEqual", - "BeginsWith", - "EndsWith", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "selector": { - "type": "string", - "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs." + "description": "Name of PostArg to be matched", + "type": "string" }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -3828,346 +3920,374 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms." - } - }, - "required": [ - "matchValue", - "matchVariable", - "operator" - ], - "description": "Define match conditions" - }, - "OriginGroupOverride": { - "type": "object", - "properties": { - "forwardingProtocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "HttpOnly", - "HttpsOnly", - "MatchRequest" - ] + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] }, - "originGroup": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] } }, - "description": "Defines the parameters for the origin group override configuration." + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "OriginGroupOverrideAction": { - "type": "object", + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" - ] - }, - "parameters": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", "oneOf": [ { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" + "minimum": 16, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override action." + ] } }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the origin group override action for the delivery rule." + "type": "object" }, - "OriginGroupOverrideActionParameters": { - "type": "object", + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", "properties": { - "originGroup": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, - "typeName": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleOriginGroupOverrideActionParameters" - ] + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] - } - }, - "required": [ - "originGroup", - "typeName" - ], - "description": "Defines the parameters for the origin group override action." - }, - "OriginGroupProperties": { - "type": "object", - "properties": { - "healthProbeSettings": { + }, + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/HealthProbeParameters" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties to send health probes to origin." + ] }, - "origins": { + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/ResourceReference" - } + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The source of the content being delivered via CDN within given origin group." + ] }, - "responseBasedOriginErrorDetectionSettings": { + "typeName": { "oneOf": [ { - "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." - }, - "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 50 + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "description": "The JSON object that contains the properties of the origin group." + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "OriginProperties": { - "type": "object", + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", "properties": { - "enabled": { + "action": { + "description": "Describes what action to be applied when rule matches", "oneOf": [ { - "type": "boolean" + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Origin is enabled for load balancing or not" - }, - "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": { + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." + ] }, - "httpsPort": { + "matchConditions": { + "description": "List of match conditions.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 65535 + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The value of the HTTPS port. Must be between 1 and 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" + "name": { + "description": "Defines the name of the custom rule", + "type": "string" }, "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 5 + "maximum": 1000, + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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" - }, - "privateLinkAlias": { - "type": "string", - "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'" - }, - "privateLinkApprovalMessage": { - "type": "string", - "description": "A custom message to be included in the approval request to connect to the Private Link." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated" + ] }, - "privateLinkResourceId": { - "type": "string", - "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'" + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "oneOf": [ + { + "maximum": 60, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "weight": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", "oneOf": [ { - "type": "integer", - "minimum": 1, - "maximum": 1000 + "minimum": 0, + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000" + ] } }, - "description": "The JSON object that contains the properties of the origin." + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" }, - "PolicySettings": { - "type": "object", + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", "properties": { - "defaultCustomBlockResponseBody": { + "rules": { + "description": "List of rules", "oneOf": [ { - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding." - }, - "defaultCustomBlockResponseStatusCode": { + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", "oneOf": [ { - "type": "integer" + "items": { + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If the action type is block, this field defines the default customer overridable http response status code." + ] }, - "defaultRedirectUrl": { - "type": "string", - "description": "If action type is redirect, this field represents the default redirect URL for the client." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "enabledState": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Disabled", - "Enabled" - ] + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "describes if the policy is in enabled state or disabled state." + ] }, - "mode": { + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "Prevention", - "Detection" - ] + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if it is in detection mode or prevention mode at policy level." + ] } }, - "description": "Defines contents of a web application firewall global configuration" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "PostArgsMatchConditionParameters": { - "type": "object", + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -4175,13 +4295,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -4193,24 +4312,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -4218,22 +4332,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRulePostArgsConditionParameters" - ] + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -4242,1079 +4357,116 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for PostArgs match conditions" + "type": "object" }, - "ProfileProperties": { - "type": "object", + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", "properties": { - "extendedProperties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Key-Value pair representing additional properties for profiles." + ] }, - "originResponseTimeoutSeconds": { + "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { - "type": "integer", - "minimum": 16 + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns." - } - }, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_afdEndpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" ] }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/AFDEndpointProperties" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The JSON object that contains the properties required to create an endpoint." + ] }, - "tags": { + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "object", - "additionalProperties": { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], "type": "string" }, - "properties": {} + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Resource tags." + ] }, - "type": { - "type": "string", - "enum": [ - "afdEndpoints" + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] } }, "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints" - }, - "profiles_afdEndpoints_routes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the routing rule." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RouteProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Routes to create." - }, - "type": { - "type": "string", - "enum": [ - "routes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" - }, - "profiles_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the domain under the profile which is unique globally" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDDomainProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/customDomains" - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-11-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestHeader match conditions" + "type": "object" }, "RequestMethodMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestMethod match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "GET", "HEAD", @@ -5323,16 +4475,18 @@ "DELETE", "OPTIONS", "TRACE" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5340,29 +4494,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5370,22 +4522,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestMethodConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5394,33 +4547,34 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestMethod match conditions" + "type": "object" }, "RequestSchemeMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestScheme match conditions ", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "HTTP", "HTTPS" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5428,29 +4582,27 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Equal" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5458,22 +4610,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestSchemeConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5482,29 +4635,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestScheme match conditions " + "type": "object" }, "RequestUriMatchConditionParameters": { - "type": "object", + "description": "Defines the parameters for RequestUri match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -5512,13 +4666,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -5530,20 +4683,19 @@ "GreaterThan", "GreaterThanOrEqual", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -5551,22 +4703,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRequestUriConditionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5575,74 +4728,75 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for RequestUri match conditions" + "type": "object" }, "ResourceReference": { - "type": "object", + "description": "Reference to another resource.", "properties": { "id": { - "type": "string", - "description": "Resource ID." + "description": "Resource ID.", + "type": "string" } }, - "description": "Reference to another resource." + "type": "object" }, "ResponseBasedOriginErrorDetectionParameters": { - "type": "object", + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", "properties": { "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy." + ] }, "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", "oneOf": [ { - "type": "string", "enum": [ "None", "TcpErrorsOnly", "TcpAndHttpErrors" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Type of response errors for real user requests for which origin will be deemed unhealthy." + ] }, "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", "oneOf": [ { - "type": "integer", + "maximum": 100, "minimum": 0, - "maximum": 100 + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The percentage of failed requests in the sample where failover should trigger." + ] } }, - "description": "The JSON object that contains the properties to determine origin health using real requests/responses." + "type": "object" }, "RouteConfigurationOverrideActionParameters": { - "type": "object", + "description": "Defines the parameters for the route configuration override action.", "properties": { "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/CacheConfiguration" @@ -5650,10 +4804,10 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", "oneOf": [ { "$ref": "#/definitions/OriginGroupOverride" @@ -5661,16 +4815,15 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Defines the parameters for the origin group override configuration." + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ "DeliveryRuleRouteConfigurationOverrideActionParameters" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -5681,12 +4834,13 @@ "required": [ "typeName" ], - "description": "Defines the parameters for the route configuration override action." + "type": "object" }, "RouteProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Routes to create.", "properties": { "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", "oneOf": [ { "$ref": "#/definitions/AfdRouteCacheConfiguration" @@ -5694,85 +4848,85 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object." + ] }, "customDomains": { + "description": "Domains referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Domains referenced by this endpoint." + ] }, "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'." + ] }, "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", "oneOf": [ { - "type": "string", "enum": [ "HttpOnly", "HttpsOnly", "MatchRequest" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Protocol this rule will use when forwarding traffic to backends." + ] }, "httpsRedirect": { + "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.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] }, "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", "oneOf": [ { - "type": "string", "enum": [ "Enabled", "Disabled" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "whether this route will be linked to the default endpoint domain." + ] }, "originGroup": { + "description": "A reference to the origin group.", "oneOf": [ { "$ref": "#/definitions/ResourceReference" @@ -5780,112 +4934,109 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] }, "originPath": { - "type": "string", - "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath." + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" }, "patternsToMatch": { + "description": "The route patterns of the rule.", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The route patterns of the rule." + ] }, "ruleSets": { + "description": "rule sets referenced by this endpoint.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "rule sets referenced by this endpoint." + ] }, "supportedProtocols": { + "description": "List of supported protocols for this route.", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Http", "Https" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of supported protocols for this route." + ] } }, - "required": [ - "originGroup" - ], - "description": "The JSON object that contains the properties of the Routes to create." + "type": "object" }, "RuleProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Rules to create.", "properties": { "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/DeliveryRuleAction1" - } + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of actions that are executed when all the conditions of a rule are satisfied." + ] }, "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "A list of conditions that must be matched for the actions to be executed" + ] }, "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", "oneOf": [ { - "type": "string", "enum": [ "Continue", "Stop" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue." + ] }, "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", "oneOf": [ { "type": "integer" @@ -5893,39 +5044,126 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "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." + ] } }, - "required": [ - "actions", - "order" - ], - "description": "The JSON object that contains the properties of the Rules to create." + "type": "object" }, "SecretParameters": { - "type": "object", + "description": "The json object containing secret parameters", "oneOf": [ { - "$ref": "#/definitions/UrlSigningKeyParameters" + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": { + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, { - "$ref": "#/definitions/ManagedCertificateParameters" + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" }, { - "$ref": "#/definitions/CustomerCertificateParameters" + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" }, { - "$ref": "#/definitions/AzureFirstPartyManagedCertificateParameters" + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" } ], "properties": {}, - "description": "The json object containing secret parameters" + "type": "object" }, "SecretProperties": { - "type": "object", + "description": "The JSON object that contains the properties of the Secret to create.", "properties": { "parameters": { + "description": "object which contains secret parameters", "oneOf": [ { "$ref": "#/definitions/SecretParameters" @@ -5933,16 +5171,16 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing secret parameters" + ] } }, - "description": "The JSON object that contains the properties of the Secret to create." + "type": "object" }, "SecurityPolicyProperties": { - "type": "object", + "description": "The json object that contains properties required to create a security policy", "properties": { "parameters": { + "description": "object which contains security policy parameters", "oneOf": [ { "$ref": "#/definitions/SecurityPolicyPropertiesParameters" @@ -5950,114 +5188,274 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The json object containing security policy parameters" + ] } }, - "description": "The json object that contains properties required to create a security policy" + "type": "object" }, "SecurityPolicyPropertiesParameters": { - "type": "object", + "description": "The json object containing security policy parameters", "oneOf": [ { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" } ], "properties": {}, - "description": "The json object containing security policy parameters" + "type": "object" }, "SecurityPolicyWebApplicationFirewallAssociation": { - "type": "object", + "description": "settings for security policy patterns to match", "properties": { "domains": { + "description": "List of domains.", "oneOf": [ { - "type": "array", "items": { "$ref": "#/definitions/ActivatedResourceReference" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of domains." + ] }, "patternsToMatch": { + "description": "List of paths", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of paths" + ] } }, - "description": "settings for security policy patterns to match" + "type": "object" }, - "SecurityPolicyWebApplicationFirewallParameters": { - "type": "object", + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", "properties": { - "associations": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Waf associations" + ] }, - "type": { - "type": "string", - "enum": [ - "WebApplicationFirewall" + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ] }, - "wafPolicy": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] } }, "required": [ - "type" + "typeName", + "operator" ], - "description": "The json object containing security policy waf parameters" + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" + }, + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" }, - "ServerPortMatchConditionParameters": { - "type": "object", + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6065,38 +5463,28 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "IPMatch" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6104,22 +5492,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleServerPortConditionParameters" - ] + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6128,108 +5517,119 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for ServerPort match conditions" + "type": "object" }, - "SharedPrivateLinkResourceProperties": { - "type": "object", + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", "properties": { - "groupId": { - "type": "string", - "description": "The group id from the provider of resource the shared private link resource is for." - }, - "privateLink": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "privateLinkLocation": { - "type": "string", - "description": "The location of the shared private link resource" + ] }, - "requestMessage": { - "type": "string", - "description": "The request message for requesting approval of the shared private link resource." + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] }, - "status": { + "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected", - "Timeout" - ] + "Equal" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout." - } - }, - "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." - }, - "Sku": { - "type": "object", - "properties": { - "name": { + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { "oneOf": [ { - "type": "string", "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" - ] + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Name of the pricing tier." + ] } }, - "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.\n" + "required": [ + "typeName", + "operator" + ], + "type": "object" }, - "SocketAddrMatchConditionParameters": { - "type": "object", + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6237,30 +5637,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", - "IPMatch" - ] + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6268,22 +5674,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSocketAddrConditionParameters" - ] + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6292,34 +5699,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SocketAddress match conditions" + "type": "object" }, - "SslProtocolMatchConditionParameters": { - "type": "object", + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - } + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6327,29 +5730,36 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ - "Equal" - ] + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched" + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6357,22 +5767,23 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleSslProtocolConditionParameters" - ] + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6381,29 +5792,30 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "operator" ], - "description": "Defines the parameters for SslProtocol match conditions" + "type": "object" }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", "properties": { "matchValues": { + "description": "The match value for the condition of the delivery rule", "oneOf": [ { - "type": "array", "items": { "type": "string" - } + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, "negateCondition": { + "description": "Describes if this is negate condition or not", "oneOf": [ { "type": "boolean" @@ -6411,13 +5823,12 @@ { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" + ] }, "operator": { + "description": "Describes operator to be matched", "oneOf": [ { - "type": "string", "enum": [ "Any", "Equal", @@ -6428,21 +5839,21 @@ "LessThanOrEqual", "GreaterThan", "GreaterThanOrEqual", + "Wildcard", "RegEx" - ] + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, "transforms": { + "description": "List of transforms", "oneOf": [ { - "type": "array", "items": { - "type": "string", "enum": [ "Lowercase", "Uppercase", @@ -6450,22 +5861,95 @@ "UrlDecode", "UrlEncode", "RemoveNulls" - ] - } + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6474,91 +5958,92 @@ } }, "required": [ - "operator", - "typeName" + "typeName", + "redirectType" ], - "description": "Defines the parameters for UrlFileExtension match conditions" + "type": "object" }, - "UrlFileNameMatchConditionParameters": { - "type": "object", + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", "properties": { - "matchValues": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", "oneOf": [ { - "type": "array", - "items": { - "type": "string" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The match value for the condition of the delivery rule" + ] }, - "negateCondition": { + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { "oneOf": [ { - "type": "boolean" + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] + "SHA256" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes operator to be matched." + ] }, - "transforms": { + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", "oneOf": [ { - "type": "array", "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, "typeName": { "oneOf": [ { - "type": "string", "enum": [ - "DeliveryRuleUrlFilenameConditionParameters" - ] + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -6567,446 +6052,602 @@ } }, "required": [ - "operator", "typeName" ], - "description": "Defines the parameters for UrlFilename match conditions" + "type": "object" }, - "UrlPathMatchConditionParameters": { - "type": "object", + "UrlSigningKey": { + "description": "Url signing key", "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" }, - "negateCondition": { + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/KeyVaultSigningKeyParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", "oneOf": [ { - "type": "string", "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard", - "RegEx" - ] + "Expires", + "KeyId", + "Signature" + ], + "type": "string" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "UserAssignedIdentity": { + "description": "User assigned identity properties", + "properties": {}, + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2022-11-01-preview" ], - "description": "Describes operator to be matched." + "type": "string" }, - "transforms": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", "oneOf": [ { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } + "$ref": "#/definitions/AFDEndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "List of transforms" + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlPathMatchConditionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" } }, "required": [ - "operator", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for UrlPath match conditions" + "type": "object" }, - "UrlRedirectAction": { - "type": "object", + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRedirect" - ] + "2022-11-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRedirectActionParameters" + "$ref": "#/definitions/RouteProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "routes" ], - "description": "Defines the parameters for the url redirect action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url redirect action for the delivery rule." + "type": "object" }, - "UrlRedirectActionParameters": { - "type": "object", + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", "properties": { - "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 #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." + "apiVersion": { + "enum": [ + "2022-11-01-preview" + ], + "type": "string" }, - "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." + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" }, - "destinationProtocol": { + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", "oneOf": [ { - "type": "string", - "enum": [ - "MatchRequest", - "Http", - "Https" - ] + "$ref": "#/definitions/AFDDomainProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2022-11-01-preview" ], - "description": "Protocol to use for the redirect. The default value is MatchRequest." + "type": "string" }, - "redirectType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Moved", - "Found", - "TemporaryRedirect", - "PermanentRedirect" - ] + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "The redirect type the rule will use when redirecting traffic." + ] }, - "typeName": { + "tags": { + "description": "Resource tags.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRedirectActionParameters" - ] + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" } }, "required": [ - "redirectType", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url redirect action." + "type": "object" }, - "UrlRewriteAction": { - "type": "object", + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlRewrite" - ] + "2022-11-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", "oneOf": [ { - "$ref": "#/definitions/UrlRewriteActionParameters" + "$ref": "#/definitions/CustomDomainPropertiesParameters" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "customDomains" ], - "description": "Defines the parameters for the url rewrite action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url rewrite action for the delivery rule." + "type": "object" }, - "UrlRewriteActionParameters": { - "type": "object", + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", "properties": { - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2022-11-01-preview" ], - "description": "Whether to preserve unmatched path. Default value is true." + "type": "string" }, - "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." + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" }, - "typeName": { + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlRewriteActionParameters" - ] + "$ref": "#/definitions/OriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" } }, "required": [ - "destination", - "sourcePattern", - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the url rewrite action." + "type": "object" }, - "UrlSigningAction": { - "type": "object", + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", "properties": { - "name": { - "type": "string", + "apiVersion": { "enum": [ - "UrlSigning" - ] + "2022-11-01-preview" + ], + "type": "string" }, - "parameters": { + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "$ref": "#/definitions/UrlSigningActionParameters" + "$ref": "#/definitions/OriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "origins" ], - "description": "Defines the parameters for the Url Signing action." + "type": "string" } }, "required": [ "name", - "parameters" + "properties", + "apiVersion", + "type" ], - "description": "Defines the url signing action for the delivery rule." + "type": "object" }, - "UrlSigningActionParameters": { - "type": "object", + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", "properties": { - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } + "apiVersion": { + "enum": [ + "2022-11-01-preview" ], - "description": "Algorithm to use for URL signing." + "type": "string" }, - "parameterNameOverride": { + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/UrlSigningParamIdentifier" - } + "$ref": "#/definitions/AFDOriginGroupProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2022-11-01-preview" ], - "description": "Defines which query string parameters in the url to be considered for expires, key id etc. " + "type": "string" }, - "typeName": { + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", "oneOf": [ { - "type": "string", - "enum": [ - "DeliveryRuleUrlSigningActionParameters" - ] + "$ref": "#/definitions/AFDOriginProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" } }, "required": [ - "typeName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines the parameters for the Url Signing action." + "type": "object" }, - "UrlSigningKey": { - "type": "object", + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", "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." + "apiVersion": { + "enum": [ + "2022-11-01-preview" + ], + "type": "string" }, - "keySourceParameters": { + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2022-11-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", "oneOf": [ { - "$ref": "#/definitions/KeyVaultSigningKeyParameters" + "$ref": "#/definitions/RuleProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ] + }, + "type": { + "enum": [ + "rules" ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + "type": "string" } }, "required": [ - "keyId", - "keySourceParameters" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Url signing key" + "type": "object" }, - "UrlSigningKeyParameters": { - "type": "object", + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", "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." + "apiVersion": { + "enum": [ + "2022-11-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" }, - "secretSource": { + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", "oneOf": [ { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/SecretProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Reference to another resource." - }, - "secretVersion": { - "type": "string", - "description": "Version of the secret to be used" + ] }, "type": { - "type": "string", "enum": [ - "UrlSigningKey" - ] + "secrets" + ], + "type": "string" } }, "required": [ - "keyId", - "secretSource", + "name", + "properties", + "apiVersion", "type" ], - "description": "Url signing key parameters" + "type": "object" }, - "UrlSigningParamIdentifier": { - "type": "object", + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", "properties": { - "paramIndicator": { + "apiVersion": { + "enum": [ + "2022-11-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", "oneOf": [ { - "type": "string", - "enum": [ - "Expires", - "KeyId", - "Signature" - ] + "$ref": "#/definitions/SecurityPolicyProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ], - "description": "Indicates the purpose of the parameter." + ] }, - "paramName": { - "type": "string", - "description": "Parameter name" + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" } }, "required": [ - "paramIndicator", - "paramName" + "name", + "properties", + "apiVersion", + "type" ], - "description": "Defines how to identify a parameter for a specific purpose e.g. expires" - }, - "UserAssignedIdentity": { - "type": "object", - "properties": {}, - "description": "User assigned identity properties" + "type": "object" } } } \ No newline at end of file diff --git a/schemas/2023-05-01/Microsoft.Cdn.json b/schemas/2023-05-01/Microsoft.Cdn.json new file mode 100644 index 0000000000..7ebc5814e5 --- /dev/null +++ b/schemas/2023-05-01/Microsoft.Cdn.json @@ -0,0 +1,6653 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "etag": { + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "The name of the CdnWebApplicationFirewallPolicy.", + "maxLength": 128, + "type": "string" + }, + "properties": { + "description": "Properties of the web application firewall policy.", + "oneOf": [ + { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles": { + "description": "Microsoft.Cdn/profiles", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create a profile.", + "oneOf": [ + { + "$ref": "#/definitions/ProfileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_secrets_childResource" + }, + { + "$ref": "#/definitions/profiles_ruleSets_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_afdEndpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_customDomains_childResource" + }, + { + "$ref": "#/definitions/profiles_securityPolicies_childResource" + } + ] + }, + "type": "array" + }, + "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints/routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_originGroups_origins_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_ruleSets_rules_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets/rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + }, + "definitions": { + "AFDDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a domain.", + "properties": { + "certificateType": { + "description": "Defines the source of the SSL certificate.", + "oneOf": [ + { + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "oneOf": [ + { + "enum": [ + "TLS10", + "TLS12" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "certificateType" + ], + "type": "object" + }, + "AFDDomainProperties": { + "description": "The JSON object that contains the properties of the domain to create.", + "properties": { + "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "description": "The host name of the domain. Must be a domain name.", + "type": "string" + }, + "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tlsSettings": { + "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.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "AFDEndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "oneOf": [ + { + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enforceCertificateNameCheck": { + "description": "Whether to enable certificate name check at origin level", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure 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", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", + "oneOf": [ + { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "AfdRouteCacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "compressionSettings": { + "description": "compression settings.", + "oneOf": [ + { + "$ref": "#/definitions/CompressionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CacheExpirationActionParameters": { + "description": "Defines the parameters for the cache expiration action.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "cacheType": { + "description": "The level at which the content needs to be cached.", + "oneOf": [ + { + "enum": [ + "All" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheExpirationActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "cacheBehavior", + "cacheType" + ], + "type": "object" + }, + "CacheKeyQueryStringActionParameters": { + "description": "Defines the parameters for the cache-key query string action.", + "properties": { + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "queryStringBehavior" + ], + "type": "object" + }, + "CdnWebApplicationFirewallPolicyProperties": { + "description": "Defines CDN web application firewall policy properties.", + "properties": { + "customRules": { + "description": "Describes custom rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/CustomRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/ManagedRuleSetList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "policySettings": { + "description": "Describes policySettings for policy", + "oneOf": [ + { + "$ref": "#/definitions/PolicySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/RateLimitRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ClientPortMatchConditionParameters": { + "description": "Defines the parameters for ClientPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleClientPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CompressionSettings": { + "description": "settings for compression.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Cookies to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCookiesConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CustomDomainPropertiesParameters": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/CustomRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "DeepCreatedOrigin": { + "description": "The main origin of CDN content which is added when creating a CDN endpoint.", + "properties": { + "name": { + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" + }, + "properties": { + "description": "Properties of the origin created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroup": { + "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": { + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroupProperties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "DeepCreatedOriginProperties": { + "description": "Properties of the origin created on the CDN endpoint.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "priority": { + "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.", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "DeliveryRule": { + "description": "A rule that specifies a set of actions and conditions", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Name of the rule", + "type": "string" + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "order", + "actions" + ], + "type": "object" + }, + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", + "oneOf": [ + { + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "oneOf": [ + { + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultOriginGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "properties": { + "description": { + "description": "User-friendly description of the policy.", + "type": "string" + }, + "rules": { + "description": "A list of the delivery rules.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rules" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", + "oneOf": [ + { + "enum": [ + "Block", + "Allow" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" + } + }, + "required": [ + "relativePath", + "action", + "countryCodes" + ], + "type": "object" + }, + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", + "properties": { + "headerAction": { + "description": "Action to perform", + "oneOf": [ + { + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + }, + "required": [ + "typeName", + "headerAction", + "headerName" + ], + "type": "object" + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "oneOf": [ + { + "maximum": 255, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", + "oneOf": [ + { + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probeRequestType": { + "description": "The type of health probe request that is made.", + "oneOf": [ + { + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "end": { + "description": "The inclusive end of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" + }, + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "KeyVaultSigningKeyParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" + } + }, + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" + ], + "type": "object" + }, + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "properties": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", + "oneOf": [ + { + "maximum": 20, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "type": "object" + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "type": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "oneOf": [ + { + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + "oneOf": [ + { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "MatchCondition": { + "description": "Define match conditions", + "properties": { + "matchValue": { + "description": "List of possible match values.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchVariable": { + "description": "Match variable to compare against.", + "oneOf": [ + { + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" + }, + "transforms": { + "description": "List of transforms.", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "type": "object" + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "properties": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "originGroup" + ], + "type": "object" + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", + "properties": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "oneOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "oneOf": [ + { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "oneOf": [ + { + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "oneOf": [ + { + "minimum": 16, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "oneOf": [ + { + "maximum": 60, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "oneOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestMethodConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestSchemeMatchConditionParameters": { + "description": "Defines the parameters for RequestScheme match conditions ", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "HTTP", + "HTTPS" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestSchemeConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestUriMatchConditionParameters": { + "description": "Defines the parameters for RequestUri match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestUriConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ResourceReference": { + "description": "Reference to another resource.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "ResponseBasedOriginErrorDetectionParameters": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", + "properties": { + "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", + "oneOf": [ + { + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", + "oneOf": [ + { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RouteConfigurationOverrideActionParameters": { + "description": "Defines the parameters for the route configuration override action.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/CacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverride" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRouteConfigurationOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "RouteProperties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customDomains": { + "description": "Domains referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsRedirect": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originPath": { + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSets": { + "description": "rule sets referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "supportedProtocols": { + "description": "List of supported protocols for this route.", + "oneOf": [ + { + "items": { + "enum": [ + "Http", + "Https" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RuleProperties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "oneOf": [ + { + "enum": [ + "Continue", + "Stop" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecretParameters": { + "description": "The json object containing secret parameters", + "oneOf": [ + { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": { + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + { + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" + }, + { + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" + }, + { + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecretProperties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "properties": { + "parameters": { + "description": "object which contains secret parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecretParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyProperties": { + "description": "The json object that contains properties required to create a security policy", + "properties": { + "parameters": { + "description": "object which contains security policy parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyPropertiesParameters": { + "description": "The json object containing security policy parameters", + "oneOf": [ + { + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", + "properties": { + "domains": { + "description": "List of domains.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "patternsToMatch": { + "description": "List of paths", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" + }, + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "redirectType" + ], + "type": "object" + }, + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", + "properties": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", + "oneOf": [ + { + "enum": [ + "SHA256" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "UrlSigningKey": { + "description": "Url signing key", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", + "oneOf": [ + { + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "UserAssignedIdentity": { + "description": "User assigned identity properties", + "properties": {}, + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-05-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + } +} \ No newline at end of file diff --git a/schemas/2023-07-01-preview/Microsoft.Cdn.json b/schemas/2023-07-01-preview/Microsoft.Cdn.json new file mode 100644 index 0000000000..afe44b2ac6 --- /dev/null +++ b/schemas/2023-07-01-preview/Microsoft.Cdn.json @@ -0,0 +1,6856 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "etag": { + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "The name of the CdnWebApplicationFirewallPolicy.", + "maxLength": 128, + "type": "string" + }, + "properties": { + "description": "Properties of the web application firewall policy.", + "oneOf": [ + { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles": { + "description": "Microsoft.Cdn/profiles", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create a profile.", + "oneOf": [ + { + "$ref": "#/definitions/ProfileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_secrets_childResource" + }, + { + "$ref": "#/definitions/profiles_ruleSets_childResource" + }, + { + "$ref": "#/definitions/profiles_keyGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_afdEndpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_customDomains_childResource" + }, + { + "$ref": "#/definitions/profiles_securityPolicies_childResource" + } + ] + }, + "type": "array" + }, + "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints/routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_keyGroups": { + "description": "Microsoft.Cdn/profiles/keyGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the KeyGroup under the profile.", + "oneOf": [ + { + "maxLength": 260, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "description": "The JSON object that contains the properties of the key group to create.", + "oneOf": [ + { + "$ref": "#/definitions/KeyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/keyGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_originGroups_origins_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_ruleSets_rules_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets/rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + }, + "definitions": { + "AFDDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a domain.", + "properties": { + "certificateType": { + "description": "Defines the source of the SSL certificate.", + "oneOf": [ + { + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "oneOf": [ + { + "enum": [ + "TLS10", + "TLS12" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "certificateType" + ], + "type": "object" + }, + "AFDDomainProperties": { + "description": "The JSON object that contains the properties of the domain to create.", + "properties": { + "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "description": "The host name of the domain. Must be a domain name.", + "type": "string" + }, + "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tlsSettings": { + "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.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "AFDEndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "oneOf": [ + { + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enforceCertificateNameCheck": { + "description": "Whether to enable certificate name check at origin level", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure 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", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", + "oneOf": [ + { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "AfdRouteCacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "compressionSettings": { + "description": "compression settings.", + "oneOf": [ + { + "$ref": "#/definitions/CompressionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AfdUrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", + "oneOf": [ + { + "enum": [ + "SHA256" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "keyGroupReference": { + "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}", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleAfdUrlSigningActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "keyGroupReference" + ], + "type": "object" + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CacheExpirationActionParameters": { + "description": "Defines the parameters for the cache expiration action.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "cacheType": { + "description": "The level at which the content needs to be cached.", + "oneOf": [ + { + "enum": [ + "All" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheExpirationActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "cacheBehavior", + "cacheType" + ], + "type": "object" + }, + "CacheKeyQueryStringActionParameters": { + "description": "Defines the parameters for the cache-key query string action.", + "properties": { + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "queryStringBehavior" + ], + "type": "object" + }, + "CdnWebApplicationFirewallPolicyProperties": { + "description": "Defines CDN web application firewall policy properties.", + "properties": { + "customRules": { + "description": "Describes custom rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/CustomRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/ManagedRuleSetList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "policySettings": { + "description": "Describes policySettings for policy", + "oneOf": [ + { + "$ref": "#/definitions/PolicySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/RateLimitRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ClientPortMatchConditionParameters": { + "description": "Defines the parameters for ClientPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleClientPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CompressionSettings": { + "description": "settings for compression.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Cookies to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCookiesConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CustomDomainPropertiesParameters": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/CustomRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "DeepCreatedOrigin": { + "description": "The main origin of CDN content which is added when creating a CDN endpoint.", + "properties": { + "name": { + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" + }, + "properties": { + "description": "Properties of the origin created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroup": { + "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": { + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroupProperties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "DeepCreatedOriginProperties": { + "description": "Properties of the origin created on the CDN endpoint.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "priority": { + "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.", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "DeliveryRule": { + "description": "A rule that specifies a set of actions and conditions", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Name of the rule", + "type": "string" + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "order", + "actions" + ], + "type": "object" + }, + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", + "oneOf": [ + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/AfdUrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "oneOf": [ + { + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultOriginGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "properties": { + "description": { + "description": "User-friendly description of the policy.", + "type": "string" + }, + "rules": { + "description": "A list of the delivery rules.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rules" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", + "oneOf": [ + { + "enum": [ + "Block", + "Allow" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" + } + }, + "required": [ + "relativePath", + "action", + "countryCodes" + ], + "type": "object" + }, + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", + "properties": { + "headerAction": { + "description": "Action to perform", + "oneOf": [ + { + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + }, + "required": [ + "typeName", + "headerAction", + "headerName" + ], + "type": "object" + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "oneOf": [ + { + "maximum": 255, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", + "oneOf": [ + { + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probeRequestType": { + "description": "The type of health probe request that is made.", + "oneOf": [ + { + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "end": { + "description": "The inclusive end of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyGroupProperties": { + "description": "The JSON object that contains the properties of the key group to create.", + "properties": { + "keyReferences": { + "description": "Names of UrlSigningKey type secret objects", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" + }, + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "KeyVaultSigningKeyParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" + } + }, + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" + ], + "type": "object" + }, + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "properties": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", + "oneOf": [ + { + "maximum": 20, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "type": "object" + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "type": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "oneOf": [ + { + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + "oneOf": [ + { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "MatchCondition": { + "description": "Define match conditions", + "properties": { + "matchValue": { + "description": "List of possible match values.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchVariable": { + "description": "Match variable to compare against.", + "oneOf": [ + { + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" + }, + "transforms": { + "description": "List of transforms.", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "type": "object" + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "properties": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "originGroup" + ], + "type": "object" + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", + "properties": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "oneOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "oneOf": [ + { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "oneOf": [ + { + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "oneOf": [ + { + "minimum": 16, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "oneOf": [ + { + "maximum": 60, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "oneOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestMethodConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestSchemeMatchConditionParameters": { + "description": "Defines the parameters for RequestScheme match conditions ", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "HTTP", + "HTTPS" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestSchemeConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestUriMatchConditionParameters": { + "description": "Defines the parameters for RequestUri match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestUriConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ResourceReference": { + "description": "Reference to another resource.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "ResponseBasedOriginErrorDetectionParameters": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", + "properties": { + "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", + "oneOf": [ + { + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", + "oneOf": [ + { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RouteConfigurationOverrideActionParameters": { + "description": "Defines the parameters for the route configuration override action.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/CacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverride" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRouteConfigurationOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "RouteProperties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customDomains": { + "description": "Domains referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsRedirect": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originPath": { + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSets": { + "description": "rule sets referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "supportedProtocols": { + "description": "List of supported protocols for this route.", + "oneOf": [ + { + "items": { + "enum": [ + "Http", + "Https" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RuleProperties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "oneOf": [ + { + "enum": [ + "Continue", + "Stop" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecretParameters": { + "description": "The json object containing secret parameters", + "oneOf": [ + { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": { + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + { + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" + }, + { + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" + }, + { + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecretProperties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "properties": { + "parameters": { + "description": "object which contains secret parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecretParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyProperties": { + "description": "The json object that contains properties required to create a security policy", + "properties": { + "parameters": { + "description": "object which contains security policy parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyPropertiesParameters": { + "description": "The json object containing security policy parameters", + "oneOf": [ + { + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", + "properties": { + "domains": { + "description": "List of domains.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "patternsToMatch": { + "description": "List of paths", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" + }, + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "redirectType" + ], + "type": "object" + }, + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", + "properties": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", + "oneOf": [ + { + "enum": [ + "SHA256" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "UrlSigningKey": { + "description": "Url signing key", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", + "oneOf": [ + { + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "UserAssignedIdentity": { + "description": "User assigned identity properties", + "properties": {}, + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_keyGroups_childResource": { + "description": "Microsoft.Cdn/profiles/keyGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the KeyGroup under the profile.", + "oneOf": [ + { + "maxLength": 260, + "minLength": 1, + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "description": "The JSON object that contains the properties of the key group to create.", + "oneOf": [ + { + "$ref": "#/definitions/KeyGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "keyGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2023-07-01-preview" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + } +} \ No newline at end of file diff --git a/schemas/2024-02-01/Microsoft.Cdn.json b/schemas/2024-02-01/Microsoft.Cdn.json new file mode 100644 index 0000000000..5efc5ec702 --- /dev/null +++ b/schemas/2024-02-01/Microsoft.Cdn.json @@ -0,0 +1,6758 @@ +{ + "id": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "$schema": "http://json-schema.org/draft-04/schema#", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "etag": { + "description": "Gets a unique read-only string that changes whenever the resource is updated.", + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "The name of the CdnWebApplicationFirewallPolicy.", + "maxLength": 128, + "type": "string" + }, + "properties": { + "description": "Properties of the web application firewall policy.", + "oneOf": [ + { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles": { + "description": "Microsoft.Cdn/profiles", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create a profile.", + "oneOf": [ + { + "$ref": "#/definitions/ProfileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_secrets_childResource" + }, + { + "$ref": "#/definitions/profiles_ruleSets_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_afdEndpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_customDomains_childResource" + }, + { + "$ref": "#/definitions/profiles_securityPolicies_childResource" + } + ] + }, + "type": "array" + }, + "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_afdEndpoints_routes_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/afdEndpoints/routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" + } + ] + }, + "type": "array" + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_originGroups_origins_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/originGroups/origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "resources": { + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_ruleSets_rules_childResource" + } + ] + }, + "type": "array" + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/ruleSets/rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "Microsoft.Cdn/profiles/securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + }, + "definitions": { + "AFDDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a domain.", + "properties": { + "certificateType": { + "description": "Defines the source of the SSL certificate.", + "oneOf": [ + { + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "oneOf": [ + { + "enum": [ + "TLS10", + "TLS12" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "certificateType" + ], + "type": "object" + }, + "AFDDomainProperties": { + "description": "The JSON object that contains the properties of the domain to create.", + "properties": { + "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "description": "The host name of the domain. Must be a domain name.", + "type": "string" + }, + "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tlsSettings": { + "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.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "AFDEndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "oneOf": [ + { + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "AFDOriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enforceCertificateNameCheck": { + "description": "Whether to enable certificate name check at origin level", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure 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", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", + "oneOf": [ + { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ActivatedResourceReference": { + "description": "Reference to another resource along with its state.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "AfdRouteCacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "compressionSettings": { + "description": "compression settings.", + "oneOf": [ + { + "$ref": "#/definitions/CompressionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringCachingBehavior": { + "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.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CacheExpirationActionParameters": { + "description": "Defines the parameters for the cache expiration action.", + "properties": { + "cacheBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + }, + "cacheType": { + "description": "The level at which the content needs to be cached.", + "oneOf": [ + { + "enum": [ + "All" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheExpirationActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "cacheBehavior", + "cacheType" + ], + "type": "object" + }, + "CacheKeyQueryStringActionParameters": { + "description": "Defines the parameters for the cache-key query string action.", + "properties": { + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "queryStringBehavior": { + "description": "Caching behavior for the requests", + "oneOf": [ + { + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "queryStringBehavior" + ], + "type": "object" + }, + "CdnWebApplicationFirewallPolicyProperties": { + "description": "Defines CDN web application firewall policy properties.", + "properties": { + "customRules": { + "description": "Describes custom rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/CustomRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/ManagedRuleSetList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "policySettings": { + "description": "Describes policySettings for policy", + "oneOf": [ + { + "$ref": "#/definitions/PolicySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", + "oneOf": [ + { + "$ref": "#/definitions/RateLimitRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ClientPortMatchConditionParameters": { + "description": "Defines the parameters for ClientPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleClientPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CompressionSettings": { + "description": "settings for compression.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "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.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Cookies to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleCookiesConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "CustomDomainPropertiesParameters": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/CustomRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "DeepCreatedOrigin": { + "description": "The main origin of CDN content which is added when creating a CDN endpoint.", + "properties": { + "name": { + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" + }, + "properties": { + "description": "Properties of the origin created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroup": { + "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": { + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "DeepCreatedOriginGroupProperties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "DeepCreatedOriginProperties": { + "description": "Properties of the origin created on the CDN endpoint.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "priority": { + "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.", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "hostName" + ], + "type": "object" + }, + "DeliveryRule": { + "description": "A rule that specifies a set of actions and conditions", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Name of the rule", + "type": "string" + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "order", + "actions" + ], + "type": "object" + }, + "DeliveryRuleActionAutoGenerated": { + "description": "An action for the delivery rule.", + "oneOf": [ + { + "description": "Defines the cache expiration action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the cache-key query string action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the request header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the response header action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the origin group override action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url redirect action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url rewrite action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the url signing action for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "oneOf": [ + { + "description": "Defines the ClientPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the Cookies condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/CookiesMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HostName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the HttpVersion condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the IsDevice condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the PostArgs condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the QueryString condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestBody condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestHeader condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestMethod condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestScheme condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the RequestUri condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the ServerPort condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SocketAddress condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the SslProtocol condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlFileName condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + }, + { + "description": "Defines the UrlPath condition for the delivery rule.", + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "parameters" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultOriginGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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.", + "oneOf": [ + { + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "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.", + "type": "string" + }, + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "origins": { + "description": "The source of the content being delivered via CDN.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "oneOf": [ + { + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "origins" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersDeliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "properties": { + "description": { + "description": "User-friendly description of the policy.", + "type": "string" + }, + "rules": { + "description": "A list of the delivery rules.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rules" + ], + "type": "object" + }, + "EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "properties": { + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", + "oneOf": [ + { + "enum": [ + "Block", + "Allow" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" + } + }, + "required": [ + "relativePath", + "action", + "countryCodes" + ], + "type": "object" + }, + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", + "properties": { + "headerAction": { + "description": "Action to perform", + "oneOf": [ + { + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHeaderActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + }, + "required": [ + "typeName", + "headerAction", + "headerName" + ], + "type": "object" + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "oneOf": [ + { + "maximum": 255, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", + "oneOf": [ + { + "enum": [ + "NotSet", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "probeRequestType": { + "description": "The type of health probe request that is made.", + "oneOf": [ + { + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "end": { + "description": "The inclusive end of the http status code range.", + "oneOf": [ + { + "maximum": 999, + "minimum": 100, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "Mobile", + "Desktop" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleIsDeviceConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "properties": { + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" + }, + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "KeyVaultSigningKeyParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" + } + }, + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" + ], + "type": "object" + }, + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "properties": { + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "ruleGroupName" + ], + "type": "object" + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "properties": { + "action": { + "description": "Describes the override action to be applied when rule matches.", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + }, + "required": [ + "ruleId" + ], + "type": "object" + }, + "ManagedRuleSet": { + "description": "Defines a managed rule set.", + "properties": { + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", + "oneOf": [ + { + "maximum": 20, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "type": "object" + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ManagedServiceIdentity": { + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "type": { + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", + "oneOf": [ + { + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + "oneOf": [ + { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "MatchCondition": { + "description": "Define match conditions", + "properties": { + "matchValue": { + "description": "List of possible match values.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchVariable": { + "description": "Match variable to compare against.", + "oneOf": [ + { + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" + }, + "transforms": { + "description": "List of transforms.", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "type": "object" + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "properties": { + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "originGroup" + ], + "type": "object" + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", + "oneOf": [ + { + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "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.", + "oneOf": [ + { + "maximum": 50, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "enabled": { + "description": "Origin is enabled for load balancing or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "hostName": { + "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.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "oneOf": [ + { + "maximum": 65535, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "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", + "oneOf": [ + { + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "oneOf": [ + { + "maximum": 1000, + "minimum": 1, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PolicySettings": { + "description": "Defines contents of a web application firewall global configuration", + "properties": { + "defaultCustomBlockResponseBody": { + "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.", + "oneOf": [ + { + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$", + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "oneOf": [ + { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "oneOf": [ + { + "enum": [ + "Prevention", + "Detection" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ProfileLogScrubbing": { + "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.", + "properties": { + "scrubbingRules": { + "description": "List of log scrubbing rules applied to the Azure Front Door profile logs.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ProfileScrubbingRules" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "state": { + "description": "State of the log scrubbing config. Default value is Enabled.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": { + "logScrubbing": { + "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.", + "oneOf": [ + { + "$ref": "#/definitions/ProfileLogScrubbing" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "oneOf": [ + { + "minimum": 16, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ProfileScrubbingRules": { + "description": "Defines the contents of the log scrubbing rules.", + "properties": { + "matchVariable": { + "description": "The variable to be scrubbed from the logs.", + "oneOf": [ + { + "enum": [ + "RequestIPAddress", + "RequestUri", + "QueryStringArgNames" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to.", + "type": "string" + }, + "selectorMatchOperator": { + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to.", + "oneOf": [ + { + "enum": [ + "EqualsAny" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "state": { + "description": "Defines the state of a log scrubbing rule. Default value is enabled.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator" + ], + "type": "object" + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", + "properties": { + "action": { + "description": "Describes what action to be applied when rule matches", + "oneOf": [ + { + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "oneOf": [ + { + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchConditions": { + "description": "List of match conditions.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "oneOf": [ + { + "maximum": 1000, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "oneOf": [ + { + "maximum": 60, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "oneOf": [ + { + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes", + "name", + "priority", + "matchConditions", + "action" + ], + "type": "object" + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "properties": { + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRemoteAddressConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestBodyConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestMethodConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestSchemeMatchConditionParameters": { + "description": "Defines the parameters for RequestScheme match conditions ", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "HTTP", + "HTTPS" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestSchemeConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "RequestUriMatchConditionParameters": { + "description": "Defines the parameters for RequestUri match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRequestUriConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "ResourceReference": { + "description": "Reference to another resource.", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + }, + "type": "object" + }, + "ResponseBasedOriginErrorDetectionParameters": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", + "properties": { + "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", + "oneOf": [ + { + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", + "oneOf": [ + { + "maximum": 100, + "minimum": 0, + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RouteConfigurationOverrideActionParameters": { + "description": "Defines the parameters for the route configuration override action.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/CacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverride" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleRouteConfigurationOverrideActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "RouteProperties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "properties": { + "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", + "oneOf": [ + { + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customDomains": { + "description": "Domains referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "oneOf": [ + { + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "httpsRedirect": { + "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.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", + "oneOf": [ + { + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "description": "A reference to the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originPath": { + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "ruleSets": { + "description": "rule sets referenced by this endpoint.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "supportedProtocols": { + "description": "List of supported protocols for this route.", + "oneOf": [ + { + "items": { + "enum": [ + "Http", + "Https" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "RuleProperties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "properties": { + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleActionAutoGenerated" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "oneOf": [ + { + "enum": [ + "Continue", + "Stop" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecretParameters": { + "description": "The json object containing secret parameters", + "oneOf": [ + { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "properties": { + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + { + "description": "Customer Certificate used for https", + "properties": { + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "secretSource" + ], + "type": "object" + }, + { + "description": "Managed Certificate used for https", + "properties": {}, + "type": "object" + }, + { + "description": "Url signing key parameters", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "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}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + }, + "required": [ + "keyId", + "secretSource" + ], + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecretProperties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "properties": { + "parameters": { + "description": "object which contains secret parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecretParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyProperties": { + "description": "The json object that contains properties required to create a security policy", + "properties": { + "parameters": { + "description": "object which contains security policy parameters", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SecurityPolicyPropertiesParameters": { + "description": "The json object containing security policy parameters", + "oneOf": [ + { + "description": "The json object containing security policy waf parameters", + "properties": { + "associations": { + "description": "Waf associations", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "wafPolicy": { + "description": "Resource ID.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + } + ], + "properties": {}, + "type": "object" + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", + "properties": { + "domains": { + "description": "List of domains.", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "patternsToMatch": { + "description": "List of paths", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin.", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for.", + "type": "string" + }, + "privateLink": { + "description": "The resource id of the resource the shared private link resource is for.", + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "privateLinkLocation": { + "description": "The location of the shared private link resource", + "type": "string" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource.", + "type": "string" + }, + "status": { + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "oneOf": [ + { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "Sku": { + "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.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "oneOf": [ + { + "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" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "type": "object" + }, + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "IPMatch" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSocketAddrConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Equal" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleSslProtocolConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlFilenameConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "properties": { + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "oneOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "operator": { + "description": "Describes operator to be matched", + "oneOf": [ + { + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "transforms": { + "description": "List of transforms", + "oneOf": [ + { + "items": { + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "type": "string" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "operator" + ], + "type": "object" + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "properties": { + "customFragment": { + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "oneOf": [ + { + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "oneOf": [ + { + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRedirectActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "redirectType" + ], + "type": "object" + }, + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", + "properties": { + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName", + "sourcePattern", + "destination" + ], + "type": "object" + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "properties": { + "algorithm": { + "description": "Algorithm to use for URL signing", + "oneOf": [ + { + "enum": [ + "SHA256" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "oneOf": [ + { + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "type": "array" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "typeName": { + "oneOf": [ + { + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "type": "object" + }, + "UrlSigningKey": { + "description": "Url signing key", + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "keyId", + "keySourceParameters" + ], + "type": "object" + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", + "oneOf": [ + { + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "type": "object" + }, + "UserAssignedIdentity": { + "description": "User assigned identity properties", + "properties": {}, + "type": "object" + }, + "profiles_afdEndpoints_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "afdEndpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_afdEndpoints_routes_childResource": { + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the routing rule.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "oneOf": [ + { + "$ref": "#/definitions/RouteProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "routes" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the domain under the profile which is unique globally", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "location": { + "description": "Resource location.", + "type": "string" + }, + "name": { + "description": "Name of the endpoint under the profile which is unique globally.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "description": "Resource tags.", + "oneOf": [ + { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "endpoints" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_customDomains_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/customDomains", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the custom domain within an endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "customDomains" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_endpoints_origins_childResource": { + "description": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin group which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin group.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "originGroups" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_originGroups_origins_childResource": { + "description": "Microsoft.Cdn/profiles/originGroups/origins", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the origin that is unique within the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the origin.", + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "origins" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the rule set under the profile which is unique globally", + "type": "string" + }, + "type": { + "enum": [ + "ruleSets" + ], + "type": "string" + } + }, + "required": [ + "name", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_ruleSets_rules_childResource": { + "description": "Microsoft.Cdn/profiles/ruleSets/rules", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the delivery rule which is unique within the endpoint.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "rules" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_secrets_childResource": { + "description": "Microsoft.Cdn/profiles/secrets", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the Secret under the profile.", + "type": "string" + }, + "properties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "secrets" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + }, + "profiles_securityPolicies_childResource": { + "description": "Microsoft.Cdn/profiles/securityPolicies", + "properties": { + "apiVersion": { + "enum": [ + "2024-02-01" + ], + "type": "string" + }, + "name": { + "description": "Name of the security policy under the profile.", + "type": "string" + }, + "properties": { + "description": "The json object that contains properties required to create a security policy", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "enum": [ + "securityPolicies" + ], + "type": "string" + } + }, + "required": [ + "name", + "properties", + "apiVersion", + "type" + ], + "type": "object" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index b9311ec020..a96ceada26 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -7015,6 +7015,144 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_keyGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-07-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2024-02-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-08-01/Microsoft.CertificateRegistration.json#/resourceDefinitions/certificateOrders" },