From f8ff8f9c917f6271214e2b15c418bbd67bc3371c Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 7 Oct 2022 02:03:55 +0000 Subject: [PATCH] CodeGen from PR 20979 in Azure/azure-rest-api-specs Merge 01dcf5f1dcc0a3d1bc6a445f90b48bcaf46041f4 into c6d726e3762a96aff48eb04f80c5e4735ec393c1 --- schemas/2022-11-01-preview/Microsoft.Cdn.json | 7013 +++++++++++++++++ schemas/common/autogeneratedResources.json | 45 + 2 files changed, 7058 insertions(+) create mode 100644 schemas/2022-11-01-preview/Microsoft.Cdn.json diff --git a/schemas/2022-11-01-preview/Microsoft.Cdn.json b/schemas/2022-11-01-preview/Microsoft.Cdn.json new file mode 100644 index 0000000000..e6f94e214e --- /dev/null +++ b/schemas/2022-11-01-preview/Microsoft.Cdn.json @@ -0,0 +1,7013 @@ +{ + "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", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "maxLength": 128, + "description": "The name of the CdnWebApplicationFirewallPolicy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines CDN web application firewall policy properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$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": { + "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": [ + "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Cdn/cdnWebApplicationFirewallPolicies" + }, + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/MsiIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Identity" + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "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." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProfileProperties" + }, + { + "$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_afdEndpoints_childResource" + }, + { + "$ref": "#/definitions/profiles_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_ruleSets_childResource" + }, + { + "$ref": "#/definitions/profiles_securityPolicies_childResource" + }, + { + "$ref": "#/definitions/profiles_secrets_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$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": { + "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": [ + "Microsoft.Cdn/profiles" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Cdn/profiles" + }, + "profiles_afdEndpoints": { + "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/AFDEndpointProperties" + }, + { + "$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" + } + ] + } + }, + "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": [ + "Microsoft.Cdn/profiles/afdEndpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/afdEndpoints" + }, + "profiles_afdEndpoints_routes": { + "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": [ + "Microsoft.Cdn/profiles/afdEndpoints/routes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/afdEndpoints/routes" + }, + "profiles_customDomains": { + "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": [ + "Microsoft.Cdn/profiles/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/customDomains" + }, + "profiles_endpoints": { + "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." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_originGroups_childResource" + }, + { + "$ref": "#/definitions/profiles_endpoints_customDomains_childResource" + } + ] + } + }, + "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": [ + "Microsoft.Cdn/profiles/endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains": { + "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": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups": { + "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": [ + "Microsoft.Cdn/profiles/endpoints/originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins": { + "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": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "profiles_originGroups": { + "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." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_originGroups_origins_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups" + }, + "profiles_originGroups_origins": { + "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": [ + "Microsoft.Cdn/profiles/originGroups/origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups/origins" + }, + "profiles_ruleSets": { + "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" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_ruleSets_rules_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/ruleSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets" + }, + "profiles_ruleSets_rules": { + "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": [ + "Microsoft.Cdn/profiles/ruleSets/rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets/rules" + }, + "profiles_secrets": { + "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": [ + "Microsoft.Cdn/profiles/secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies": { + "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": [ + "Microsoft.Cdn/profiles/securityPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/securityPolicies" + } + }, + "definitions": { + "ActivatedResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another resource along with its state." + }, + "AFDDomainHttpsParameters": { + "type": "object", + "properties": { + "certificateType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the source of the SSL certificate." + }, + "minimumTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TLS10", + "TLS12" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "TLS protocol version that will be used for Https." + }, + "secret": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$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." + }, + "AFDDomainProperties": { + "type": "object", + "properties": { + "azureDnsZone": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + }, + "extendedProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$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." + }, + "preValidatedCustomDomainResourceId": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + }, + "tlsSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + { + "$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." + }, + "AFDEndpointProperties": { + "type": "object", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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." + }, + "AFDOriginGroupProperties": { + "type": "object", + "properties": { + "healthProbeSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Round-Robin load balancing settings for a backend pool" + }, + "sessionAffinityState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 50 + }, + { + "$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." + }, + "AFDOriginProperties": { + "type": "object", + "properties": { + "azureOrigin": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$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." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + { + "$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": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 5 + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + { + "$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": { + "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" + } + }, + "required": [ + "hostName" + ], + "description": "The JSON object that contains the properties of the origin." + }, + "AfdRouteCacheConfiguration": { + "type": "object", + "properties": { + "compressionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/CompressionSettings" + }, + { + "$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)." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ] + }, + { + "$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." + }, + "CacheConfiguration": { + "type": "object", + "properties": { + "cacheBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ] + }, + { + "$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" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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)." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ] + }, + { + "$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." + }, + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "cacheBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ] + }, + { + "$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" + }, + "cacheType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "All" + ] + }, + { + "$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" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "cacheBehavior", + "cacheType", + "typeName" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "queryParameters": { + "type": "string", + "description": "query parameters to include or exclude (comma separated)." + }, + "queryStringBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Caching behavior for the requests." + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "queryStringBehavior", + "typeName" + ], + "description": "Defines the parameters for the cache-key query string action." + }, + "CdnWebApplicationFirewallPolicyProperties": { + "type": "object", + "properties": { + "customRules": { + "oneOf": [ + { + "$ref": "#/definitions/CustomRuleList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines contents of custom rules" + }, + "extendedProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedRuleSetList" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the list of managed rule sets for the policy." + }, + "policySettings": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines contents of a web application firewall global configuration" + }, + "rateLimitRules": { + "oneOf": [ + { + "$ref": "#/definitions/RateLimitRuleList" + }, + { + "$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." + }, + "ClientPortMatchConditionParameters": { + "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": [ + "DeliveryRuleClientPortConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for ClientPort match conditions" + }, + "CompressionSettings": { + "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." + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$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." + }, + "CookiesMatchConditionParameters": { + "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 Cookies 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": [ + "DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for Cookies match conditions" + }, + "CustomDomainPropertiesParameters": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The host name of the custom domain. Must be a domain name." + } + }, + "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" + }, + "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": { + "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" + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority" + ], + "description": "Defines the common attributes for a custom rule that can be included in a waf policy" + }, + "CustomRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of custom rules" + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name which must be unique within the endpoint. " + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$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." + }, + "DeepCreatedOriginGroup": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin group name which must be unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + }, + { + "$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." + }, + "DeepCreatedOriginGroupProperties": { + "type": "object", + "properties": { + "healthProbeSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + } + }, + { + "$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": { + "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 + }, + { + "$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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$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." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + { + "$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." + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 5 + }, + { + "$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" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of the origin created on the CDN endpoint." + }, + "DeliveryRule": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction1" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + } + }, + { + "$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" + }, + "order": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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": "A rule that specifies a set of actions and conditions" + }, + "DeliveryRuleAction1": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectAction" + }, + { + "$ref": "#/definitions/UrlSigningAction" + }, + { + "$ref": "#/definitions/OriginGroupOverrideAction" + }, + { + "$ref": "#/definitions/UrlRewriteAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + }, + { + "$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 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" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/ClientPortMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for ClientPort match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the ClientPort condition for the delivery rule." + }, + "DeliveryRuleCondition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DeliveryRuleRemoteAddressCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestMethodCondition" + }, + { + "$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" + }, + { + "$ref": "#/definitions/DeliveryRuleCookiesCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleIsDeviceCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleSocketAddrCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleClientPortCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleServerPortCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleHostNameCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleSslProtocolCondition" + } + ], + "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 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": { + "oneOf": [ + { + "$ref": "#/definitions/HostNameMatchConditionParameters" + }, + { + "$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": { + "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." + }, + "DeliveryRuleRouteConfigurationOverrideAction": { + "type": "object", + "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." + } + }, + "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": { + "oneOf": [ + { + "$ref": "#/definitions/ServerPortMatchConditionParameters" + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + }, + { + "$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": { + "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": { + "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." + }, + "originGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of keys used to validate the signed URL hashes." + }, + "webApplicationFirewallPolicyLink": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink" + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRule" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Block", + "Allow" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$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" + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "headerAction", + "headerName", + "typeName" + ], + "description": "Defines the parameters for the request header action." + }, + "HealthProbeParameters": { + "type": "object", + "properties": { + "probeIntervalInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 255 + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSet", + "Http", + "Https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol to use for health probe." + }, + "probeRequestType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSet", + "GET", + "HEAD" + ] + }, + { + "$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." + }, + "HostNameMatchConditionParameters": { + "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": [ + "DeliveryRuleHostNameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for HostName match conditions" + }, + "HttpErrorRangeParameters": { + "type": "object", + "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": { + "oneOf": [ + { + "type": "integer", + "minimum": 100, + "maximum": 999 + }, + { + "$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" + }, + "HttpVersionMatchConditionParameters": { + "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": [ + "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": [ + "DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$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": { + "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": [ + "DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "KeyVaultSigningKeyParameters": { + "type": "object", + "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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "KeyVaultSigningKeyParameters" + ] + }, + { + "$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": { + "oneOf": [ + { + "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": { + "oneOf": [ + { + "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": { + "oneOf": [ + { + "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" + }, + "ManagedRuleGroupOverride": { + "type": "object", + "properties": { + "ruleGroupName": { + "type": "string", + "description": "Describes the managed rule group within the rule set to override" + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the override 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 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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + } + }, + { + "$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." + }, + "MatchCondition": { + "type": "object", + "properties": { + "matchValue": { + "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" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match variable to compare against." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the result of this condition should be negated." + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ] + }, + { + "$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." + }, + "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": [ + "matchValue", + "matchVariable", + "operator" + ], + "description": "Define match conditions" + }, + "MsiIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemUserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the identity." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "type", + "userAssignedIdentities" + ], + "description": "The Identity" + }, + "OriginGroupOverride": { + "type": "object", + "properties": { + "forwardingProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol this rule will use when forwarding traffic to backends." + }, + "originGroup": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$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": { + "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." + }, + "OriginGroupOverrideActionParameters": { + "type": "object", + "properties": { + "originGroup": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ] + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/HealthProbeParameters" + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + } + }, + { + "$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": { + "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 + }, + { + "$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": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$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": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + { + "$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": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 5 + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + }, + { + "$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": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Prevention", + "Detection" + ] + }, + { + "$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" + }, + "PostArgsMatchConditionParameters": { + "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 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" + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": { + "extendedProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key-Value pair representing additional properties for profiles." + }, + "originResponseTimeoutSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 16 + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/AFDEndpointProperties" + }, + { + "$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": [ + "afdEndpoints" + ] + } + }, + "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" + ], + "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" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + } + }, + { + "$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": [ + "DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "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": [ + "DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for RequestUri match conditions" + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another resource." + }, + "ResponseBasedOriginErrorDetectionParameters": { + "type": "object", + "properties": { + "httpErrorRanges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + { + "$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." + }, + "RouteConfigurationOverrideActionParameters": { + "type": "object", + "properties": { + "cacheConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CacheConfiguration" + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverride" + }, + { + "$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" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "description": "Defines the parameters for the route configuration override action." + }, + "RouteProperties": { + "type": "object", + "properties": { + "cacheConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Domains referenced by this endpoint." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Protocol this rule will use when forwarding traffic to backends." + }, + "httpsRedirect": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$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": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$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." + }, + "patternsToMatch": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The route patterns of the rule." + }, + "ruleSets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "rule sets referenced by this endpoint." + }, + "supportedProtocols": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Http", + "Https" + ] + } + }, + { + "$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." + }, + "RuleProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction1" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + } + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Continue", + "Stop" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "integer" + }, + { + "$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." + }, + "SecretParameters": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningKeyParameters" + }, + { + "$ref": "#/definitions/ManagedCertificateParameters" + }, + { + "$ref": "#/definitions/CustomerCertificateParameters" + }, + { + "$ref": "#/definitions/AzureFirstPartyManagedCertificateParameters" + } + ], + "properties": {}, + "description": "The json object containing secret parameters" + }, + "SecretProperties": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/SecretParameters" + }, + { + "$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." + }, + "SecurityPolicyProperties": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + }, + { + "$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" + }, + "SecurityPolicyPropertiesParameters": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + } + ], + "properties": {}, + "description": "The json object containing security policy parameters" + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "type": "object", + "properties": { + "domains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of domains." + }, + "patternsToMatch": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths" + } + }, + "description": "settings for security policy patterns to match" + }, + "SecurityPolicyWebApplicationFirewallParameters": { + "type": "object", + "properties": { + "associations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Waf associations" + }, + "type": { + "type": "string", + "enum": [ + "WebApplicationFirewall" + ] + }, + "wafPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$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" + }, + "ServerPortMatchConditionParameters": { + "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": [ + "DeliveryRuleServerPortConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for ServerPort match conditions" + }, + "SharedPrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "privateLink": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$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." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ] + }, + { + "$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": { + "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" + ] + }, + { + "$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" + }, + "SocketAddrMatchConditionParameters": { + "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", + "IPMatch" + ] + }, + { + "$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": [ + "DeliveryRuleSocketAddrConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for SocketAddress match conditions" + }, + "SslProtocolMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + } + }, + { + "$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": [ + "DeliveryRuleSslProtocolConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for SslProtocol match conditions" + }, + "UrlFileExtensionMatchConditionParameters": { + "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": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "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": [ + "DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "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", + "Wildcard", + "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": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "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." + }, + "UrlRedirectActionParameters": { + "type": "object", + "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." + }, + "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." + }, + "destinationProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "MatchRequest", + "Http", + "Https" + ] + }, + { + "$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": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The redirect type the rule will use when redirecting traffic." + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "redirectType", + "typeName" + ], + "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." + }, + "UrlRewriteActionParameters": { + "type": "object", + "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" + } + ], + "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." + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "destination", + "sourcePattern", + "typeName" + ], + "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" + ], + "description": "Defines the url signing action for the delivery rule." + }, + "UrlSigningActionParameters": { + "type": "object", + "properties": { + "algorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SHA256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Algorithm to use for URL signing." + }, + "parameterNameOverride": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + } + }, + { + "$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. " + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "typeName" + ], + "description": "Defines the parameters for the Url Signing action." + }, + "UrlSigningKey": { + "type": "object", + "properties": { + "keyId": { + "type": "string", + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash." + }, + "keySourceParameters": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + }, + { + "$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" + }, + "UrlSigningKeyParameters": { + "type": "object", + "properties": { + "keyId": { + "type": "string", + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash." + }, + "secretSource": { + "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" + }, + "type": { + "type": "string", + "enum": [ + "UrlSigningKey" + ] + } + }, + "required": [ + "keyId", + "secretSource", + "type" + ], + "description": "Url signing key parameters" + }, + "UrlSigningParamIdentifier": { + "type": "object", + "properties": { + "paramIndicator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Expires", + "KeyId", + "Signature" + ] + }, + { + "$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" + } + }, + "required": [ + "paramIndicator", + "paramName" + ], + "description": "Defines how to identify a parameter for a specific purpose e.g. expires" + }, + "UserIdentityProperties": { + "type": "object", + "properties": {}, + "description": "The properties of user identity." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index ad963855fb..f59b5ea454 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -3898,6 +3898,51 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-08-01/Microsoft.CertificateRegistration.json#/resourceDefinitions/certificateOrders" },