From 8a24468867e4c0ed07c1ae9268669e263ff58358 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Mon, 27 Mar 2023 09:49:26 +0000 Subject: [PATCH 01/30] Update resource list --- generator/resources.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 7cbfd9485d..49b4848941 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -2402,20 +2402,24 @@ "2020-08-20-preview", "2021-10-01-preview", "2022-07-01-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-31" ], "Microsoft.Communication/emailServices": [ "2021-10-01-preview", "2022-07-01-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-31" ], "Microsoft.Communication/emailServices/domains": [ "2021-10-01-preview", "2022-07-01-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-31" ], "Microsoft.Communication/emailServices/domains/senderUsernames": [ - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-31" ], "Microsoft.Compute/availabilitySets": [ "2015-06-15", From 03ca923408921a05a3b37223519fea5809943a9f Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 28 Mar 2023 15:28:57 +0000 Subject: [PATCH 02/30] Autogenerate schemas --- .../2021-04-04-preview/Microsoft.Orbital.json | 606 ------------------ .../Microsoft.RecoveryServices.Backup.json | 148 +++++ schemas/common/autogeneratedResources.json | 12 +- 3 files changed, 151 insertions(+), 615 deletions(-) delete mode 100644 schemas/2021-04-04-preview/Microsoft.Orbital.json create mode 100644 schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json diff --git a/schemas/2021-04-04-preview/Microsoft.Orbital.json b/schemas/2021-04-04-preview/Microsoft.Orbital.json deleted file mode 100644 index 64dbdac815..0000000000 --- a/schemas/2021-04-04-preview/Microsoft.Orbital.json +++ /dev/null @@ -1,606 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-04-04-preview/Microsoft.Orbital.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Orbital", - "description": "Microsoft Orbital Resource Types", - "resourceDefinitions": { - "contactProfiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-04-04-preview" - ] - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "type": "string", - "description": "Contact Profile Name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContactProfilesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of Contact Profile Resource Properties." - }, - "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.Orbital/contactProfiles" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Orbital/contactProfiles" - }, - "spacecrafts": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-04-04-preview" - ] - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "type": "string", - "description": "Spacecraft ID" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SpacecraftsProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of Spacecraft Resource Properties." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/spacecrafts_contacts_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.Orbital/spacecrafts" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Orbital/spacecrafts" - }, - "spacecrafts_contacts": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-04-04-preview" - ] - }, - "name": { - "type": "string", - "description": "Contact Name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContactsProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties of the Contact Resource." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Orbital/spacecrafts/contacts" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Orbital/spacecrafts/contacts" - } - }, - "definitions": { - "ContactProfileLink": { - "type": "object", - "properties": { - "channels": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ContactProfileLinkChannel" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Contact Profile Link Channel" - }, - "direction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "uplink", - "downlink" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Direction (uplink or downlink)." - }, - "eirpdBW": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Effective Isotropic Radiated Power (EIRP) in dBW." - }, - "gainOverTemperature": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Gain To Noise Temperature in db/K." - }, - "polarization": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RHCP", - "LHCP", - "dualRhcpLhcp", - "linearVertical", - "linearHorizontal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "polarization. eg (RHCP, LHCP)." - } - }, - "required": [ - "channels", - "direction", - "polarization" - ], - "description": "Contact Profile link" - }, - "ContactProfileLinkChannel": { - "type": "object", - "properties": { - "bandwidthMHz": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Bandwidth in MHz" - }, - "centerFrequencyMHz": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Center Frequency in MHz" - }, - "decodingConfiguration": { - "type": "string", - "description": "Configuration for decoding" - }, - "demodulationConfiguration": { - "type": "string", - "description": "Configuration for demodulation" - }, - "encodingConfiguration": { - "type": "string", - "description": "Configuration for encoding" - }, - "endPoint": { - "oneOf": [ - { - "$ref": "#/definitions/EndPoint" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Customer End point to store/retrieve data during a contact." - }, - "modulationConfiguration": { - "type": "string", - "description": "Configuration for modulation" - } - }, - "required": [ - "bandwidthMHz", - "centerFrequencyMHz", - "endPoint" - ], - "description": "Contact Profile Link Channel" - }, - "ContactProfilesProperties": { - "type": "object", - "properties": { - "autoTrackingConfiguration": { - "oneOf": [ - { - "type": "string", - "enum": [ - "disabled", - "xBand", - "sBand" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Auto track configuration." - }, - "eventHubUri": { - "type": "string", - "description": "The URI of the Event Hub used for telemetry" - }, - "links": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ContactProfileLink" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Links of the Contact Profile" - }, - "minimumElevationDegrees": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Minimum viable elevation for the contact in decimal degrees." - }, - "minimumViableContactDuration": { - "type": "string", - "description": "Minimum viable contact duration in ISO 8601 format." - } - }, - "required": [ - "links" - ], - "description": "List of Contact Profile Resource Properties." - }, - "ContactsProperties": { - "type": "object", - "properties": { - "contactProfile": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource Reference" - }, - "groundStationName": { - "type": "string", - "description": "Azure Ground Station name." - }, - "reservationEndTime": { - "type": "string", - "format": "date-time", - "description": "Reservation end time of a contact." - }, - "reservationStartTime": { - "type": "string", - "format": "date-time", - "description": "Reservation start time of a contact." - } - }, - "required": [ - "contactProfile", - "groundStationName", - "reservationEndTime", - "reservationStartTime" - ], - "description": "Properties of the Contact Resource." - }, - "EndPoint": { - "type": "object", - "properties": { - "endPointName": { - "type": "string", - "description": "Name of an end point." - }, - "ipAddress": { - "type": "string", - "description": "IP Address." - }, - "port": { - "type": "string", - "description": "TCP port to listen on to receive data." - }, - "protocol": { - "oneOf": [ - { - "type": "string", - "enum": [ - "TCP", - "UDP" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Protocol either UDP or TCP." - } - }, - "required": [ - "endPointName", - "ipAddress", - "port", - "protocol" - ], - "description": "Customer End point to store/retrieve data during a contact." - }, - "ResourceReference": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Resource ID." - } - }, - "description": "Resource Reference" - }, - "SpacecraftLink": { - "type": "object", - "properties": { - "bandwidthMHz": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Bandwidth in MHz" - }, - "centerFrequencyMHz": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Center Frequency in MHz" - }, - "direction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "uplink", - "downlink" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Direction (uplink or downlink)." - }, - "polarization": { - "oneOf": [ - { - "type": "string", - "enum": [ - "RHCP", - "LHCP", - "dualRhcpLhcp", - "linearVertical", - "linearHorizontal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "polarization. eg (RHCP, LHCP)." - } - }, - "required": [ - "bandwidthMHz", - "centerFrequencyMHz", - "direction", - "polarization" - ], - "description": "Spacecraft Link" - }, - "SpacecraftsProperties": { - "type": "object", - "properties": { - "links": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SpacecraftLink" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Links of the Spacecraft" - }, - "noradId": { - "type": "string", - "description": "NORAD ID of the spacecraft." - }, - "titleLine": { - "type": "string", - "description": "Title line of Two Line Element (TLE)." - }, - "tleLine1": { - "type": "string", - "description": "Line 1 of Two Line Element (TLE)." - }, - "tleLine2": { - "type": "string", - "description": "Line 1 of Two Line Element (TLE)." - } - }, - "required": [ - "noradId" - ], - "description": "List of Spacecraft Resource Properties." - }, - "spacecrafts_contacts_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-04-04-preview" - ] - }, - "name": { - "type": "string", - "description": "Contact Name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContactsProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties of the Contact Resource." - }, - "type": { - "type": "string", - "enum": [ - "contacts" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Orbital/spacecrafts/contacts" - } - } -} \ No newline at end of file diff --git a/schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json b/schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json new file mode 100644 index 0000000000..26bfeef43e --- /dev/null +++ b/schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json @@ -0,0 +1,148 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.RecoveryServices", + "description": "Microsoft RecoveryServices Resource Types", + "resourceDefinitions": { + "vaults_backupstorageconfig": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-15" + ] + }, + "eTag": { + "type": "string", + "description": "Optional ETag." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/vaultstorageconfig$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupResourceConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource storage details." + }, + "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.RecoveryServices/vaults/backupstorageconfig" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.RecoveryServices/vaults/backupstorageconfig" + } + }, + "definitions": { + "BackupResourceConfig": { + "type": "object", + "properties": { + "crossRegionRestoreFlag": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Opt in details of Cross Region Restore feature." + }, + "storageModelType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type." + }, + "storageTypeState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "Locked", + "Unlocked" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked." + } + }, + "description": "The resource storage details." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index aa65a3e11b..117e6cbf59 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -23965,15 +23965,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-12-01-preview/Microsoft.OperationalInsights.json#/resourceDefinitions/workspaces_tables" }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-04-04-preview/Microsoft.Orbital.json#/resourceDefinitions/contactProfiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-04-04-preview/Microsoft.Orbital.json#/resourceDefinitions/spacecrafts" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-04-04-preview/Microsoft.Orbital.json#/resourceDefinitions/spacecrafts_contacts" - }, { "$ref": "https://schema.management.azure.com/schemas/2022-03-01/Microsoft.Orbital.json#/resourceDefinitions/contactProfiles" }, @@ -24811,6 +24802,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-15/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupstorageconfig" + }, { "$ref": "https://schema.management.azure.com/schemas/2023-02-01/Microsoft.RecoveryServices.Backup.json#/resourceDefinitions/vaults_backupconfig" }, From 8b5d4e8a794ef035b4167e439a03a71f288f6af0 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 28 Mar 2023 15:29:25 +0000 Subject: [PATCH 03/30] Update resource list --- generator/resources.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 49b4848941..5c40d8b706 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -10558,17 +10558,14 @@ "2015-11-01-preview" ], "Microsoft.Orbital/contactProfiles": [ - "2021-04-04-preview", "2022-03-01", "2022-11-01" ], "Microsoft.Orbital/spacecrafts": [ - "2021-04-04-preview", "2022-03-01", "2022-11-01" ], "Microsoft.Orbital/spacecrafts/contacts": [ - "2021-04-04-preview", "2022-03-01", "2022-11-01" ], @@ -11045,6 +11042,7 @@ "2022-09-30-preview", "2022-10-01", "2023-01-01", + "2023-01-15", "2023-02-01" ], "Microsoft.RecoveryServices/vaults/certificates": [ From 5a767741d114346690c3dd12a513f6863668b33c Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 29 Mar 2023 09:41:20 +0000 Subject: [PATCH 04/30] Autogenerate schemas --- .../Microsoft.DevCenter.json | 1617 +++++++++++++++++ schemas/common/autogeneratedResources.json | 33 + 2 files changed, 1650 insertions(+) create mode 100644 schemas/2023-01-01-preview/Microsoft.DevCenter.json diff --git a/schemas/2023-01-01-preview/Microsoft.DevCenter.json b/schemas/2023-01-01-preview/Microsoft.DevCenter.json new file mode 100644 index 0000000000..8adc832f21 --- /dev/null +++ b/schemas/2023-01-01-preview/Microsoft.DevCenter.json @@ -0,0 +1,1617 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DevCenter", + "description": "Microsoft DevCenter Resource Types", + "resourceDefinitions": { + "devcenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the devcenter." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevCenterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the devcenter." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/devcenters_attachednetworks_childResource" + }, + { + "$ref": "#/definitions/devcenters_galleries_childResource" + }, + { + "$ref": "#/definitions/devcenters_catalogs_childResource" + }, + { + "$ref": "#/definitions/devcenters_environmentTypes_childResource" + }, + { + "$ref": "#/definitions/devcenters_devboxdefinitions_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.DevCenter/devcenters" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters" + }, + "devcenters_attachednetworks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the attached NetworkConnection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedNetworkConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an attached NetworkConnection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DevCenter/devcenters/attachednetworks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/attachednetworks" + }, + "devcenters_catalogs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Catalog." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CatalogProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a catalog." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DevCenter/devcenters/catalogs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/catalogs" + }, + "devcenters_devboxdefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Dev Box definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevBoxDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a Dev Box definition." + }, + "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.DevCenter/devcenters/devboxdefinitions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/devboxdefinitions" + }, + "devcenters_environmentTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the environment type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnvironmentTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an environment type." + }, + "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.DevCenter/devcenters/environmentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/environmentTypes" + }, + "devcenters_galleries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the gallery." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a gallery." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DevCenter/devcenters/galleries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/galleries" + }, + "networkConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Network Connection that can be applied to a Pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network properties" + }, + "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.DevCenter/networkConnections" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/networkConnections" + }, + "projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the project." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a project." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/projects_environmentTypes_childResource" + }, + { + "$ref": "#/definitions/projects_pools_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.DevCenter/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects" + }, + "projects_environmentTypes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location for the environment type" + }, + "name": { + "type": "string", + "description": "The name of the environment type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectEnvironmentTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a project environment type." + }, + "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.DevCenter/projects/environmentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/environmentTypes" + }, + "projects_pools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a Pool" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/projects_pools_schedules_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.DevCenter/projects/pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/pools" + }, + "projects_pools_schedules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Schedule properties defining when and what to execute." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DevCenter/projects/pools/schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/pools/schedules" + } + }, + "definitions": { + "AttachedNetworkConnectionProperties": { + "type": "object", + "properties": { + "networkConnectionId": { + "type": "string", + "description": "The resource ID of the NetworkConnection you want to attach." + } + }, + "required": [ + "networkConnectionId" + ], + "description": "Properties of an attached NetworkConnection." + }, + "CatalogProperties": { + "type": "object", + "properties": { + "adoGit": { + "oneOf": [ + { + "$ref": "#/definitions/GitCatalog" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a Git repository catalog." + }, + "gitHub": { + "oneOf": [ + { + "$ref": "#/definitions/GitCatalog" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties for a Git repository catalog." + } + }, + "description": "Properties of a catalog." + }, + "DevBoxDefinitionProperties": { + "type": "object", + "properties": { + "hibernateSupport": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether Dev Boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Image reference information" + }, + "osStorageType": { + "type": "string", + "description": "The storage type used for the Operating System disk of Dev Boxes created using this definition." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource model definition representing SKU" + } + }, + "description": "Properties of a Dev Box definition." + }, + "DevCenterProperties": { + "type": "object", + "properties": { + "devCenterUri": { + "type": "string", + "description": "The URI of the resource." + } + }, + "description": "Properties of the devcenter." + }, + "devcenters_attachednetworks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the attached NetworkConnection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedNetworkConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an attached NetworkConnection." + }, + "type": { + "type": "string", + "enum": [ + "attachednetworks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/attachednetworks" + }, + "devcenters_catalogs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the Catalog." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CatalogProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a catalog." + }, + "type": { + "type": "string", + "enum": [ + "catalogs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/catalogs" + }, + "devcenters_devboxdefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Dev Box definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevBoxDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a Dev Box definition." + }, + "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": [ + "devboxdefinitions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/devboxdefinitions" + }, + "devcenters_environmentTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the environment type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EnvironmentTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of an environment type." + }, + "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": [ + "environmentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/environmentTypes" + }, + "devcenters_galleries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the gallery." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GalleryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a gallery." + }, + "type": { + "type": "string", + "enum": [ + "galleries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/devcenters/galleries" + }, + "EnvironmentRole": { + "type": "object", + "properties": {}, + "description": "A role that can be assigned to a user." + }, + "EnvironmentTypeProperties": { + "type": "object", + "properties": {}, + "description": "Properties of an environment type." + }, + "GalleryProperties": { + "type": "object", + "properties": { + "galleryResourceId": { + "type": "string", + "description": "The resource ID of the backing Azure Compute Gallery." + } + }, + "required": [ + "galleryResourceId" + ], + "description": "Properties of a gallery." + }, + "GitCatalog": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "Git branch." + }, + "path": { + "type": "string", + "description": "The folder where the catalog items can be found inside the repository." + }, + "secretIdentifier": { + "type": "string", + "description": "A reference to the Key Vault secret containing a security token to authenticate to a Git repository." + }, + "uri": { + "type": "string", + "description": "Git URI." + } + }, + "description": "Properties for a Git repository catalog." + }, + "ImageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Image ID, or Image version ID. When Image ID is provided, its latest version will be used." + } + }, + "description": "Image reference information" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "NetworkProperties": { + "type": "object", + "properties": { + "domainJoinType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HybridAzureADJoin", + "AzureADJoin" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AAD Join type." + }, + "domainName": { + "type": "string", + "description": "Active Directory domain name" + }, + "domainPassword": { + "type": "string", + "description": "The password for the account used to join domain" + }, + "domainUsername": { + "type": "string", + "description": "The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com." + }, + "networkingResourceGroupName": { + "type": "string", + "description": "The name for resource group where NICs will be placed." + }, + "organizationUnit": { + "type": "string", + "description": "Active Directory domain Organization Unit (OU)" + }, + "subnetId": { + "type": "string", + "description": "The subnet to attach Virtual Machines to" + } + }, + "required": [ + "domainJoinType" + ], + "description": "Network properties" + }, + "PoolProperties": { + "type": "object", + "properties": { + "devBoxDefinitionName": { + "type": "string", + "description": "Name of a Dev Box definition in parent Project of this Pool" + }, + "licenseType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows_Client" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the license type indicating the caller has already acquired licenses for the Dev Boxes that will be created." + }, + "localAdministrator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether owners of Dev Boxes in this pool are added as local administrators on the Dev Box." + }, + "networkConnectionName": { + "type": "string", + "description": "Name of a Network Connection in parent Project of this Pool" + }, + "stopOnDisconnect": { + "oneOf": [ + { + "$ref": "#/definitions/StopOnDisconnectConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool." + } + }, + "description": "Properties of a Pool" + }, + "ProjectEnvironmentTypeProperties": { + "type": "object", + "properties": { + "creatorRoleAssignment": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectEnvironmentTypeUpdatePropertiesCreatorRoleAssignment" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The role definition assigned to the environment creator on backing resources." + }, + "deploymentTargetId": { + "type": "string", + "description": "Id of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines whether this Environment Type can be used in this Project." + }, + "userRoleAssignments": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserRoleAssignment" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Role Assignments created on environment backing resources. This is a mapping from a user object ID to an object of role definition IDs." + } + }, + "description": "Properties of a project environment type." + }, + "ProjectEnvironmentTypeUpdatePropertiesCreatorRoleAssignment": { + "type": "object", + "properties": { + "roles": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A map of roles to assign to the environment creator." + } + }, + "description": "The role definition assigned to the environment creator on backing resources." + }, + "ProjectProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the project." + }, + "devCenterId": { + "type": "string", + "description": "Resource Id of an associated DevCenter" + }, + "devCenterUri": { + "type": "string", + "description": "The URI of the resource." + }, + "maxDevBoxesPerUser": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced." + } + }, + "description": "Properties of a project." + }, + "projects_environmentTypes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location for the environment type" + }, + "name": { + "type": "string", + "description": "The name of the environment type." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectEnvironmentTypeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a project environment type." + }, + "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": [ + "environmentTypes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/environmentTypes" + }, + "projects_pools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a Pool" + }, + "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": [ + "pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/pools" + }, + "projects_pools_schedules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w]+$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the schedule that uniquely identifies it." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScheduleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Schedule properties defining when and what to execute." + }, + "type": { + "type": "string", + "enum": [ + "schedules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevCenter/projects/pools/schedules" + }, + "ScheduleProperties": { + "type": "object", + "properties": { + "frequency": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The frequency of this scheduled task." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not this scheduled task is enabled." + }, + "time": { + "type": "string", + "description": "The target time to trigger the action. The format is HH:MM." + }, + "timeZone": { + "type": "string", + "description": "The IANA timezone id at which the schedule should execute." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "StopDevBox" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Supported type this scheduled task represents." + } + }, + "description": "The Schedule properties defining when and what to execute." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name" + ], + "description": "The resource model definition representing SKU" + }, + "StopOnDisconnectConfiguration": { + "type": "object", + "properties": { + "gracePeriodMinutes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The specified time in minutes to wait before stopping a Dev Box once disconnect is detected." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the feature to stop the Dev Box on disconnect once the grace period has lapsed is enabled." + } + }, + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "UserRoleAssignment": { + "type": "object", + "properties": { + "roles": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A map of roles to assign to the parent user." + } + }, + "description": "Mapping of user object ID to role assignments." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 117e6cbf59..f8611d69bd 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -9427,6 +9427,39 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-11-11-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_pools_schedules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters_attachednetworks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters_catalogs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters_devboxdefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters_environmentTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/devcenters_galleries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/networkConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_environmentTypes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_pools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_pools_schedules" + }, { "$ref": "https://schema.management.azure.com/schemas/2022-04-01-preview/Microsoft.DevHub.json#/resourceDefinitions/workflows" }, From 7c41e6dfd6df4d64dff16ef47fe37aaaa09fddb3 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 29 Mar 2023 09:41:55 +0000 Subject: [PATCH 05/30] Update resource list --- generator/resources.json | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 5c40d8b706..6fdb150da5 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -4286,67 +4286,78 @@ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/devcenters/attachednetworks": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/devcenters/catalogs": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/devcenters/devboxdefinitions": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/devcenters/environmentTypes": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/devcenters/galleries": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/networkConnections": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/projects": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/projects/environmentTypes": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/projects/pools": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevCenter/projects/pools/schedules": [ "2022-08-01-preview", "2022-09-01-preview", "2022-10-12-preview", - "2022-11-11-preview" + "2022-11-11-preview", + "2023-01-01-preview" ], "Microsoft.DevHub/workflows": [ "2022-04-01-preview" From 0bb9a46ed2701d59199ff78c2fa1764e36737195 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 30 Mar 2023 09:52:16 +0000 Subject: [PATCH 06/30] Autogenerate schemas --- schemas/2015-06-01/Microsoft.Cdn.json | 598 -- schemas/2016-04-02/Microsoft.Cdn.json | 582 -- schemas/2016-10-02/Microsoft.Cdn.json | 573 -- schemas/2017-04-02/Microsoft.Cdn.json | 577 -- schemas/2017-10-12/Microsoft.Cdn.json | 908 --- schemas/2019-04-15/Microsoft.Cdn.json | 2763 ------- schemas/2019-06-15-preview/Microsoft.Cdn.json | 3416 -------- schemas/2019-06-15/Microsoft.Cdn.json | 3443 -------- schemas/2019-12-31/Microsoft.Cdn.json | 3415 -------- schemas/2020-04-15/Microsoft.Cdn.json | 4277 ---------- schemas/2020-09-01/Microsoft.Cdn.json | 5994 -------------- schemas/2021-06-01/Microsoft.Cdn.json | 6901 ---------------- schemas/2022-01-01-preview/Microsoft.App.json | 2 +- schemas/2022-03-01/Microsoft.App.json | 2 +- schemas/2022-05-01-preview/Microsoft.Cdn.json | 6946 ---------------- schemas/2022-06-01-preview/Microsoft.App.json | 2 +- schemas/2022-10-01/Microsoft.App.json | 2 +- schemas/2022-11-01-preview/Microsoft.App.json | 4686 +++++++++++ schemas/2022-11-01-preview/Microsoft.Cdn.json | 7012 ----------------- .../Microsoft.ContainerInstance.json | 1375 ++++ .../2023-03-31/Microsoft.Communication.json | 2 +- schemas/common/autogeneratedResources.json | 339 +- 22 files changed, 6108 insertions(+), 47707 deletions(-) delete mode 100644 schemas/2015-06-01/Microsoft.Cdn.json delete mode 100644 schemas/2016-04-02/Microsoft.Cdn.json delete mode 100644 schemas/2016-10-02/Microsoft.Cdn.json delete mode 100644 schemas/2017-04-02/Microsoft.Cdn.json delete mode 100644 schemas/2017-10-12/Microsoft.Cdn.json delete mode 100644 schemas/2019-04-15/Microsoft.Cdn.json delete mode 100644 schemas/2019-06-15-preview/Microsoft.Cdn.json delete mode 100644 schemas/2019-06-15/Microsoft.Cdn.json delete mode 100644 schemas/2019-12-31/Microsoft.Cdn.json delete mode 100644 schemas/2020-04-15/Microsoft.Cdn.json delete mode 100644 schemas/2020-09-01/Microsoft.Cdn.json delete mode 100644 schemas/2021-06-01/Microsoft.Cdn.json delete mode 100644 schemas/2022-05-01-preview/Microsoft.Cdn.json create mode 100644 schemas/2022-11-01-preview/Microsoft.App.json delete mode 100644 schemas/2022-11-01-preview/Microsoft.Cdn.json create mode 100644 schemas/2023-02-01-preview/Microsoft.ContainerInstance.json diff --git a/schemas/2015-06-01/Microsoft.Cdn.json b/schemas/2015-06-01/Microsoft.Cdn.json deleted file mode 100644 index f4c32538eb..0000000000 --- a/schemas/2015-06-01/Microsoft.Cdn.json +++ /dev/null @@ -1,598 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2015-06-01" - ] - }, - "location": { - "type": "string", - "description": "Profile location" - }, - "name": { - "type": "string", - "description": "Name of the CDN profile within the resource group." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ProfilePropertiesCreateParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/profiles_endpoints_childResource" - } - ] - } - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Profile tags" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles" - }, - "profiles_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2015-06-01" - ] - }, - "location": { - "type": "string", - "description": "Endpoint location" - }, - "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesCreateParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/profiles_endpoints_origins_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": "Endpoint 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": [ - "2015-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_origins": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2015-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - } - }, - "definitions": { - "CustomDomainPropertiesParameters": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The host name of the custom domain. Must be a domain name." - } - }, - "required": [ - "hostName" - ] - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DeepCreatedOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties of deep created origin on a CDN endpoint." - } - }, - "required": [ - "name" - ], - "description": "Deep created origins within a CDN endpoint." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." - }, - "httpPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" - }, - "httpsPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" - } - }, - "required": [ - "hostName" - ], - "description": "Properties of deep created origin on a CDN endpoint." - }, - "EndpointPropertiesCreateParameters": { - "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 will be applied. The value for the elements 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. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." - }, - "isHttpAllowed": { - "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." - }, - "originHostHeader": { - "type": "string", - "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." - }, - "originPath": { - "type": "string", - "description": "The path used for origin requests." - }, - "origins": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." - }, - "queryStringCachingBehavior": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the query string caching behavior." - } - }, - "required": [ - "origins" - ] - }, - "OriginPropertiesParameters": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." - }, - "httpPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." - }, - "httpsPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535." - } - }, - "required": [ - "hostName" - ] - }, - "ProfilePropertiesCreateParameters": { - "type": "object", - "properties": { - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The SKU (pricing tier) of the CDN profile." - } - }, - "required": [ - "sku" - ] - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2015-06-01" - ] - }, - "location": { - "type": "string", - "description": "Endpoint location" - }, - "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesCreateParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Endpoint 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": [ - "2015-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2015-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard", - "Premium" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The SKU (pricing tier) of the CDN profile." - } - } -} \ No newline at end of file diff --git a/schemas/2016-04-02/Microsoft.Cdn.json b/schemas/2016-04-02/Microsoft.Cdn.json deleted file mode 100644 index 00812e7cd3..0000000000 --- a/schemas/2016-04-02/Microsoft.Cdn.json +++ /dev/null @@ -1,582 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-02" - ] - }, - "location": { - "type": "string", - "description": "Profile location" - }, - "name": { - "type": "string", - "description": "Name of the CDN profile within the resource group." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/profiles_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The SKU (pricing tier) of the CDN profile." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Profile tags" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "sku", - "type" - ], - "description": "Microsoft.Cdn/profiles" - }, - "profiles_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-02" - ] - }, - "location": { - "type": "string", - "description": "Endpoint location" - }, - "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesCreateParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/profiles_endpoints_origins_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": "Endpoint 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": [ - "2016-04-02" - ] - }, - "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" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_origins": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-02" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - } - }, - "definitions": { - "CustomDomainPropertiesParameters": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The host name of the custom domain. Must be a domain name." - } - }, - "required": [ - "hostName" - ] - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DeepCreatedOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties of deep created origin on a CDN endpoint." - } - }, - "required": [ - "name" - ], - "description": "Deep created origins within a CDN endpoint." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." - }, - "httpPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535" - }, - "httpsPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535" - } - }, - "required": [ - "hostName" - ], - "description": "Properties of deep created origin on a CDN endpoint." - }, - "EndpointPropertiesCreateParameters": { - "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 will be applied. The value for the elements 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. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." - }, - "isHttpAllowed": { - "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." - }, - "originHostHeader": { - "type": "string", - "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." - }, - "originPath": { - "type": "string", - "description": "The path used for origin requests." - }, - "origins": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/DeepCreatedOrigin" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." - }, - "queryStringCachingBehavior": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the query string caching behavior." - } - }, - "required": [ - "origins" - ] - }, - "OriginPropertiesParameters": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." - }, - "httpPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTP port. Must be between 1 and 65535." - }, - "httpsPort": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The value of the HTTPS port. Must be between 1 and 65535." - } - }, - "required": [ - "hostName" - ] - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-02" - ] - }, - "location": { - "type": "string", - "description": "Endpoint location" - }, - "name": { - "type": "string", - "description": "Name of the endpoint within the CDN profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesCreateParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Endpoint 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": [ - "2016-04-02" - ] - }, - "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" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-04-02" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The SKU (pricing tier) of the CDN profile." - } - } -} \ No newline at end of file diff --git a/schemas/2016-10-02/Microsoft.Cdn.json b/schemas/2016-10-02/Microsoft.Cdn.json deleted file mode 100644 index 68a4b32132..0000000000 --- a/schemas/2016-10-02/Microsoft.Cdn.json +++ /dev/null @@ -1,573 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-10-02" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-10-02" - ] - }, - "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_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": [ - "2016-10-02" - ] - }, - "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" - } - }, - "definitions": { - "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." - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/DeepCreatedOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Properties of origin Properties of the origin created on the CDN endpoint." - } - }, - "required": [ - "name" - ], - "description": "Origin to be added when creating a CDN endpoint." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain names, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "required": [ - "hostName" - ], - "description": "Properties of origin Properties of the origin created on the CDN endpoint." - }, - "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." - }, - "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 user geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "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": "Customer can specify what scenario they want this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header CDN sends along with content requests to origin. The default value is the host name of the origin." - }, - "originPath": { - "type": "string", - "description": "The path used when CDN sends request to origin." - }, - "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." - }, - "queryStringCachingBehavior": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IgnoreQueryString", - "BypassCaching", - "UseQueryString", - "NotSet" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the query string caching behavior." - } - }, - "required": [ - "origins" - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user geo access within a CDN endpoint." - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2016-10-02" - ] - }, - "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": [ - "2016-10-02" - ] - }, - "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" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - } - } -} \ No newline at end of file diff --git a/schemas/2017-04-02/Microsoft.Cdn.json b/schemas/2017-04-02/Microsoft.Cdn.json deleted file mode 100644 index 2e5da6495d..0000000000 --- a/schemas/2017-04-02/Microsoft.Cdn.json +++ /dev/null @@ -1,577 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-04-02" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-04-02" - ] - }, - "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_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": [ - "2017-04-02" - ] - }, - "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" - } - }, - "definitions": { - "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." - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "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." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "required": [ - "hostName" - ], - "description": "Properties of the origin created on the CDN endpoint." - }, - "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." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." - }, - "isHttpAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - }, - "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." - } - }, - "required": [ - "origins" - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-04-02" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-04-02" - ] - }, - "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" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - } - } -} \ No newline at end of file diff --git a/schemas/2017-10-12/Microsoft.Cdn.json b/schemas/2017-10-12/Microsoft.Cdn.json deleted file mode 100644 index c36b95bab6..0000000000 --- a/schemas/2017-10-12/Microsoft.Cdn.json +++ /dev/null @@ -1,908 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$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": [ - "2017-10-12" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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 that include query strings." - }, - "cacheDuration": { - "type": "string", - "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss" - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "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." - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "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." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "required": [ - "hostName" - ], - "description": "Properties of the origin created on the CDN endpoint." - }, - "DeliveryRule": { - "type": "object", - "properties": { - "actions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/DeliveryRuleAction" - } - }, - { - "$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" - }, - "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" - }, - "DeliveryRuleAction": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the cache expiration action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the cache expiration action for the delivery rule." - }, - "DeliveryRuleCondition": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/DeliveryRuleUrlPathCondition" - }, - { - "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" - } - ], - "properties": {}, - "description": "A condition for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the URL file extension condition." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the URL file extension condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the URL path condition." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the URL path condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." - }, - "isHttpAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - }, - "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." - } - }, - "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." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2017-10-12" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Premium_ChinaCdn", - "Standard_Microsoft" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "extensions": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A list of extensions for the condition of the delivery rule." - } - }, - "required": [ - "@odata.type", - "extensions" - ], - "description": "Defines the parameters for the URL file extension condition." - }, - "UrlPathConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Literal", - "Wildcard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match type for the condition of the delivery rule." - }, - "path": { - "type": "string", - "description": "A URL path for the condition of the delivery rule" - } - }, - "required": [ - "@odata.type", - "matchType", - "path" - ], - "description": "Defines the parameters for the URL path condition." - } - } -} \ No newline at end of file diff --git a/schemas/2019-04-15/Microsoft.Cdn.json b/schemas/2019-04-15/Microsoft.Cdn.json deleted file mode 100644 index e48b086f82..0000000000 --- a/schemas/2019-04-15/Microsoft.Cdn.json +++ /dev/null @@ -1,2763 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$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": [ - "2019-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "description": "Defines the parameters for the cache-key query string action." - }, - "CookiesMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of 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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "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." - }, - "DeepCreatedOrigin": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Origin name" - }, - "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." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "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/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the 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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." - }, - "isHttpAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - }, - "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." - } - }, - "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." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "description": "Defines the parameters for the request header action." - }, - "HttpVersionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "PostArgsMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestUri match conditions" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Standard_Microsoft", - "Premium_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " - }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - } - } -} \ No newline at end of file diff --git a/schemas/2019-06-15-preview/Microsoft.Cdn.json b/schemas/2019-06-15-preview/Microsoft.Cdn.json deleted file mode 100644 index eea8a37b5b..0000000000 --- a/schemas/2019-06-15-preview/Microsoft.Cdn.json +++ /dev/null @@ -1,3416 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "CdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "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": [ - "2019-06-15-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$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": [ - "2019-06-15-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "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" - }, - "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." - }, - "CookiesMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Cookies to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator", - "selector" - ], - "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." - }, - "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" - }, - "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." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "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/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the 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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." - }, - "isHttpAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - }, - "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." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "description": "Defines the parameters for the request header action." - }, - "HttpVersionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "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 disabled. 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": [ - "RemoteAddress", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "RequestScheme", - "UrlPath", - "UrlFileExtension", - "UrlFileName", - "HttpVersion", - "Cookies", - "IsDevice", - "RemoteAddr", - "SocketAddr" - ] - }, - { - "$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" - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator", - "selector" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$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" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$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" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$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" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator", - "selector" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for RequestUri match conditions" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Standard_Microsoft", - "Premium_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard" - ] - }, - { - "$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" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "matchValues", - "operator" - ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." - }, - "UrlRedirectActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " - }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - } - } -} \ No newline at end of file diff --git a/schemas/2019-06-15/Microsoft.Cdn.json b/schemas/2019-06-15/Microsoft.Cdn.json deleted file mode 100644 index 324a114d31..0000000000 --- a/schemas/2019-06-15/Microsoft.Cdn.json +++ /dev/null @@ -1,3443 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "CdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "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": [ - "2019-06-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$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": [ - "2019-06-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "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" - }, - "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." - }, - "CookiesMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of 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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "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." - }, - "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" - }, - "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." - }, - "DeepCreatedOriginProperties": { - "type": "object", - "properties": { - "hostName": { - "type": "string", - "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." - }, - "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" - } - }, - "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/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the 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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of content types on which compression applies. The value should be a valid MIME type." - }, - "deliveryPolicy": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "A policy that specifies the delivery rules to be used for an endpoint." - }, - "geoFilters": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/GeoFilter" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" - }, - "isCompressionEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." - }, - "isHttpAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "isHttpsAllowed": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." - }, - "optimizationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "GeneralWebDelivery", - "GeneralMediaStreaming", - "VideoOnDemandMediaStreaming", - "LargeFileDownload", - "DynamicSiteAcceleration" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." - }, - "originHostHeader": { - "type": "string", - "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - }, - "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." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "description": "Defines the parameters for the request header action." - }, - "HttpVersionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "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 disabled. 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": [ - "RemoteAddress", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "RequestScheme", - "UrlPath", - "UrlFileExtension", - "UrlFileName", - "HttpVersion", - "Cookies", - "IsDevice", - "RemoteAddr", - "SocketAddr" - ] - }, - { - "$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" - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-06-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestUri match conditions" - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Standard_Microsoft", - "Premium_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " - }, - "preserveUnmatchedPath": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " - }, - "sourcePattern": { - "type": "string", - "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - } - } -} \ No newline at end of file diff --git a/schemas/2019-12-31/Microsoft.Cdn.json b/schemas/2019-12-31/Microsoft.Cdn.json deleted file mode 100644 index c6546974e5..0000000000 --- a/schemas/2019-12-31/Microsoft.Cdn.json +++ /dev/null @@ -1,3415 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "profiles": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/endpoints/origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "description": "Defines the parameters for the cache-key query string action." - }, - "CookiesMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of 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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "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." - }, - "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." - }, - "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." - }, - "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/UrlRewriteAction" - }, - { - "$ref": "#/definitions/OriginGroupOverrideAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the 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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$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 can only be set allowed when endpoint uses single origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." - }, - "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." - } - }, - "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." - }, - "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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "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." - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "OriginGroupOverrideAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "OriginGroupOverride" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupOverrideActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the Origin Group override action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the Origin Group override action for the delivery rule." - }, - "OriginGroupOverrideActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "originGroup": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - } - }, - "required": [ - "@odata.type", - "originGroup" - ], - "description": "Defines the parameters for the Origin Group override action." - }, - "OriginGroupProperties": { - "type": "object", - "properties": { - "healthProbeSettings": { - "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." - }, - "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" - }, - "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." - }, - "PostArgsMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2019-12-31" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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." - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Standard_Microsoft", - "Premium_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "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." - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - } - } -} \ No newline at end of file diff --git a/schemas/2020-04-15/Microsoft.Cdn.json b/schemas/2020-04-15/Microsoft.Cdn.json deleted file mode 100644 index 7810fe50c7..0000000000 --- a/schemas/2020-04-15/Microsoft.Cdn.json +++ /dev/null @@ -1,4277 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "CdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "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": [ - "2020-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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_endpoints": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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": [ - "2020-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-04-15" - ] - }, - "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": [ - "2020-04-15" - ] - }, - "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" - } - }, - "definitions": { - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "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" - }, - "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." - }, - "CookiesMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of 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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "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." - }, - "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/UrlRewriteAction" - }, - { - "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" - }, - { - "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" - } - ], - "properties": {}, - "description": "An action for the delivery rule." - }, - "DeliveryRuleCacheExpirationAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "CacheExpiration" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/CacheExpirationActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the 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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "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." - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "KeyVaultSigningKeyParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resourceGroupName": { - "type": "string", - "description": "Resource group of the user's Key Vault containing the secret" - }, - "secretName": { - "type": "string", - "description": "The name of secret in Key Vault." - }, - "secretVersion": { - "type": "string", - "description": "The version(GUID) of secret in Key Vault." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" - }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" - } - }, - "required": [ - "@odata.type", - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "vaultName" - ], - "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." - }, - "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 disabled. 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": [ - "RemoteAddress", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "RequestScheme", - "UrlPath", - "UrlFileExtension", - "UrlFileName", - "HttpVersion", - "Cookies", - "IsDevice", - "RemoteAddr", - "SocketAddr" - ] - }, - { - "$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" - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of PostArg to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_endpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-04-15" - ] - }, - "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" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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." - }, - "Sku": { - "type": "object", - "properties": { - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Standard_Verizon", - "Premium_Verizon", - "Custom_Verizon", - "Standard_Akamai", - "Standard_ChinaCdn", - "Standard_Microsoft", - "Premium_ChinaCdn" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Name of the pricing tier." - } - }, - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "Wildcard" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "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." - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - }, - "UrlSigningAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlSigning" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlSigningActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the Url Signing action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url signing action for the delivery rule." - }, - "UrlSigningActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Algorithm to use for URL signing." - }, - "ipSubnets": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. Supports CIDR ranges (both IPv4 and IPv6)." - }, - "keyId": { - "type": "string", - "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys" - }, - "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. " - } - }, - "required": [ - "keyId" - ], - "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" - }, - "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" - } - } -} \ No newline at end of file diff --git a/schemas/2020-09-01/Microsoft.Cdn.json b/schemas/2020-09-01/Microsoft.Cdn.json deleted file mode 100644 index 87cc9479e4..0000000000 --- a/schemas/2020-09-01/Microsoft.Cdn.json +++ /dev/null @@ -1,5994 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "CdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "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": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the 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_endpoints_childResource" - }, - { - "$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" - } - ] - } - }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/Sku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "tags": { - "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": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "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": [ - "2020-09-01" - ] - }, - "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": [ - "2020-09-01" - ] - }, - "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": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-09-01" - ] - }, - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - } - }, - "definitions": { - "AFDDomainHttpsParameters": { - "type": "object", - "properties": { - "certificateType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "CustomerCertificate", - "ManagedCertificate" - ] - }, - { - "$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." - }, - "hostName": { - "type": "string", - "description": "The host name of the domain. Must be a domain name." - }, - "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": { - "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'." - }, - "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 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" - }, - "responseBasedAfdOriginErrorDetectionSettings": { - "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." - }, - "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." - }, - "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." - }, - "CacheExpirationActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "cacheBehavior", - "cacheType" - ], - "description": "Defines the parameters for the cache expiration action." - }, - "CacheKeyQueryStringActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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." - } - }, - "required": [ - "@odata.type", - "queryStringBehavior" - ], - "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" - }, - "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." - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of 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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "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": { - "certificateAuthority": { - "type": "string", - "description": "Certificate issuing authority." - }, - "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" - } - ], - "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." - }, - "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" - } - ], - "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." - }, - "DeliveryRuleHttpVersionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "HttpVersion" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HttpVersionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for HttpVersion match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the HttpVersion condition for the delivery rule." - }, - "DeliveryRuleIsDeviceCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "IsDevice" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/IsDeviceMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for IsDevice match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the IsDevice condition for the delivery rule." - }, - "DeliveryRulePostArgsCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "PostArgs" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/PostArgsMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for PostArgs match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the PostArgs condition for the delivery rule." - }, - "DeliveryRuleQueryStringCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "QueryString" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/QueryStringMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for QueryString match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the QueryString condition for the delivery rule." - }, - "DeliveryRuleRemoteAddressCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RemoteAddress" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RemoteAddressMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RemoteAddress match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RemoteAddress condition for the delivery rule." - }, - "DeliveryRuleRequestBodyCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestBody" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBodyMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestBody match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestBody condition for the delivery rule." - }, - "DeliveryRuleRequestHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyRequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the request header action for the delivery rule." - }, - "DeliveryRuleRequestHeaderCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestHeaderMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestHeader match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestHeader condition for the delivery rule." - }, - "DeliveryRuleRequestMethodCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestMethod" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestMethodMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestMethod match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestMethod condition for the delivery rule." - }, - "DeliveryRuleRequestSchemeCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestScheme" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestSchemeMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestScheme match conditions " - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestScheme condition for the delivery rule." - }, - "DeliveryRuleRequestUriCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "RequestUri" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/RequestUriMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for RequestUri match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the RequestUri condition for the delivery rule." - }, - "DeliveryRuleResponseHeaderAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "ModifyResponseHeader" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/HeaderActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the request header action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the response header action for the delivery rule." - }, - "DeliveryRuleUrlFileExtensionCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileExtension" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileExtension condition for the delivery rule." - }, - "DeliveryRuleUrlFileNameCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlFileName" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlFileNameMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlFilename match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlFileName condition for the delivery rule." - }, - "DeliveryRuleUrlPathCondition": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlPath" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlPathMatchConditionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for UrlPath match conditions" - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the UrlPath condition for the delivery rule." - }, - "EndpointProperties": { - "type": "object", - "properties": { - "contentTypesToCompress": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$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 codes defining user country access in a geo filter, e.g. AU, MX, US." - }, - "relativePath": { - "type": "string", - "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" - } - }, - "required": [ - "action", - "countryCodes", - "relativePath" - ], - "description": "Rules defining user's geo access within a CDN endpoint." - }, - "HeaderActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "headerAction": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Append", - "Overwrite", - "Delete" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Action to perform." - }, - "headerName": { - "type": "string", - "description": "Name of the header to modify" - }, - "value": { - "type": "string", - "description": "Value for the specified action" - } - }, - "required": [ - "@odata.type", - "headerAction", - "headerName" - ], - "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." - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Equal" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for HttpVersion match conditions" - }, - "IsDeviceMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for IsDevice match conditions" - }, - "KeyVaultSigningKeyParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resourceGroupName": { - "type": "string", - "description": "Resource group of the user's Key Vault containing the secret" - }, - "secretName": { - "type": "string", - "description": "The name of secret in Key Vault." - }, - "secretVersion": { - "type": "string", - "description": "The version(GUID) of secret in Key Vault." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription Id of the user's Key Vault containing the secret" - }, - "vaultName": { - "type": "string", - "description": "The name of the user's Key Vault containing the secret" - } - }, - "required": [ - "@odata.type", - "resourceGroupName", - "secretName", - "secretVersion", - "subscriptionId", - "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 disabled. 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": [ - "RemoteAddress", - "RequestMethod", - "QueryString", - "PostArgs", - "RequestUri", - "RequestHeader", - "RequestBody", - "RequestScheme", - "UrlPath", - "UrlFileExtension", - "UrlFileName", - "HttpVersion", - "Cookies", - "IsDevice", - "RemoteAddr", - "SocketAddr" - ] - }, - { - "$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" - }, - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "originGroup": { - "oneOf": [ - { - "$ref": "#/definitions/ResourceReference" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reference to another resource." - } - }, - "required": [ - "@odata.type", - "originGroup" - ], - "description": "Defines the parameters for the origin group override action." - }, - "OriginGroupProperties": { - "type": "object", - "properties": { - "healthProbeSettings": { - "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": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for PostArgs match conditions" - }, - "ProfileProperties": { - "type": "object", - "properties": {}, - "description": "The JSON object that contains the properties required to create a profile." - }, - "profiles_afdEndpoints_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "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": [ - "2020-09-01" - ] - }, - "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": [ - "2020-09-01" - ] - }, - "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": [ - "2020-09-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-09-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "IPMatch", - "GeoMatch" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RemoteAddress match conditions" - }, - "RequestBodyMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestBody match conditions" - }, - "RequestHeaderMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "selector": { - "type": "string", - "description": "Name of Header to be matched" - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestHeader match conditions" - }, - "RequestMethodMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "GET", - "HEAD", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestMethod match conditions" - }, - "RequestSchemeMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for RequestScheme match conditions " - }, - "RequestUriMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for 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." - }, - "RouteProperties": { - "type": "object", - "properties": { - "compressionSettings": { - "oneOf": [ - { - "$ref": "#/definitions/CompressionSettings" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "settings for compression." - }, - "customDomains": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } - }, - { - "$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." - }, - "queryStringCachingBehavior": { - "oneOf": [ - { - "type": "string", - "enum": [ - "IgnoreQueryString", - "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." - }, - "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" - } - ], - "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." - }, - "SecurityPolicyParameters": { - "type": "object", - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" - } - ], - "properties": {}, - "description": "The json object containing security policy parameters" - }, - "SecurityPolicyProperties": { - "type": "object", - "properties": { - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object containing security policy parameters" - } - }, - "description": "The json object that contains properties required to create a security policy" - }, - "SecurityPolicyWebApplicationFirewallAssociation": { - "type": "object", - "properties": { - "domains": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of domains." - }, - "patternsToMatch": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "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" - }, - "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", - "Premium_ChinaCdn", - "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." - }, - "UrlFileExtensionMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFileExtension match conditions" - }, - "UrlFileNameMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlFilename match conditions" - }, - "UrlPathMatchConditionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "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" - } - }, - "required": [ - "@odata.type", - "operator" - ], - "description": "Defines the parameters for UrlPath match conditions" - }, - "UrlRedirectAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRedirect" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRedirectActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url redirect action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url redirect action for the delivery rule." - }, - "UrlRedirectActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "customFragment": { - "type": "string", - "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." - }, - "customHostname": { - "type": "string", - "description": "Host to redirect. Leave empty to use the incoming host as the destination host." - }, - "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." - } - }, - "required": [ - "@odata.type", - "redirectType" - ], - "description": "Defines the parameters for the url redirect action." - }, - "UrlRewriteAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlRewrite" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlRewriteActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the url rewrite action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url rewrite action for the delivery rule." - }, - "UrlRewriteActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "destination": { - "type": "string", - "description": "Define the relative URL to which the above requests will be rewritten by." - }, - "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." - } - }, - "required": [ - "@odata.type", - "destination", - "sourcePattern" - ], - "description": "Defines the parameters for the url rewrite action." - }, - "UrlSigningAction": { - "type": "object", - "properties": { - "name": { - "type": "string", - "enum": [ - "UrlSigning" - ] - }, - "parameters": { - "oneOf": [ - { - "$ref": "#/definitions/UrlSigningActionParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines the parameters for the Url Signing action." - } - }, - "required": [ - "name", - "parameters" - ], - "description": "Defines the url signing action for the delivery rule." - }, - "UrlSigningActionParameters": { - "type": "object", - "properties": { - "@odata.type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "algorithm": { - "oneOf": [ - { - "type": "string", - "enum": [ - "SHA256" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "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. " - } - }, - "required": [ - "@odata.type" - ], - "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" - } - } -} \ No newline at end of file diff --git a/schemas/2021-06-01/Microsoft.Cdn.json b/schemas/2021-06-01/Microsoft.Cdn.json deleted file mode 100644 index c6b007a20b..0000000000 --- a/schemas/2021-06-01/Microsoft.Cdn.json +++ /dev/null @@ -1,6901 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "cdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." - }, - "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": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/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": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "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": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "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." - }, - "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" - }, - "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" - }, - "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": { - "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": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/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": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "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": [ - "2021-06-01" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2021-06-01" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "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" - } - } -} \ No newline at end of file diff --git a/schemas/2022-01-01-preview/Microsoft.App.json b/schemas/2022-01-01-preview/Microsoft.App.json index e29742e57c..eae2ba3dd7 100644 --- a/schemas/2022-01-01-preview/Microsoft.App.json +++ b/schemas/2022-01-01-preview/Microsoft.App.json @@ -3105,7 +3105,7 @@ }, "runtimeSubnetId": { "type": "string", - "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges." + "description": "This field is deprecated and not used. If you wish to provide your own subnet that Container App containers are injected into, then you should leverage the infrastructureSubnetId." } }, "description": "Configuration properties for apps environment to join a Virtual Network" diff --git a/schemas/2022-03-01/Microsoft.App.json b/schemas/2022-03-01/Microsoft.App.json index 453ea97005..39c35bbfd8 100644 --- a/schemas/2022-03-01/Microsoft.App.json +++ b/schemas/2022-03-01/Microsoft.App.json @@ -3135,7 +3135,7 @@ }, "runtimeSubnetId": { "type": "string", - "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges." + "description": "This field is deprecated and not used. If you wish to provide your own subnet that Container App containers are injected into, then you should leverage the infrastructureSubnetId." } }, "description": "Configuration properties for apps environment to join a Virtual Network" diff --git a/schemas/2022-05-01-preview/Microsoft.Cdn.json b/schemas/2022-05-01-preview/Microsoft.Cdn.json deleted file mode 100644 index a6de87eac4..0000000000 --- a/schemas/2022-05-01-preview/Microsoft.Cdn.json +++ /dev/null @@ -1,6946 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.Cdn", - "description": "Microsoft Cdn Resource Types", - "resourceDefinitions": { - "cdnWebApplicationFirewallPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-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-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." - }, - "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-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/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-05-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-05-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-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "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-05-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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "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-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Cdn/profiles/secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "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" - }, - "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-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/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-05-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-05-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-05-01-preview" - ] - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "name": { - "type": "string", - "description": "Name of the endpoint under the profile which is unique globally." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/EndpointProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties required to create an endpoint." - }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "type": { - "type": "string", - "enum": [ - "endpoints" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints" - }, - "profiles_endpoints_customDomains_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the custom domain within an endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/CustomDomainPropertiesParameters" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the custom domain to create." - }, - "type": { - "type": "string", - "enum": [ - "customDomains" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/customDomains" - }, - "profiles_endpoints_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/originGroups" - }, - "profiles_endpoints_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/OriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/endpoints/origins" - }, - "profiles_originGroups_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin group which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin group." - }, - "type": { - "type": "string", - "enum": [ - "originGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups" - }, - "profiles_originGroups_origins_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the origin that is unique within the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/AFDOriginProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the origin." - }, - "type": { - "type": "string", - "enum": [ - "origins" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/originGroups/origins" - }, - "profiles_ruleSets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the rule set under the profile which is unique globally" - }, - "type": { - "type": "string", - "enum": [ - "ruleSets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets" - }, - "profiles_ruleSets_rules_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the delivery rule which is unique within the endpoint." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/RuleProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Rules to create." - }, - "type": { - "type": "string", - "enum": [ - "rules" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/ruleSets/rules" - }, - "profiles_secrets_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the Secret under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecretProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The JSON object that contains the properties of the Secret to create." - }, - "type": { - "type": "string", - "enum": [ - "secrets" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/secrets" - }, - "profiles_securityPolicies_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-05-01-preview" - ] - }, - "name": { - "type": "string", - "description": "Name of the security policy under the profile." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/SecurityPolicyProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The json object that contains properties required to create a security policy" - }, - "type": { - "type": "string", - "enum": [ - "securityPolicies" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Cdn/profiles/securityPolicies" - }, - "QueryStringMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The match value for the condition of the delivery rule" - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Any", - "Equal", - "Contains", - "BeginsWith", - "EndsWith", - "LessThan", - "LessThanOrEqual", - "GreaterThan", - "GreaterThanOrEqual", - "RegEx" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes operator to be matched." - }, - "transforms": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Lowercase", - "Uppercase", - "Trim", - "UrlDecode", - "UrlEncode", - "RemoveNulls" - ] - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of transforms" - }, - "typeName": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeliveryRuleQueryStringConditionParameters" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "operator", - "typeName" - ], - "description": "Defines the parameters for QueryString match conditions" - }, - "RateLimitRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Allow", - "Block", - "Log", - "Redirect" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes what action to be applied when rule matches." - }, - "enabledState": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Disabled", - "Enabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." - }, - "matchConditions": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/MatchCondition" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of match conditions." - }, - "name": { - "type": "string", - "description": "Defines the name of the custom rule" - }, - "priority": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 1000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines in what order this rule be evaluated in the overall list of custom rules" - }, - "rateLimitDurationInMinutes": { - "oneOf": [ - { - "type": "integer", - "minimum": 0, - "maximum": 60 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit duration. Default is 1 minute." - }, - "rateLimitThreshold": { - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Defines rate limit threshold." - } - }, - "required": [ - "action", - "matchConditions", - "name", - "priority", - "rateLimitDurationInMinutes", - "rateLimitThreshold" - ], - "description": "Defines a rate limiting rule that can be included in a waf policy" - }, - "RateLimitRuleList": { - "type": "object", - "properties": { - "rules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RateLimitRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of rules" - } - }, - "description": "Defines contents of rate limit rules" - }, - "RemoteAddressMatchConditionParameters": { - "type": "object", - "properties": { - "matchValues": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." - }, - "negateCondition": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Describes if this is negate condition or not" - }, - "operator": { - "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" - } - } -} \ No newline at end of file diff --git a/schemas/2022-06-01-preview/Microsoft.App.json b/schemas/2022-06-01-preview/Microsoft.App.json index 53b66eb5db..215d130b7d 100644 --- a/schemas/2022-06-01-preview/Microsoft.App.json +++ b/schemas/2022-06-01-preview/Microsoft.App.json @@ -3971,7 +3971,7 @@ }, "runtimeSubnetId": { "type": "string", - "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges." + "description": "This field is deprecated and not used. If you wish to provide your own subnet that Container App containers are injected into, then you should leverage the infrastructureSubnetId." } }, "description": "Configuration properties for apps environment to join a Virtual Network" diff --git a/schemas/2022-10-01/Microsoft.App.json b/schemas/2022-10-01/Microsoft.App.json index 7b3c49dc85..9b9cc2ff7f 100644 --- a/schemas/2022-10-01/Microsoft.App.json +++ b/schemas/2022-10-01/Microsoft.App.json @@ -4089,7 +4089,7 @@ }, "runtimeSubnetId": { "type": "string", - "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges." + "description": "This field is deprecated and not used. If you wish to provide your own subnet that Container App containers are injected into, then you should leverage the infrastructureSubnetId." } }, "description": "Configuration properties for apps environment to join a Virtual Network" diff --git a/schemas/2022-11-01-preview/Microsoft.App.json b/schemas/2022-11-01-preview/Microsoft.App.json new file mode 100644 index 0000000000..97e1325128 --- /dev/null +++ b/schemas/2022-11-01-preview/Microsoft.App.json @@ -0,0 +1,4686 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.App", + "description": "Microsoft App Resource Types", + "resourceDefinitions": { + "connectedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the connectedEnvironment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ConnectedEnvironment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/connectedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/connectedEnvironments_storages_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.App/connectedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments" + }, + "connectedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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.App/connectedEnvironments/certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/connectedEnvironments/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "containerApps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "extendedLocation": { + "oneOf": [ + { + "$ref": "#/definitions/ExtendedLocation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The complex type of the extended location." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "managedBy": { + "type": "string", + "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." + }, + "name": { + "type": "string", + "description": "Name of the Container App." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ContainerApp resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/containerApps_authConfigs_childResource" + }, + { + "$ref": "#/definitions/containerApps_sourcecontrols_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.App/containerApps" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps" + }, + "containerApps_authConfigs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App AuthConfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps/authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App SourceControl." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SourceControlProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SourceControl resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/containerApps/sourcecontrols" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/sourcecontrols" + }, + "jobs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the Container Apps Job." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JobProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job resource specific properties." + }, + "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.App/jobs" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/jobs" + }, + "managedEnvironments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "kind": { + "type": "string", + "description": "Kind of the Environment." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Environment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed environment resource specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/managedEnvironments_certificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_managedCertificates_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_daprComponents_childResource" + }, + { + "$ref": "#/definitions/managedEnvironments_storages_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.App/managedEnvironments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments" + }, + "managedEnvironments_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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.App/managedEnvironments/certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/certificates" + }, + "managedEnvironments_daprComponents": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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.App/managedEnvironments/managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.App/managedEnvironments/storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/storages" + } + }, + "definitions": { + "AllowedAudiencesValidation": { + "type": "object", + "properties": { + "allowedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token." + } + }, + "description": "The configuration settings of the Allowed Audiences validation flow." + }, + "AllowedPrincipals": { + "type": "object", + "properties": { + "groups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + }, + "identities": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed identities." + } + }, + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "Apple": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppleRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Apple provider" + } + }, + "description": "The configuration settings of the Apple provider." + }, + "AppleRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the registration for the Apple provider" + }, + "AppLogsConfiguration": { + "type": "object", + "properties": { + "destination": { + "type": "string", + "description": "Logs destination" + }, + "logAnalyticsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalyticsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Log analytics configuration" + } + }, + "description": "Configuration of application logs" + }, + "AppRegistration": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "The App ID of the app used for login." + }, + "appSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the app secret." + } + }, + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + }, + "AuthConfigProperties": { + "type": "object", + "properties": { + "globalValidation": { + "oneOf": [ + { + "$ref": "#/definitions/GlobalValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "identityProviders": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/Login" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "platform": { + "oneOf": [ + { + "$ref": "#/definitions/AuthPlatform" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + } + }, + "description": "AuthConfig resource specific properties" + }, + "AuthPlatform": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false." + }, + "runtimeVersion": { + "type": "string", + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module." + } + }, + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true." + }, + "isAutoProvisioned": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + }, + "description": "The configuration settings of the Azure Active directory provider." + }, + "AzureActiveDirectoryLogin": { + "type": "object", + "properties": { + "disableWWWAuthenticate": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false." + }, + "loginParameters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\"." + } + }, + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "AzureActiveDirectoryRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html" + }, + "clientSecretCertificateIssuer": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateSubjectAlternativeName": { + "type": "string", + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional." + }, + "clientSecretCertificateThumbprint": { + "type": "string", + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret of the relying party application." + }, + "openIdIssuer": { + "type": "string", + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html" + } + }, + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "AzureActiveDirectoryValidation": { + "type": "object", + "properties": { + "allowedAudiences": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of audiences that can make successful authentication/authorization requests." + }, + "defaultAuthorizationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/DefaultAuthorizationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "jwtClaimChecks": { + "oneOf": [ + { + "$ref": "#/definitions/JwtClaimChecks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + } + }, + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "AzureCredentials": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "Client Id." + }, + "clientSecret": { + "type": "string", + "description": "Client Secret." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id." + }, + "tenantId": { + "type": "string", + "description": "Tenant Id." + } + }, + "description": "Container App credentials." + }, + "AzureFileProperties": { + "type": "object", + "properties": { + "accessMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ReadOnly", + "ReadWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Access mode for storage." + }, + "accountKey": { + "type": "string", + "description": "Storage account key for azure file." + }, + "accountName": { + "type": "string", + "description": "Storage account name for azure file." + }, + "shareName": { + "type": "string", + "description": "Azure file share name." + } + }, + "description": "Azure File Properties." + }, + "AzureStaticWebApps": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebAppsRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + } + }, + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "AzureStaticWebAppsRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + } + }, + "description": "The configuration settings of the registration for the Azure Static Web Apps provider" + }, + "CertificateProperties": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Certificate password." + }, + "value": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + } + }, + "description": "Certificate resource specific properties" + }, + "ClientRegistration": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The Client ID of the app used for login." + }, + "clientSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the client secret." + } + }, + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "Configuration": { + "type": "object", + "properties": { + "activeRevisionsMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Multiple", + "Single" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active.Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.." + }, + "dapr": { + "oneOf": [ + { + "$ref": "#/definitions/Dapr" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Dapr configuration." + }, + "ingress": { + "oneOf": [ + { + "$ref": "#/definitions/Ingress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App Ingress configuration." + }, + "maxInactiveRevisions": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Max inactive revisions a Container App can have." + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials for containers used by the Container app" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container app" + } + }, + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "ConnectedEnvironmentProperties": { + "type": "object", + "properties": { + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "staticIp": { + "type": "string", + "description": "Static IP of the connectedEnvironment" + } + }, + "description": "ConnectedEnvironment resource specific properties" + }, + "ConnectedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "connectedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/certificates" + }, + "connectedEnvironments_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/daprComponents" + }, + "connectedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/connectedEnvironments/storages" + }, + "Container": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "probes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of probes for the container." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App container definition" + }, + "ContainerAppProbe": { + "type": "object", + "properties": { + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10." + }, + "httpGet": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeHttpGet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "HTTPGet specifies the http request to perform." + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60." + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10." + }, + "tcpSocket": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerAppProbeTcpSocket" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "terminationGracePeriodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)" + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Liveness", + "Readiness", + "Startup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of probe." + } + }, + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic." + }, + "ContainerAppProbeHttpGet": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead." + }, + "httpHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbeHttpGetHttpHeadersItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers to set in the request. HTTP allows repeated headers." + }, + "path": { + "type": "string", + "description": "Path to access on the HTTP server." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scheme to use for connecting to the host. Defaults to HTTP." + } + }, + "required": [ + "port" + ], + "description": "HTTPGet specifies the http request to perform." + }, + "ContainerAppProbeHttpGetHttpHeadersItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header field name" + }, + "value": { + "type": "string", + "description": "The header field value" + } + }, + "required": [ + "name", + "value" + ], + "description": "HTTPHeader describes a custom header to be used in HTTP probes" + }, + "ContainerAppProbeTcpSocket": { + "type": "object", + "properties": { + "host": { + "type": "string", + "description": "Optional: Host name to connect to, defaults to the pod IP." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME." + } + }, + "required": [ + "port" + ], + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported." + }, + "ContainerAppProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/Configuration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "managedEnvironmentId": { + "type": "string", + "description": "Deprecated. Resource ID of the Container App's environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/Template" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "ContainerApp resource specific properties" + }, + "containerApps_authConfigs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App AuthConfig." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthConfigProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AuthConfig resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "authConfigs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/authConfigs" + }, + "containerApps_sourcecontrols_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Container App SourceControl." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SourceControlProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SourceControl resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "sourcecontrols" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/containerApps/sourcecontrols" + }, + "ContainerResources": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Required CPU in cores, e.g. 0.5" + }, + "memory": { + "type": "string", + "description": "Required memory, e.g. \"250Mb\"" + } + }, + "description": "Container App container resource requirements." + }, + "CookieExpiration": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used when determining the session cookie's expiration." + }, + "timeToExpiration": { + "type": "string", + "description": "The time after the request is made when the session cookie should expire." + } + }, + "description": "The configuration settings of the session cookie's expiration." + }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowCredentials": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the resource allows credentials" + }, + "allowedHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-headers header" + }, + "allowedMethods": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-methods header" + }, + "allowedOrigins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-allow-origins header" + }, + "exposeHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-expose-headers header " + }, + "maxAge": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the content for the access-control-max-age header" + } + }, + "required": [ + "allowedOrigins" + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "CustomDomain": { + "type": "object", + "properties": { + "bindingType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "SniEnabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom Domain binding type." + }, + "certificateId": { + "type": "string", + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment." + }, + "name": { + "type": "string", + "description": "Hostname." + } + }, + "required": [ + "name" + ], + "description": "Custom Domain of a Container App" + }, + "CustomDomainConfiguration": { + "type": "object", + "properties": { + "certificatePassword": { + "type": "string", + "description": "Certificate password" + }, + "certificateValue": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "PFX or PEM blob" + }, + "dnsSuffix": { + "type": "string", + "description": "Dns suffix for the environment domain" + } + }, + "description": "Configuration properties for apps environment custom domain" + }, + "CustomOpenIdConnectProvider": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectLogin" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the custom Open ID Connect provider." + }, + "CustomScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe custom scale rule." + }, + "type": { + "type": "string", + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc." + } + }, + "description": "Container App container Custom scaling rule." + }, + "Dapr": { + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Dapr application identifier" + }, + "appPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which port your application is listening on" + }, + "appProtocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "grpc" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http." + }, + "enableApiLogging": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables API logging for the Dapr sidecar" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating if the Dapr side car is enabled" + }, + "httpMaxRequestSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB." + }, + "httpReadBufferSize": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "info", + "debug", + "warn", + "error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info." + } + }, + "description": "Container App Dapr configuration." + }, + "DaprComponentProperties": { + "type": "object", + "properties": { + "componentType": { + "type": "string", + "description": "Component type" + }, + "ignoreErrors": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean describing if the component errors are ignores" + }, + "initTimeout": { + "type": "string", + "description": "Initialization timeout" + }, + "metadata": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Component metadata" + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Names of container apps that can use this Dapr component" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Dapr component" + }, + "secretStoreComponent": { + "type": "string", + "description": "Name of a Dapr component to retrieve component secrets from" + }, + "version": { + "type": "string", + "description": "Component version" + } + }, + "description": "Dapr Component resource specific properties" + }, + "DaprConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Dapr component" + }, + "DaprMetadata": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Metadata property name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Dapr Component secret from which to pull the metadata property value." + }, + "value": { + "type": "string", + "description": "Metadata property value." + } + }, + "description": "Dapr component metadata." + }, + "DefaultAuthorizationPolicy": { + "type": "object", + "properties": { + "allowedApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed applications." + }, + "allowedPrincipals": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedPrincipals" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active Directory allowed principals." + } + }, + "description": "The configuration settings of the Azure Active Directory default authorization policy." + }, + "EnvironmentVar": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Environment variable name." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the environment variable value." + }, + "value": { + "type": "string", + "description": "Non-secret environment variable value." + } + }, + "description": "Container App container environment variable." + }, + "ExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CustomLocation" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the extended location." + } + }, + "description": "The complex type of the extended location." + }, + "Facebook": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true." + }, + "graphApiVersion": { + "type": "string", + "description": "The version of the Facebook api to be used while logging in." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/AppRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have app ids and app secrets" + } + }, + "description": "The configuration settings of the Facebook provider." + }, + "ForwardProxy": { + "type": "object", + "properties": { + "convention": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The convention used to determine the url of the request made." + }, + "customHostHeaderName": { + "type": "string", + "description": "The name of the header containing the host of the request." + }, + "customProtoHeaderName": { + "type": "string", + "description": "The name of the header containing the scheme of the request." + } + }, + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "GitHub": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + } + }, + "description": "The configuration settings of the GitHub provider." + }, + "GithubActionConfiguration": { + "type": "object", + "properties": { + "azureCredentials": { + "oneOf": [ + { + "$ref": "#/definitions/AzureCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App credentials." + }, + "contextPath": { + "type": "string", + "description": "Context path" + }, + "image": { + "type": "string", + "description": "Image name" + }, + "os": { + "type": "string", + "description": "Operation system" + }, + "publishType": { + "type": "string", + "description": "Code or Image" + }, + "registryInfo": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App registry information." + }, + "runtimeStack": { + "type": "string", + "description": "Runtime stack" + }, + "runtimeVersion": { + "type": "string", + "description": "Runtime version" + } + }, + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "GlobalValidation": { + "type": "object", + "properties": { + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The paths for which unauthenticated flow would not be redirected to the login page." + }, + "redirectToProvider": { + "type": "string", + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\"." + }, + "unauthenticatedClientAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action to take when an unauthenticated client attempts to access the app." + } + }, + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization." + }, + "Google": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true." + }, + "login": { + "oneOf": [ + { + "$ref": "#/definitions/LoginScopes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/ClientRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for providers that have client ids and client secrets" + }, + "validation": { + "oneOf": [ + { + "$ref": "#/definitions/AllowedAudiencesValidation" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Allowed Audiences validation flow." + } + }, + "description": "The configuration settings of the Google provider." + }, + "HttpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the custom scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe http scale rule." + } + }, + "description": "Container App container Http scaling rule." + }, + "HttpSettings": { + "type": "object", + "properties": { + "forwardProxy": { + "oneOf": [ + { + "$ref": "#/definitions/ForwardProxy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of a forward proxy used to make the requests." + }, + "requireHttps": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/HttpSettingsRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the paths HTTP requests." + } + }, + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + }, + "HttpSettingsRoutes": { + "type": "object", + "properties": { + "apiPrefix": { + "type": "string", + "description": "The prefix that should precede all the authentication/authorization paths." + } + }, + "description": "The configuration settings of the paths HTTP requests." + }, + "IdentityProviders": { + "type": "object", + "properties": { + "apple": { + "oneOf": [ + { + "$ref": "#/definitions/Apple" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Apple provider." + }, + "azureActiveDirectory": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectory" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Active directory provider." + }, + "azureStaticWebApps": { + "oneOf": [ + { + "$ref": "#/definitions/AzureStaticWebApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider." + }, + "facebook": { + "oneOf": [ + { + "$ref": "#/definitions/Facebook" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "oneOf": [ + { + "$ref": "#/definitions/GitHub" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "oneOf": [ + { + "$ref": "#/definitions/Google" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "oneOf": [ + { + "$ref": "#/definitions/Twitter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the Twitter provider." + } + }, + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "Ingress": { + "type": "object", + "properties": { + "allowInsecure": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections" + }, + "clientCertificateMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ignore", + "accept", + "require" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate." + }, + "corsPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/CorsPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cross-Origin-Resource-Sharing policy" + }, + "customDomains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "custom domain bindings for Container Apps' hostnames." + }, + "exposedPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Exposed Port in containers for TCP traffic from ingress" + }, + "external": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Bool indicating if app exposes an external http endpoint" + }, + "ipSecurityRestrictions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpSecurityRestrictionRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rules to restrict incoming IP address." + }, + "stickySessions": { + "oneOf": [ + { + "$ref": "#/definitions/IngressStickySessions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Sessions for Single Revision Mode" + }, + "targetPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Port in containers for traffic from ingress" + }, + "traffic": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weights for app's revisions" + }, + "transport": { + "oneOf": [ + { + "type": "string", + "enum": [ + "auto", + "http", + "http2", + "tcp" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ingress transport protocol." + } + }, + "description": "Container App Ingress configuration." + }, + "IngressStickySessions": { + "type": "object", + "properties": { + "affinity": { + "oneOf": [ + { + "type": "string", + "enum": [ + "sticky", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sticky Session Affinity." + } + }, + "description": "Sticky Sessions for Single Revision Mode" + }, + "InitContainer": { + "type": "object", + "properties": { + "args": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command arguments." + }, + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container start command." + }, + "env": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container environment variables." + }, + "image": { + "type": "string", + "description": "Container image tag." + }, + "name": { + "type": "string", + "description": "Custom container name." + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerResources" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container volume mounts." + } + }, + "description": "Container App init container definition" + }, + "IpSecurityRestrictionRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny." + }, + "description": { + "type": "string", + "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field." + }, + "ipAddressRange": { + "type": "string", + "description": "CIDR notation to match incoming IP address" + }, + "name": { + "type": "string", + "description": "Name for the IP restriction rule." + } + }, + "required": [ + "action", + "ipAddressRange", + "name" + ], + "description": "Rule to restrict incoming IP address." + }, + "JobConfiguration": { + "type": "object", + "properties": { + "manualTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationManualTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "registries": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of private container registry credentials used by a Container apps job" + }, + "replicaRetryLimit": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of retries before failing the job." + }, + "replicaTimeout": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum number of seconds a replica is allowed to run." + }, + "scheduleTriggerConfig": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfigurationScheduleTriggerConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Collection of secrets used by a Container Apps Job" + }, + "triggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Scheduled", + "Event", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Trigger type of the job." + } + }, + "required": [ + "replicaTimeout", + "triggerType" + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "JobConfigurationManualTriggerConfig": { + "type": "object", + "properties": { + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "description": "Manual trigger configuration for a single execution job. Properties replicaCompletionCount and parallelism would be set to 1 by default" + }, + "JobConfigurationScheduleTriggerConfig": { + "type": "object", + "properties": { + "cronExpression": { + "type": "string", + "description": "Cron formatted repeating schedule (\"* * * * *\") of a Cron Job." + }, + "parallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of parallel replicas of a job that can run at a given time." + }, + "replicaCompletionCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum number of successful replica completions before overall job completion." + } + }, + "required": [ + "cronExpression" + ], + "description": "Cron formatted repeating trigger schedule (\"* * * * *\") for cronjobs. Properties completions and parallelism would be set to 1 by default" + }, + "JobProperties": { + "type": "object", + "properties": { + "configuration": { + "oneOf": [ + { + "$ref": "#/definitions/JobConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Non versioned Container Apps Job configuration properties" + }, + "environmentId": { + "type": "string", + "description": "Resource ID of environment." + }, + "template": { + "oneOf": [ + { + "$ref": "#/definitions/JobTemplate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "workloadProfileName": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + } + }, + "description": "Container Apps Job resource specific properties." + }, + "JobTemplate": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to this section Will result in a new revision being created" + }, + "JwtClaimChecks": { + "type": "object", + "properties": { + "allowedClientApplications": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed client applications." + }, + "allowedGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the allowed groups." + } + }, + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "KedaConfiguration": { + "type": "object", + "properties": {}, + "description": "Configuration properties Keda component" + }, + "LogAnalyticsConfiguration": { + "type": "object", + "properties": { + "customerId": { + "type": "string", + "description": "Log analytics customer id" + }, + "sharedKey": { + "type": "string", + "description": "Log analytics customer key" + } + }, + "description": "Log analytics configuration" + }, + "Login": { + "type": "object", + "properties": { + "allowedExternalRedirectUrls": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed." + }, + "cookieExpiration": { + "oneOf": [ + { + "$ref": "#/definitions/CookieExpiration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "oneOf": [ + { + "$ref": "#/definitions/Nonce" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the nonce used in the login flow." + }, + "preserveUrlFragmentsForLogins": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false." + }, + "routes": { + "oneOf": [ + { + "$ref": "#/definitions/LoginRoutes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The routes that specify the endpoints used for login and logout requests." + } + }, + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "LoginRoutes": { + "type": "object", + "properties": { + "logoutEndpoint": { + "type": "string", + "description": "The endpoint at which a logout request should be made." + } + }, + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "LoginScopes": { + "type": "object", + "properties": { + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow, including the scopes that should be requested." + }, + "ManagedCertificateProperties": { + "type": "object", + "properties": { + "domainControlValidation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CNAME", + "HTTP", + "TXT" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Selected type of domain control validation for managed certificates." + }, + "subjectName": { + "type": "string", + "description": "Subject name of the certificate." + } + }, + "description": "Certificate resource specific properties" + }, + "ManagedEnvironmentProperties": { + "type": "object", + "properties": { + "appLogsConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AppLogsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration of application logs" + }, + "customDomainConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment custom domain" + }, + "daprAIConnectionString": { + "type": "string", + "description": "Application Insights connection string used by Dapr to export Service to Service communication telemetry" + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry" + }, + "daprConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/DaprConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Dapr component" + }, + "infrastructureResourceGroup": { + "type": "string", + "description": "Name of the platform-managed resource group created for the Managed Environment to host infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as the subnet." + }, + "kedaConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/KedaConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties Keda component" + }, + "vnetConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VnetConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "workloadProfiles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProfile" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workload profiles configured for the Managed Environment." + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not this Managed Environment is zone-redundant." + } + }, + "description": "Managed environment resource specific properties" + }, + "ManagedEnvironmentStorageProperties": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure File Properties." + } + }, + "description": "Storage properties" + }, + "managedEnvironments_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/certificates" + }, + "managedEnvironments_daprComponents_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Dapr Component." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DaprComponentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Dapr Component resource specific properties" + }, + "type": { + "type": "string", + "enum": [ + "daprComponents" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/daprComponents" + }, + "managedEnvironments_managedCertificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Managed Certificate." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Certificate resource specific properties" + }, + "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": [ + "managedCertificates" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/managedCertificates" + }, + "managedEnvironments_storages_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the storage." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedEnvironmentStorageProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage properties" + }, + "type": { + "type": "string", + "enum": [ + "storages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.App/managedEnvironments/storages" + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "Nonce": { + "type": "object", + "properties": { + "nonceExpirationInterval": { + "type": "string", + "description": "The time after the request is made when the nonce should expire." + }, + "validateNonce": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true." + } + }, + "description": "The configuration settings of the nonce used in the login flow." + }, + "OpenIdConnectClientCredential": { + "type": "object", + "properties": { + "clientSecretSettingName": { + "type": "string", + "description": "The app setting that contains the client secret for the custom Open ID Connect provider." + }, + "method": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ClientSecretPost" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The method that should be used to authenticate the user." + } + }, + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "OpenIdConnectConfig": { + "type": "object", + "properties": { + "authorizationEndpoint": { + "type": "string", + "description": "The endpoint to be used to make an authorization request." + }, + "certificationUri": { + "type": "string", + "description": "The endpoint that provides the keys necessary to validate the token." + }, + "issuer": { + "type": "string", + "description": "The endpoint that issues the token." + }, + "tokenEndpoint": { + "type": "string", + "description": "The endpoint to be used to request a token." + }, + "wellKnownOpenIdConfiguration": { + "type": "string", + "description": "The endpoint that contains all the configuration endpoints for the provider." + } + }, + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + }, + "OpenIdConnectLogin": { + "type": "object", + "properties": { + "nameClaimType": { + "type": "string", + "description": "The name of the claim that contains the users name." + }, + "scopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of the scopes that should be requested while authenticating." + } + }, + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + }, + "OpenIdConnectRegistration": { + "type": "object", + "properties": { + "clientCredential": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectClientCredential" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The authentication client credentials of the custom Open ID Connect provider." + }, + "clientId": { + "type": "string", + "description": "The client id of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/OpenIdConnectConfig" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + }, + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "QueueScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the queue scale rule." + }, + "queueLength": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Queue length." + }, + "queueName": { + "type": "string", + "description": "Queue name." + } + }, + "description": "Container App container Azure Queue based scaling rule." + }, + "RegistryCredentials": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'" + }, + "passwordSecretRef": { + "type": "string", + "description": "The name of the Secret that contains the registry login password" + }, + "server": { + "type": "string", + "description": "Container Registry Server" + }, + "username": { + "type": "string", + "description": "Container Registry Username" + } + }, + "description": "Container App Private Registry" + }, + "RegistryInfo": { + "type": "object", + "properties": { + "registryPassword": { + "type": "string", + "description": "registry secret." + }, + "registryUrl": { + "type": "string", + "description": "registry server Url." + }, + "registryUserName": { + "type": "string", + "description": "registry username." + } + }, + "description": "Container App registry information." + }, + "Scale": { + "type": "object", + "properties": { + "maxReplicas": { + "oneOf": [ + { + "type": "integer", + "default": "10" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set." + }, + "minReplicas": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional. Minimum number of container replicas." + }, + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Scaling rules." + } + }, + "description": "Container App scaling configurations." + }, + "ScaleRule": { + "type": "object", + "properties": { + "azureQueue": { + "oneOf": [ + { + "$ref": "#/definitions/QueueScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Azure Queue based scaling rule." + }, + "custom": { + "oneOf": [ + { + "$ref": "#/definitions/CustomScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Custom scaling rule." + }, + "http": { + "oneOf": [ + { + "$ref": "#/definitions/HttpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Http scaling rule." + }, + "name": { + "type": "string", + "description": "Scale Rule Name" + }, + "tcp": { + "oneOf": [ + { + "$ref": "#/definitions/TcpScaleRule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App container Tcp scaling rule." + } + }, + "description": "Container App container scaling rule." + }, + "ScaleRuleAuth": { + "type": "object", + "properties": { + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the auth params." + }, + "triggerParameter": { + "type": "string", + "description": "Trigger Parameter that uses the secret" + } + }, + "description": "Auth Secrets for Container App Scale Rule" + }, + "Secret": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity." + }, + "keyVaultUrl": { + "type": "string", + "description": "Azure Key Vault URL pointing to the secret referenced by the container app." + }, + "name": { + "type": "string", + "description": "Secret Name." + }, + "value": { + "type": "string", + "description": "Secret Value." + } + }, + "description": "Secret definition." + }, + "SecretVolumeItem": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef." + }, + "secretRef": { + "type": "string", + "description": "Name of the Container App secret from which to pull the secret value." + } + }, + "description": "Secret to be added to volume." + }, + "SourceControlProperties": { + "type": "object", + "properties": { + "branch": { + "type": "string", + "description": "The branch which will trigger the auto deployment" + }, + "githubActionConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/GithubActionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration properties that define the mutable settings of a Container App SourceControl" + }, + "repoUrl": { + "type": "string", + "description": "The repo url which will be integrated to ContainerApp." + } + }, + "description": "SourceControl resource specific properties" + }, + "TcpScaleRule": { + "type": "object", + "properties": { + "auth": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication secrets for the tcp scale rule." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata properties to describe tcp scale rule." + } + }, + "description": "Container App container Tcp scaling rule." + }, + "Template": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of container definitions for the Container App." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainer" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specialized containers that run before app containers." + }, + "revisionSuffix": { + "type": "string", + "description": "User friendly suffix that is appended to the revision name" + }, + "scale": { + "oneOf": [ + { + "$ref": "#/definitions/Scale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container App scaling configurations." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of volume definitions for the Container App." + } + }, + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created" + }, + "TrafficWeight": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Associates a traffic label with a revision" + }, + "latestRevision": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates that the traffic weight belongs to a latest stable revision" + }, + "revisionName": { + "type": "string", + "description": "Name of a revision" + }, + "weight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Traffic weight assigned to a revision" + } + }, + "description": "Traffic weight assigned to a revision" + }, + "Twitter": { + "type": "object", + "properties": { + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true." + }, + "registration": { + "oneOf": [ + { + "$ref": "#/definitions/TwitterRegistration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration settings of the app registration for the Twitter provider." + } + }, + "description": "The configuration settings of the Twitter provider." + }, + "TwitterRegistration": { + "type": "object", + "properties": { + "consumerKey": { + "type": "string", + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in" + }, + "consumerSecretSettingName": { + "type": "string", + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in." + } + }, + "description": "The configuration settings of the app registration for the Twitter provider." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + }, + "VnetConfiguration": { + "type": "object", + "properties": { + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges." + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. Must not overlap with any other provided IP ranges." + }, + "internal": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource. They must provide infrastructureSubnetId if enabling this property" + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges." + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server." + } + }, + "description": "Configuration properties for apps environment to join a Virtual Network" + }, + "Volume": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Volume name." + }, + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SecretVolumeItem" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to volume." + }, + "storageName": { + "type": "string", + "description": "Name of storage resource. No need to provide for EmptyDir and Secret." + }, + "storageType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureFile", + "EmptyDir", + "Secret" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Storage type for the volume. If not provided, use EmptyDir." + } + }, + "description": "Volume definitions for the Container App." + }, + "VolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "Path within the container at which the volume should be mounted.Must not contain ':'." + }, + "volumeName": { + "type": "string", + "description": "This must match the Name of a Volume." + } + }, + "description": "Volume mount for the Container App." + }, + "WorkloadProfile": { + "type": "object", + "properties": { + "maximumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum capacity." + }, + "minimumCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The minimum capacity." + }, + "name": { + "type": "string", + "description": "Workload profile name for container apps to execute on." + }, + "workloadProfileType": { + "type": "string", + "description": "Workload profile type for container apps to execute on." + } + }, + "required": [ + "name", + "workloadProfileType" + ], + "description": "Workload profile to scope container app execution." + } + } +} \ No newline at end of file diff --git a/schemas/2022-11-01-preview/Microsoft.Cdn.json b/schemas/2022-11-01-preview/Microsoft.Cdn.json deleted file mode 100644 index ef232c4068..0000000000 --- a/schemas/2022-11-01-preview/Microsoft.Cdn.json +++ /dev/null @@ -1,7012 +0,0 @@ -{ - "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/ManagedServiceIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Managed service identity (system assigned and/or user assigned identities)" - }, - "location": { - "type": "string", - "description": "Resource location." - }, - "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 Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint" - }, - "priority": { - "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." - }, - "ManagedServiceIdentity": { - "type": "object", - "properties": { - "type": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentity" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." - } - }, - "required": [ - "type" - ], - "description": "Managed service identity (system assigned and/or user assigned identities)" - }, - "MatchCondition": { - "type": "object", - "properties": { - "matchValue": { - "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" - }, - "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" - }, - "UserAssignedIdentity": { - "type": "object", - "properties": {}, - "description": "User assigned identity properties" - } - } -} \ No newline at end of file diff --git a/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json b/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json new file mode 100644 index 0000000000..b15973b97a --- /dev/null +++ b/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json @@ -0,0 +1,1375 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerInstance", + "description": "Microsoft ContainerInstance Resource Types", + "resourceDefinitions": { + "containerGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the container group." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "The name of the container group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupPropertiesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container group properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerInstance/containerGroups" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The zones for the container group." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerInstance/containerGroups" + } + }, + "definitions": { + "AzureFileVolume": { + "type": "object", + "properties": { + "readOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only." + }, + "shareName": { + "type": "string", + "description": "The name of the Azure File share to be mounted as a volume." + }, + "storageAccountKey": { + "type": "string", + "description": "The storage account access key used to access the Azure File share." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account that contains the Azure File share." + } + }, + "required": [ + "shareName", + "storageAccountName" + ], + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes." + }, + "Container": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The user-provided name of the container instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container instance properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "A container instance." + }, + "ContainerExec": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The commands to execute within the container." + } + }, + "description": "The container execution command, for liveness or readiness probe" + }, + "ContainerGroupDiagnostics": { + "type": "object", + "properties": { + "logAnalytics": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalytics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container group log analytics information." + } + }, + "description": "Container group diagnostic information." + }, + "ContainerGroupIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the container group." + } + }, + "description": "Identity for the container group." + }, + "ContainerGroupPropertiesProperties": { + "type": "object", + "properties": { + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The containers within the container group." + }, + "diagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container group diagnostic information." + }, + "dnsConfig": { + "oneOf": [ + { + "$ref": "#/definitions/DnsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS configuration for the container group." + }, + "encryptionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container group encryption properties." + }, + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentExtensionSpec" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "extensions used by virtual kubelet" + }, + "imageRegistryCredentials": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image registry credentials by which the container group is created from." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainerDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The init containers for a container group." + }, + "ipAddress": { + "oneOf": [ + { + "$ref": "#/definitions/IpAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address for the container group." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operating system type required by the containers in the container group." + }, + "provisioningTimeoutInSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time in seconds in which a container group deployment would timeout and fail. The allowed maximum value is 1800 seconds. If value is not provided, property is given maximum value by default." + }, + "restartPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Always", + "OnFailure", + "Never" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n." + }, + "sku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Dedicated" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU for a container group." + }, + "subnetIds": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerGroupSubnetId" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The subnet resource IDs for a container group." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of volumes that can be mounted by containers in this container group." + } + }, + "required": [ + "containers", + "osType" + ], + "description": "The container group properties" + }, + "ContainerGroupSubnetId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of virtual network and subnet." + }, + "name": { + "type": "string", + "description": "Friendly name for the subnet." + } + }, + "required": [ + "id" + ], + "description": "Container group subnet information." + }, + "ContainerHttpGet": { + "type": "object", + "properties": { + "httpHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HTTP headers." + }, + "path": { + "type": "string", + "description": "The path to probe." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number to probe." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scheme." + } + }, + "required": [ + "port" + ], + "description": "The container Http Get settings, for liveness or readiness probe" + }, + "ContainerPort": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number exposed within the container group." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol associated with the port." + } + }, + "required": [ + "port" + ], + "description": "The port exposed on the container instance." + }, + "ContainerProbe": { + "type": "object", + "properties": { + "exec": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerExec" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container execution command, for liveness or readiness probe" + }, + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failure threshold." + }, + "httpGet": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerHttpGet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container Http Get settings, for liveness or readiness probe" + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The initial delay seconds." + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The period seconds." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The success threshold." + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout seconds." + } + }, + "description": "The container probe, for liveness or readiness" + }, + "ContainerProperties": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The commands to execute within the container instance in exec form." + }, + "environmentVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The environment variables to set in the container instance." + }, + "image": { + "type": "string", + "description": "The name of the image used to create the container instance." + }, + "livenessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProbe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container probe, for liveness or readiness" + }, + "ports": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerPort" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The exposed ports on the container instance." + }, + "readinessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProbe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container probe, for liveness or readiness" + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRequirements" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource requirements." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume mounts available to the container instance." + } + }, + "required": [ + "image", + "resources" + ], + "description": "The container instance properties." + }, + "DeploymentExtensionSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentExtensionSpecProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extension specific properties" + } + }, + "required": [ + "name" + ], + "description": "Extension sidecars to be added to the deployment." + }, + "DeploymentExtensionSpecProperties": { + "type": "object", + "properties": { + "extensionType": { + "type": "string", + "description": "Type of extension to be added." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "Protected settings for the extension." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Settings for the extension." + }, + "version": { + "type": "string", + "description": "Version of the extension being used." + } + }, + "required": [ + "extensionType", + "version" + ], + "description": "Extension specific properties" + }, + "DnsConfiguration": { + "type": "object", + "properties": { + "nameServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DNS servers for the container group." + }, + "options": { + "type": "string", + "description": "The DNS options for the container group." + }, + "searchDomains": { + "type": "string", + "description": "The DNS search domains for hostname lookup in the container group." + } + }, + "required": [ + "nameServers" + ], + "description": "DNS configuration for the container group." + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The keyvault managed identity." + }, + "keyName": { + "type": "string", + "description": "The encryption key name." + }, + "keyVersion": { + "type": "string", + "description": "The encryption key version." + }, + "vaultBaseUrl": { + "type": "string", + "description": "The keyvault base url." + } + }, + "required": [ + "keyName", + "keyVersion", + "vaultBaseUrl" + ], + "description": "The container group encryption properties." + }, + "EnvironmentVariable": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable." + }, + "secureValue": { + "type": "string", + "description": "The value of the secure environment variable." + }, + "value": { + "type": "string", + "description": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "description": "The environment variable to set within the container instance." + }, + "GitRepoVolume": { + "type": "object", + "properties": { + "directory": { + "type": "string", + "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name." + }, + "repository": { + "type": "string", + "description": "Repository URL" + }, + "revision": { + "type": "string", + "description": "Commit hash for the specified revision." + } + }, + "required": [ + "repository" + ], + "description": "Represents a volume that is populated with the contents of a git repository" + }, + "GpuResource": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The count of the GPU resource." + }, + "sku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "K80", + "P100", + "V100" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the GPU resource." + } + }, + "required": [ + "count", + "sku" + ], + "description": "The GPU resource." + }, + "HttpHeader": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header name." + }, + "value": { + "type": "string", + "description": "The header value." + } + }, + "description": "The HTTP header." + }, + "ImageRegistryCredential": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity for the private registry." + }, + "identityUrl": { + "type": "string", + "description": "The identity URL for the private registry." + }, + "password": { + "type": "string", + "description": "The password for the private registry." + }, + "server": { + "type": "string", + "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + } + }, + "required": [ + "server" + ], + "description": "Image registry credential." + }, + "InitContainerDefinition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name for the init container." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InitContainerPropertiesDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The init container definition properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The init container definition." + }, + "InitContainerPropertiesDefinition": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The command to execute within the init container in exec form." + }, + "environmentVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The environment variables to set in the init container." + }, + "image": { + "type": "string", + "description": "The image of the init container." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume mounts available to the init container." + } + }, + "description": "The init container definition properties." + }, + "IpAddress": { + "type": "object", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unsecure", + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "Noreuse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant." + }, + "dnsNameLabel": { + "type": "string", + "description": "The Dns name label for the IP." + }, + "ip": { + "type": "string", + "description": "The IP exposed to the public internet." + }, + "ports": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Port" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ports exposed on the container group." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if the IP is exposed to the public internet or private VNET." + } + }, + "required": [ + "ports", + "type" + ], + "description": "IP address for the container group." + }, + "LogAnalytics": { + "type": "object", + "properties": { + "logType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ContainerInsights", + "ContainerInstanceLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The log type to be used." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata for log analytics." + }, + "workspaceId": { + "type": "string", + "description": "The workspace id for log analytics" + }, + "workspaceKey": { + "type": "string", + "description": "The workspace key for log analytics" + }, + "workspaceResourceId": { + "type": "string", + "description": "The workspace resource id for log analytics" + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ], + "description": "Container group log analytics information." + }, + "Port": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol associated with the port." + } + }, + "required": [ + "port" + ], + "description": "The port exposed on the container group." + }, + "ResourceLimits": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CPU limit of this container instance." + }, + "gpu": { + "oneOf": [ + { + "$ref": "#/definitions/GpuResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The GPU resource." + }, + "memoryInGB": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The memory limit in GB of this container instance." + } + }, + "description": "The resource limits." + }, + "ResourceRequests": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CPU request of this container instance." + }, + "gpu": { + "oneOf": [ + { + "$ref": "#/definitions/GpuResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The GPU resource." + }, + "memoryInGB": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The memory request in GB of this container instance." + } + }, + "required": [ + "cpu", + "memoryInGB" + ], + "description": "The resource requests." + }, + "ResourceRequirements": { + "type": "object", + "properties": { + "limits": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceLimits" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource limits." + }, + "requests": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource requests." + } + }, + "required": [ + "requests" + ], + "description": "The resource requirements." + }, + "UserAssignedIdentities": { + "type": "object", + "properties": {}, + "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + }, + "Volume": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileVolume" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes." + }, + "emptyDir": { + "type": "object", + "properties": {}, + "description": "The empty directory volume." + }, + "gitRepo": { + "oneOf": [ + { + "$ref": "#/definitions/GitRepoVolume" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents a volume that is populated with the contents of a git repository" + }, + "name": { + "type": "string", + "description": "The name of the volume." + }, + "secret": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secret volume." + } + }, + "required": [ + "name" + ], + "description": "The properties of the volume." + }, + "VolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "The path within the container where the volume should be mounted. Must not contain colon (:)." + }, + "name": { + "type": "string", + "description": "The name of the volume mount." + }, + "readOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag indicating whether the volume mount is read-only." + } + }, + "required": [ + "mountPath", + "name" + ], + "description": "The properties of the volume mount." + } + } +} \ No newline at end of file diff --git a/schemas/2023-03-31/Microsoft.Communication.json b/schemas/2023-03-31/Microsoft.Communication.json index 767ad299df..3544be57a0 100644 --- a/schemas/2023-03-31/Microsoft.Communication.json +++ b/schemas/2023-03-31/Microsoft.Communication.json @@ -21,7 +21,7 @@ "oneOf": [ { "type": "string", - "pattern": "^[a-zA-Z0-9-]+$", + "pattern": "^[-\\w]+$", "minLength": 1, "maxLength": 63 }, diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index f8611d69bd..1af2e1f214 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -2323,6 +2323,45 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-10-01/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/connectedEnvironments_storages" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_authConfigs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/containerApps_sourcecontrols" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/jobs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_daprComponents" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_managedCertificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-11-01-preview/Microsoft.App.json#/resourceDefinitions/managedEnvironments_storages" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-02-01-preview/Microsoft.AppConfiguration.json#/resourceDefinitions/configurationStores" }, @@ -4609,303 +4648,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-06-01/Microsoft.Cache.json#/resourceDefinitions/redis_privateEndpointConnections" }, - { - "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" - }, - { - "$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" }, @@ -6373,6 +6115,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-06-27-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" }, From 3babb66759ff5dd648078015292e76fad7ed86ef Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 30 Mar 2023 09:52:56 +0000 Subject: [PATCH 07/30] Update resource list --- generator/resources.json | 171 +++++++-------------------------------- 1 file changed, 30 insertions(+), 141 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 6fdb150da5..f6e5844e7b 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -1017,61 +1017,78 @@ ], "Microsoft.App/connectedEnvironments": [ "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/connectedEnvironments/certificates": [ "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/connectedEnvironments/daprComponents": [ "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/connectedEnvironments/storages": [ "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/containerApps": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/containerApps/authConfigs": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/containerApps/sourcecontrols": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" + ], + "Microsoft.App/jobs": [ + "2022-11-01-preview" ], "Microsoft.App/managedEnvironments": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/managedEnvironments/certificates": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.App/managedEnvironments/daprComponents": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" + ], + "Microsoft.App/managedEnvironments/managedCertificates": [ + "2022-11-01-preview" ], "Microsoft.App/managedEnvironments/storages": [ "2022-01-01-preview", "2022-03-01", "2022-06-01-preview", - "2022-10-01" + "2022-10-01", + "2022-11-01-preview" ], "Microsoft.AppComplianceAutomation/reports": [ "2022-11-16-preview" @@ -2195,135 +2212,6 @@ "2019-07-19-preview", "2020-10-25" ], - "Microsoft.Cdn/CdnWebApplicationFirewallPolicies": [ - "2019-06-15", - "2019-06-15-preview", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/afdEndpoints": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/afdEndpoints/routes": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/customDomains": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/endpoints": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/endpoints/customDomains": [ - "2015-06-01", - "2016-04-02", - "2016-10-02", - "2017-04-02", - "2017-10-12", - "2019-04-15", - "2019-06-15", - "2019-06-15-preview", - "2019-12-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/endpoints/originGroups": [ - "2019-12-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/endpoints/origins": [ - "2015-06-01", - "2016-04-02", - "2019-12-31", - "2020-04-15", - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/originGroups": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/originGroups/origins": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/ruleSets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/ruleSets/rules": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/secrets": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], - "Microsoft.Cdn/profiles/securityPolicies": [ - "2020-09-01", - "2021-06-01", - "2022-05-01-preview", - "2022-11-01-preview" - ], "Microsoft.CertificateRegistration/certificateOrders": [ "2015-08-01", "2018-02-01", @@ -2945,7 +2833,8 @@ "2021-09-01", "2021-10-01", "2022-09-01", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-02-01-preview" ], "Microsoft.ContainerRegistry/registries": [ "2016-06-27-preview", From 3913c79321a54008bccb0f1c334e7d97d441ccef Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Sun, 2 Apr 2023 10:06:59 +0000 Subject: [PATCH 08/30] Autogenerate schemas --- schemas/2022-12-01/Microsoft.DataBox.json | 30 + .../Microsoft.ContainerStorage.json | 637 ------------------ schemas/common/autogeneratedResources.json | 9 - 3 files changed, 30 insertions(+), 646 deletions(-) delete mode 100644 schemas/2023-03-01-preview/Microsoft.ContainerStorage.json diff --git a/schemas/2022-12-01/Microsoft.DataBox.json b/schemas/2022-12-01/Microsoft.DataBox.json index ee3c4e09b6..23fcc75335 100644 --- a/schemas/2022-12-01/Microsoft.DataBox.json +++ b/schemas/2022-12-01/Microsoft.DataBox.json @@ -520,6 +520,21 @@ } ], "description": "Defines secondary layer of software-based encryption enablement." + }, + "hardwareEncryption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines Hardware level encryption (Only for disk)." } }, "description": "Preferences related to the Encryption." @@ -1074,6 +1089,17 @@ "type": "string", "description": "Postal code." }, + "skipAddressValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate if customer has chosen to skip default address validation" + }, "stateOrProvince": { "type": "string", "description": "Name of the State or Province." @@ -1090,6 +1116,10 @@ "type": "string", "description": "Street Address line 1." }, + "taxIdentificationNumber": { + "type": "string", + "description": "Tax Identification Number" + }, "zipExtendedCode": { "type": "string", "description": "Extended Zip Code." diff --git a/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json b/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json deleted file mode 100644 index 026f719425..0000000000 --- a/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json +++ /dev/null @@ -1,637 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.ContainerStorage", - "description": "Microsoft ContainerStorage Resource Types", - "resourceDefinitions": { - "pools": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-03-01-preview" - ] - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Pool Object" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/PoolProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Pool Properties" - }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/pools_volumes_childResource" - }, - { - "$ref": "#/definitions/pools_volumeSnapshots_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.ContainerStorage/pools" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.ContainerStorage/pools" - }, - "pools_volumes": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-03-01-preview" - ] - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Resource" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VolumeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Properties" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ContainerStorage/pools/volumes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ContainerStorage/pools/volumes" - }, - "pools_volumeSnapshots": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-03-01-preview" - ] - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Snapshot Resource" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VolumeSnapshotProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Snapshot Properties" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.ContainerStorage/pools/volumeSnapshots" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" - } - }, - "definitions": { - "DiskPoolProperties": { - "type": "object", - "properties": { - "csiParams": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of KV pairs to set in StorageClass to configure CSI driver." - }, - "disks": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." - }, - "maxVolumeCapacityGiB": { - "oneOf": [ - { - "type": "integer", - "default": "512" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum capacity of the volumes in GiB the user intends to create. Default 512." - } - }, - "description": "Disk Pool Properties" - }, - "ElasticSanPoolProperties": { - "type": "object", - "properties": { - "resourceGroup": { - "type": "string", - "description": "Resource group of an existing SAN." - }, - "sanName": { - "type": "string", - "description": "Name of an existing SAN." - }, - "volumeGroup": { - "type": "string", - "description": "Volume group of an existing SAN." - } - }, - "required": [ - "resourceGroup", - "sanName", - "volumeGroup" - ], - "description": "Elastic San Pool Properties" - }, - "EphemeralPoolProperties": { - "type": "object", - "properties": { - "diskFormat": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Consent to format the local disks." - }, - "disks": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." - }, - "diskSelector": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks." - } - }, - "required": [ - "disks", - "diskSelector" - ], - "description": "Ephemeral Pool Properties" - }, - "PoolProperties": { - "type": "object", - "properties": { - "assignments": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." - }, - "diskPoolProperties": { - "oneOf": [ - { - "$ref": "#/definitions/DiskPoolProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Disk Pool Properties" - }, - "elasticSanPoolProperties": { - "oneOf": [ - { - "$ref": "#/definitions/ElasticSanPoolProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Elastic San Pool Properties" - }, - "ephemeralPoolProperties": { - "oneOf": [ - { - "$ref": "#/definitions/EphemeralPoolProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Ephemeral Pool Properties" - }, - "poolCapacityGiB": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Initial capacity of the pool in GiB." - }, - "poolType": { - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." - }, - "zones": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of availability zones that resources can be created in." - } - }, - "required": [ - "assignments", - "elasticSanPoolProperties", - "poolCapacityGiB", - "poolType", - "zones" - ], - "description": "Pool Properties" - }, - "pools_volumeSnapshots_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-03-01-preview" - ] - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Snapshot Resource" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VolumeSnapshotProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Snapshot Properties" - }, - "type": { - "type": "string", - "enum": [ - "volumeSnapshots" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" - }, - "pools_volumes_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2023-03-01-preview" - ] - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9-]{3,24}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Resource" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/VolumeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Volume Properties" - }, - "type": { - "type": "string", - "enum": [ - "volumes" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.ContainerStorage/pools/volumes" - }, - "VolumeProperties": { - "type": "object", - "properties": { - "capacityGiB": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Requested capacity in GiB" - }, - "labels": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "String KV pairs indicating labels" - }, - "mountOptions": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of string mount options" - }, - "reclaimPolicy": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Delete", - "Retain" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reclaim Policy, Delete or Retain." - }, - "volumeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Filesystem", - "Raw" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates how the volume should be attached." - } - }, - "required": [ - "capacityGiB", - "labels", - "mountOptions", - "reclaimPolicy", - "volumeMode" - ], - "description": "Volume Properties" - }, - "VolumeSnapshotProperties": { - "type": "object", - "properties": { - "mountOptions": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "List of string mount options" - }, - "reclaimPolicy": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Delete", - "Retain" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Reclaim Policy, Delete or Retain." - }, - "source": { - "type": "string", - "description": "Reference to the source volume" - }, - "volumeMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Filesystem", - "Raw" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates how the volumes created from the snapshot should be attached." - } - }, - "required": [ - "mountOptions", - "reclaimPolicy", - "source", - "volumeMode" - ], - "description": "Volume Snapshot Properties" - } - } -} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 1af2e1f214..03ae6a6e81 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -7078,15 +7078,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-02-preview/Microsoft.ContainerService.json#/resourceDefinitions/snapshots" }, - { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumes" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumeSnapshots" - }, { "$ref": "https://schema.management.azure.com/schemas/2018-05-31/Microsoft.CostManagement.json#/resourceDefinitions/reportconfigs" }, From 61a5c8beb7b31854daaa4da5988ddfd6a84d7008 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Sun, 2 Apr 2023 10:07:33 +0000 Subject: [PATCH 09/30] Update resource list --- generator/resources.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index f6e5844e7b..0cb8fcfed6 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -3212,15 +3212,6 @@ "2023-01-01", "2023-01-02-preview" ], - "Microsoft.ContainerStorage/pools": [ - "2023-03-01-preview" - ], - "Microsoft.ContainerStorage/pools/volumeSnapshots": [ - "2023-03-01-preview" - ], - "Microsoft.ContainerStorage/pools/volumes": [ - "2023-03-01-preview" - ], "Microsoft.CostManagement/budgets": [ "2019-04-01-preview" ], From 2dd14935800458aefccb40c8cf6dd7615601a5ec Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Mon, 3 Apr 2023 09:45:21 +0000 Subject: [PATCH 10/30] Autogenerate schemas --- .../Microsoft.ContainerStorage.json | 637 ++++++++++++++++++ schemas/common/autogeneratedResources.json | 9 + 2 files changed, 646 insertions(+) create mode 100644 schemas/2023-03-01-preview/Microsoft.ContainerStorage.json diff --git a/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json b/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json new file mode 100644 index 0000000000..026f719425 --- /dev/null +++ b/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json @@ -0,0 +1,637 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerStorage", + "description": "Microsoft ContainerStorage Resource Types", + "resourceDefinitions": { + "pools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Object" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool Properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/pools_volumes_childResource" + }, + { + "$ref": "#/definitions/pools_volumeSnapshots_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.ContainerStorage/pools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools" + }, + "pools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + }, + "pools_volumeSnapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerStorage/pools/volumeSnapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" + } + }, + "definitions": { + "DiskPoolProperties": { + "type": "object", + "properties": { + "csiParams": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of KV pairs to set in StorageClass to configure CSI driver." + }, + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "maxVolumeCapacityGiB": { + "oneOf": [ + { + "type": "integer", + "default": "512" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum capacity of the volumes in GiB the user intends to create. Default 512." + } + }, + "description": "Disk Pool Properties" + }, + "ElasticSanPoolProperties": { + "type": "object", + "properties": { + "resourceGroup": { + "type": "string", + "description": "Resource group of an existing SAN." + }, + "sanName": { + "type": "string", + "description": "Name of an existing SAN." + }, + "volumeGroup": { + "type": "string", + "description": "Volume group of an existing SAN." + } + }, + "required": [ + "resourceGroup", + "sanName", + "volumeGroup" + ], + "description": "Elastic San Pool Properties" + }, + "EphemeralPoolProperties": { + "type": "object", + "properties": { + "diskFormat": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Consent to format the local disks." + }, + "disks": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Only required if individual disk selection is desired. Path to disk, e.g. :/dev/sda or WWN. Supports specifying multiple disks (same syntax as tags)." + }, + "diskSelector": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Template name or KV pairs containing disk selection criteria, e.g. model=\"Microsoft NVMe Direct Disk\" to match all Lsv2 NVMe disks." + } + }, + "required": [ + "disks", + "diskSelector" + ], + "description": "Ephemeral Pool Properties" + }, + "PoolProperties": { + "type": "object", + "properties": { + "assignments": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of resources that should have access to the pool. Typically ARM references to AKS clusters or ACI Container Groups. For local and standard this must be a single reference. For portable there can be many." + }, + "diskPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DiskPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disk Pool Properties" + }, + "elasticSanPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ElasticSanPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Elastic San Pool Properties" + }, + "ephemeralPoolProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EphemeralPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ephemeral Pool Properties" + }, + "poolCapacityGiB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Initial capacity of the pool in GiB." + }, + "poolType": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the Pool: ephemeral, disk, managed, or elasticsan." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of availability zones that resources can be created in." + } + }, + "required": [ + "assignments", + "elasticSanPoolProperties", + "poolCapacityGiB", + "poolType", + "zones" + ], + "description": "Pool Properties" + }, + "pools_volumeSnapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + }, + "type": { + "type": "string", + "enum": [ + "volumeSnapshots" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumeSnapshots" + }, + "pools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Resource" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Properties" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerStorage/pools/volumes" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "capacityGiB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Requested capacity in GiB" + }, + "labels": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String KV pairs indicating labels" + }, + "mountOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of string mount options" + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Retain" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reclaim Policy, Delete or Retain." + }, + "volumeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Filesystem", + "Raw" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates how the volume should be attached." + } + }, + "required": [ + "capacityGiB", + "labels", + "mountOptions", + "reclaimPolicy", + "volumeMode" + ], + "description": "Volume Properties" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "mountOptions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of string mount options" + }, + "reclaimPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Delete", + "Retain" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reclaim Policy, Delete or Retain." + }, + "source": { + "type": "string", + "description": "Reference to the source volume" + }, + "volumeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Filesystem", + "Raw" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates how the volumes created from the snapshot should be attached." + } + }, + "required": [ + "mountOptions", + "reclaimPolicy", + "source", + "volumeMode" + ], + "description": "Volume Snapshot Properties" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 03ae6a6e81..1af2e1f214 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -7078,6 +7078,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-02-preview/Microsoft.ContainerService.json#/resourceDefinitions/snapshots" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.ContainerStorage.json#/resourceDefinitions/pools_volumeSnapshots" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-05-31/Microsoft.CostManagement.json#/resourceDefinitions/reportconfigs" }, From 48a28e7e979230b315d7e0e89eb764ed3ca76b6c Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Mon, 3 Apr 2023 09:45:55 +0000 Subject: [PATCH 11/30] Update resource list --- generator/resources.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/generator/resources.json b/generator/resources.json index 0cb8fcfed6..f6e5844e7b 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -3212,6 +3212,15 @@ "2023-01-01", "2023-01-02-preview" ], + "Microsoft.ContainerStorage/pools": [ + "2023-03-01-preview" + ], + "Microsoft.ContainerStorage/pools/volumeSnapshots": [ + "2023-03-01-preview" + ], + "Microsoft.ContainerStorage/pools/volumes": [ + "2023-03-01-preview" + ], "Microsoft.CostManagement/budgets": [ "2019-04-01-preview" ], From 54f32568263e1fdfb929ea7d4bd106e31e46cc6b Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Mon, 3 Apr 2023 15:33:35 +0000 Subject: [PATCH 12/30] Autogenerate schemas --- .../Microsoft.PowerPlatform.json | 16 ++++++++++++++++ .../Microsoft.DBforPostgreSQL.json | 4 ---- .../2022-12-01/Microsoft.DBforPostgreSQL.json | 4 ---- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json index f4b08056b8..acb9e3f396 100644 --- a/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json +++ b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json @@ -449,6 +449,22 @@ ], "description": "The encryption settings for a configuration store." }, + "healthStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Undetermined", + "Healthy", + "Unhealthy" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The health status of the resource." + }, "lockbox": { "oneOf": [ { diff --git a/schemas/2022-03-08-preview/Microsoft.DBforPostgreSQL.json b/schemas/2022-03-08-preview/Microsoft.DBforPostgreSQL.json index 12c665ca08..dc70b1cb9d 100644 --- a/schemas/2022-03-08-preview/Microsoft.DBforPostgreSQL.json +++ b/schemas/2022-03-08-preview/Microsoft.DBforPostgreSQL.json @@ -902,11 +902,7 @@ "enum": [ "None", "Primary", - "Secondary", - "WalReplica", - "SyncReplica", "AsyncReplica", - "GeoSyncReplica", "GeoAsyncReplica" ] }, diff --git a/schemas/2022-12-01/Microsoft.DBforPostgreSQL.json b/schemas/2022-12-01/Microsoft.DBforPostgreSQL.json index fd9b454bb5..b38d29c101 100644 --- a/schemas/2022-12-01/Microsoft.DBforPostgreSQL.json +++ b/schemas/2022-12-01/Microsoft.DBforPostgreSQL.json @@ -909,11 +909,7 @@ "enum": [ "None", "Primary", - "Secondary", - "WalReplica", - "SyncReplica", "AsyncReplica", - "GeoSyncReplica", "GeoAsyncReplica" ] }, From c8d91fc4de91c21ff222fd1083337254771dab9c Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 4 Apr 2023 09:33:37 +0000 Subject: [PATCH 13/30] Autogenerate schemas --- schemas/2018-06-01/Microsoft.DataFactory.json | 30 +- .../Microsoft.AzureActiveDirectory.json | 225 ++++++ .../2023-04-01-preview/Microsoft.Chaos.json | 687 ++++++++++++++++++ schemas/common/autogeneratedResources.json | 9 + 4 files changed, 930 insertions(+), 21 deletions(-) create mode 100644 schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json create mode 100644 schemas/2023-04-01-preview/Microsoft.Chaos.json diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json index 605463564b..33b249fbcc 100644 --- a/schemas/2018-06-01/Microsoft.DataFactory.json +++ b/schemas/2018-06-01/Microsoft.DataFactory.json @@ -2674,15 +2674,9 @@ "description": "Indicates whether the source files need to be deleted after copy completion. Default is false. Type: boolean (or Expression with resultType boolean)." }, "enablePartitionDiscovery": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether to enable partition discovery." + "type": "object", + "properties": {}, + "description": "Indicates whether to enable partition discovery. Type: boolean (or Expression with resultType boolean)." }, "fileListPath": { "type": "object", @@ -2737,7 +2731,7 @@ "copyBehavior": { "type": "object", "properties": {}, - "description": "The type of copy behavior for copy sink." + "description": "The type of copy behavior for copy sink. Type: string (or Expression with resultType string)." }, "metadata": { "oneOf": [ @@ -3983,15 +3977,9 @@ "description": "Indicates whether the source files need to be deleted after copy completion. Default is false. Type: boolean (or Expression with resultType boolean)." }, "enablePartitionDiscovery": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Indicates whether to enable partition discovery." + "type": "object", + "properties": {}, + "description": "Indicates whether to enable partition discovery. Type: boolean (or Expression with resultType boolean)." }, "fileListPath": { "type": "object", @@ -4056,7 +4044,7 @@ "copyBehavior": { "type": "object", "properties": {}, - "description": "The type of copy behavior for copy sink." + "description": "The type of copy behavior for copy sink. Type: string (or Expression with resultType string)." }, "enableAdlsSingleFileParallel": { "type": "object", @@ -4101,7 +4089,7 @@ "expiryDateTime": { "type": "object", "properties": {}, - "description": "Specifies the expiry time of the written files. The time is applied to the UTC time zone in the format of \"2018-12-01T05:00:00Z\". Default value is NULL. Type: integer (or Expression with resultType integer)." + "description": "Specifies the expiry time of the written files. The time is applied to the UTC time zone in the format of \"2018-12-01T05:00:00Z\". Default value is NULL. Type: string (or Expression with resultType string)." }, "type": { "type": "string", diff --git a/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json b/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json new file mode 100644 index 0000000000..239361087b --- /dev/null +++ b/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json @@ -0,0 +1,225 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AzureActiveDirectory", + "description": "Microsoft AzureActiveDirectory Resource Types", + "resourceDefinitions": { + "b2cDirectories": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-18-preview" + ] + }, + "location": { + "type": "string", + "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information." + }, + "name": { + "type": "string", + "description": "The initial domain name of the Azure AD B2C tenant." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateTenantRequestBodyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/B2CResourceSKU" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU properties of the Azure AD B2C tenant. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cBilling)." + }, + "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.AzureActiveDirectory/b2cDirectories" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.AzureActiveDirectory/b2cDirectories" + }, + "guestUsages": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-01-18-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the Guest Usages resource." + }, + "name": { + "type": "string", + "description": "The initial domain name of the Azure AD B2C tenant." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GuestUsagesResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Guest Usages Resource Properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key-value pairs of additional resource provisioning properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AzureActiveDirectory/guestUsages" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AzureActiveDirectory/guestUsages" + } + }, + "definitions": { + "B2CResourceSKU": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "PremiumP1", + "PremiumP2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the SKU for the tenant." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "A0" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tier of the tenant." + } + }, + "description": "SKU properties of the Azure AD B2C tenant. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cBilling)." + }, + "CreateTenantProperties": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code of Azure tenant (e.g. 'US'). Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see valid country codes and corresponding data residency locations. If you do not see a country code in an valid data residency location, choose one from the list." + }, + "displayName": { + "type": "string", + "description": "The display name of the Azure AD B2C tenant." + }, + "isGoLocalTenant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable GoLocal add-on to store data at rest in the specific Geo. Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see local data residency options." + } + }, + "description": "These properties are used to create the Azure AD B2C tenant. These properties are not part of the Azure resource." + }, + "CreateTenantRequestBodyProperties": { + "type": "object", + "properties": { + "createTenantProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CreateTenantProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "These properties are used to create the Azure AD B2C tenant. These properties are not part of the Azure resource." + } + } + }, + "GuestUsagesResourceProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "An identifier for the tenant for which the resource is being created" + } + }, + "description": "Guest Usages Resource Properties" + } + } +} \ No newline at end of file diff --git a/schemas/2023-04-01-preview/Microsoft.Chaos.json b/schemas/2023-04-01-preview/Microsoft.Chaos.json new file mode 100644 index 0000000000..7bfecab867 --- /dev/null +++ b/schemas/2023-04-01-preview/Microsoft.Chaos.json @@ -0,0 +1,687 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.Chaos.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Chaos", + "description": "Microsoft Chaos Resource Types", + "resourceDefinitions": { + "experiments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity of a resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[^<>%&:?#/\\\\]+$", + "minLength": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String that represents a Experiment resource name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExperimentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Model that represents the Experiment properties model." + }, + "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.Chaos/experiments" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Chaos/experiments" + } + }, + "extension_resourceDefinitions": { + "targets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of the target resource." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9_\\-\\.]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String that represents a Target resource name." + }, + "properties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Model that represents the base Target properties model." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/targets_capabilities_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Chaos/targets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Chaos/targets" + }, + "targets_capabilities": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String that represents a Capability resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Chaos/targets/capabilities" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Chaos/targets/capabilities" + } + }, + "definitions": { + "Action": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DelayAction" + }, + { + "$ref": "#/definitions/DiscreteAction" + }, + { + "$ref": "#/definitions/ContinuousAction" + } + ], + "properties": { + "name": { + "type": "string", + "maxLength": 2048, + "description": "String that represents a URN." + } + }, + "required": [ + "name" + ], + "description": "Model that represents the base action model." + }, + "Branch": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Action" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of actions." + }, + "name": { + "type": "string", + "minLength": 1, + "description": "String of the branch name." + } + }, + "required": [ + "actions", + "name" + ], + "description": "Model that represents a branch in the step." + }, + "Componentsewb5tmschemasuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {}, + "description": "The list of user identities associated with the experiment." + }, + "ContinuousAction": { + "type": "object", + "properties": { + "duration": { + "oneOf": [ + { + "type": "string", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ISO8601 formatted string that represents a duration." + }, + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of key value pairs." + }, + "selectorId": { + "type": "string", + "minLength": 1, + "description": "String that represents a selector." + }, + "type": { + "type": "string", + "enum": [ + "continuous" + ] + } + }, + "required": [ + "duration", + "parameters", + "selectorId", + "type" + ], + "description": "Model that represents a continuous action." + }, + "DelayAction": { + "type": "object", + "properties": { + "duration": { + "oneOf": [ + { + "type": "string", + "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ISO8601 formatted string that represents a duration." + }, + "type": { + "type": "string", + "enum": [ + "delay" + ] + } + }, + "required": [ + "duration", + "type" + ], + "description": "Model that represents a delay action." + }, + "DiscreteAction": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/KeyValuePair" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of key value pairs." + }, + "selectorId": { + "type": "string", + "minLength": 1, + "description": "String that represents a selector." + }, + "type": { + "type": "string", + "enum": [ + "discrete" + ] + } + }, + "required": [ + "parameters", + "selectorId", + "type" + ], + "description": "Model that represents a discrete action." + }, + "ExperimentProperties": { + "type": "object", + "properties": { + "selectors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Selector" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of selectors." + }, + "startOnCreation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if experiment should be started on creation or not." + }, + "steps": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Step" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of steps." + } + }, + "required": [ + "selectors", + "steps" + ], + "description": "Model that represents the Experiment properties model." + }, + "Filter": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SimpleFilter" + } + ], + "properties": {}, + "description": "Model that represents available filter types that can be applied to a targets list." + }, + "KeyValuePair": { + "type": "object", + "properties": { + "key": { + "type": "string", + "minLength": 1, + "description": "The name of the setting for the action." + }, + "value": { + "type": "string", + "minLength": 1, + "description": "The value of the setting for the action." + } + }, + "required": [ + "key", + "value" + ], + "description": "A map to describe the settings of an action." + }, + "ResourceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String of the resource identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Componentsewb5tmschemasuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the experiment." + } + }, + "required": [ + "type" + ], + "description": "The identity of a resource." + }, + "Selector": { + "type": "object", + "properties": { + "filter": { + "oneOf": [ + { + "$ref": "#/definitions/Filter" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Model that represents available filter types that can be applied to a targets list." + }, + "id": { + "type": "string", + "minLength": 1, + "description": "String of the selector ID." + }, + "targets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TargetReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Target references." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Percent", + "Random", + "Tag", + "List" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum of the selector type." + } + }, + "required": [ + "id", + "targets", + "type" + ], + "description": "Model that represents a selector in the Experiment resource." + }, + "SimpleFilter": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/SimpleFilterParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Model that represents the Simple filter parameters." + }, + "type": { + "type": "string", + "enum": [ + "Simple" + ] + } + }, + "required": [ + "type" + ], + "description": "Model that represents a simple target filter." + }, + "SimpleFilterParameters": { + "type": "object", + "properties": { + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Azure availability zones to filter targets by." + } + }, + "description": "Model that represents the Simple filter parameters." + }, + "Step": { + "type": "object", + "properties": { + "branches": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Branch" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of branches." + }, + "name": { + "type": "string", + "minLength": 1, + "description": "String of the step name." + } + }, + "required": [ + "branches", + "name" + ], + "description": "Model that represents a step in the Experiment resource." + }, + "TargetReference": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String of the resource ID of a Target resource." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ChaosTarget" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum of the Target reference type." + } + }, + "required": [ + "id", + "type" + ], + "description": "Model that represents a reference to a Target in the selector." + }, + "targets_capabilities_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-04-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "String that represents a Capability resource name." + }, + "type": { + "type": "string", + "enum": [ + "capabilities" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Chaos/targets/capabilities" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 1af2e1f214..3cd414633f 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -3793,6 +3793,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-04-01/Microsoft.AzureActiveDirectory.json#/resourceDefinitions/guestUsages" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json#/resourceDefinitions/b2cDirectories" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-01-18-preview/Microsoft.AzureActiveDirectory.json#/resourceDefinitions/guestUsages" + }, { "$ref": "https://schema.management.azure.com/schemas/2021-06-01-preview/Microsoft.AzureArcData.json#/resourceDefinitions/dataControllers" }, @@ -4735,6 +4741,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.Chaos.json#/resourceDefinitions/experiments" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-04-01-preview/Microsoft.Chaos.json#/resourceDefinitions/experiments" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-02-01-preview/Microsoft.CognitiveServices.json#/resourceDefinitions/accounts" }, From 5f995b1278759f39489e50170e77d5f05f3776c4 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 4 Apr 2023 09:34:08 +0000 Subject: [PATCH 14/30] Update resource list --- generator/resources.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index f6e5844e7b..62a6adad0e 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -1718,11 +1718,13 @@ ], "Microsoft.AzureActiveDirectory/b2cDirectories": [ "2019-01-01-preview", - "2021-04-01" + "2021-04-01", + "2023-01-18-preview" ], "Microsoft.AzureActiveDirectory/guestUsages": [ "2020-05-01-preview", - "2021-04-01" + "2021-04-01", + "2023-01-18-preview" ], "Microsoft.AzureArcData/dataControllers": [ "2021-06-01-preview", @@ -2248,7 +2250,8 @@ "Microsoft.Chaos/experiments": [ "2021-09-15-preview", "2022-07-01-preview", - "2022-10-01-preview" + "2022-10-01-preview", + "2023-04-01-preview" ], "Microsoft.CognitiveServices/accounts": [ "2016-02-01-preview", From b37add3c90ee724c02eea0ef0f771bceb7651a30 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 5 Apr 2023 09:32:44 +0000 Subject: [PATCH 15/30] Autogenerate schemas --- .../Microsoft.Devices.Provisioning.json | 737 ++++++++++++++++++ schemas/common/autogeneratedResources.json | 9 + 2 files changed, 746 insertions(+) create mode 100644 schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json diff --git a/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json b/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json new file mode 100644 index 0000000000..c87fed694a --- /dev/null +++ b/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json @@ -0,0 +1,737 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "provisioningServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "Name of provisioning service to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "resourcegroup": { + "type": "string", + "description": "The resource group of the resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/provisioningServices_certificates_childResource" + }, + { + "$ref": "#/definitions/provisioningServices_privateEndpointConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of possible provisioning service SKUs." + }, + "subscriptionid": { + "type": "string", + "description": "The subscription id of the resource." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/provisioningServices" + }, + "provisioningServices_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The description of an X509 CA Certificate." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "provisioningServices_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" + } + }, + "definitions": { + "CertificateProperties": { + "type": "object", + "properties": { + "certificate": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "base-64 representation of X509 certificate .cer file or just .pem file content." + }, + "isVerified": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether certificate has been verified." + } + }, + "description": "The description of an X509 CA Certificate." + }, + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of authorization keys for a provisioning service." + }, + "enableDataResidency": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional.\nIndicates if the DPS instance has Data Residency enabled, removing the cross geo-pair disaster recovery." + }, + "iotHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IoT hubs associated with this provisioning service." + }, + "ipFilterRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP filter rules." + }, + "portalOperationsHostName": { + "type": "string", + "description": "Portal endpoint to enable CORS for this provisioning service." + }, + "privateEndpointConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint connections created on this IotHub" + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether requests from Public Network are allowed." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current state of the provisioning service." + } + }, + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "IotDpsSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of units to provision" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "weight to apply for a given iot h." + }, + "applyAllocationPolicy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "flag for applying allocationPolicy or not for a given iot hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." + }, + "IpFilterRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accept", + "Reject" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired action for requests captured by this rule." + }, + "filterName": { + "type": "string", + "description": "The name of the IP filter rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + }, + "target": { + "oneOf": [ + { + "type": "string", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target for requests captured by this rule." + } + }, + "required": [ + "action", + "filterName", + "ipMask" + ], + "description": "The IP filter rules for a provisioning Service." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The private endpoint property of a private endpoint connection" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + } + }, + "required": [ + "properties" + ], + "description": "The private endpoint connection of a provisioning service" + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private endpoint property of a private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current state of a private endpoint connection" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "The properties of a private endpoint connection" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of a private endpoint connection." + } + }, + "required": [ + "description", + "status" + ], + "description": "The current state of a private endpoint connection" + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CertificateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The description of an X509 CA Certificate." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "provisioningServices_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rights that this key has." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "Description of the shared access key." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 3cd414633f..7f7c8cadef 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -9562,6 +9562,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-12-12/Microsoft.Devices.Provisioning.json#/resourceDefinitions/provisioningServices_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json#/resourceDefinitions/provisioningServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json#/resourceDefinitions/provisioningServices_certificates" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.Devices.Provisioning.json#/resourceDefinitions/provisioningServices_privateEndpointConnections" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.DeviceUpdate.json#/resourceDefinitions/accounts" }, From b5c999342a2eb3912c5531af118d941c8b155e76 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 5 Apr 2023 09:33:11 +0000 Subject: [PATCH 16/30] Update resource list --- generator/resources.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 62a6adad0e..0b55bda3bb 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -4476,7 +4476,8 @@ "2020-09-01-preview", "2021-10-15", "2022-02-05", - "2022-12-12" + "2022-12-12", + "2023-03-01-preview" ], "Microsoft.Devices/provisioningServices/certificates": [ "2017-08-21-preview", @@ -4487,14 +4488,16 @@ "2020-09-01-preview", "2021-10-15", "2022-02-05", - "2022-12-12" + "2022-12-12", + "2023-03-01-preview" ], "Microsoft.Devices/provisioningServices/privateEndpointConnections": [ "2020-03-01", "2020-09-01-preview", "2021-10-15", "2022-02-05", - "2022-12-12" + "2022-12-12", + "2023-03-01-preview" ], "Microsoft.DigitalTwins/digitalTwinsInstances": [ "2020-03-01-preview", From 497e9a3d6e12a37e25059500485c817be967d7a8 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 6 Apr 2023 16:56:09 +0000 Subject: [PATCH 17/30] Autogenerate schemas --- .../subscriptionDeploymentTemplate.json | 6 + .../managementGroupDeploymentTemplate.json | 3 + .../Microsoft.Resources.json | 554 ++++++++++++++++++ schemas/common/autogeneratedResources.json | 3 + 4 files changed, 566 insertions(+) create mode 100644 schemas/2022-08-01-preview/Microsoft.Resources.json diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json index 2d48a7d457..cf121f65c4 100644 --- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json +++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json @@ -1352,6 +1352,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-02-01/Microsoft.Resources.json#/subscription_resourceDefinitions/resourceGroups" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.Resources.json#/subscription_resourceDefinitions/deploymentStacks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.Resources.json#/subscription_resourceDefinitions/resourceGroups" + }, { "$ref": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.Resources.json#/subscription_resourceDefinitions/deployments" }, diff --git a/schemas/2019-08-01/managementGroupDeploymentTemplate.json b/schemas/2019-08-01/managementGroupDeploymentTemplate.json index 621f826b49..3f9431e875 100644 --- a/schemas/2019-08-01/managementGroupDeploymentTemplate.json +++ b/schemas/2019-08-01/managementGroupDeploymentTemplate.json @@ -851,6 +851,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2021-04-01/Microsoft.Resources.json#/unknown_resourceDefinitions/tags" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.Resources.json#/managementGroup_resourceDefinitions/deploymentStacks" + }, { "$ref": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.Resources.json#/managementGroup_resourceDefinitions/deployments" }, diff --git a/schemas/2022-08-01-preview/Microsoft.Resources.json b/schemas/2022-08-01-preview/Microsoft.Resources.json new file mode 100644 index 0000000000..1105f88fc1 --- /dev/null +++ b/schemas/2022-08-01-preview/Microsoft.Resources.json @@ -0,0 +1,554 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.Resources.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Resources", + "description": "Microsoft Resources Resource Types", + "resourceDefinitions": { + "deploymentStacks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the deployment stack." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Resources/deploymentStacks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Resources/deploymentStacks" + } + }, + "subscription_resourceDefinitions": { + "deploymentStacks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the deployment stack." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Resources/deploymentStacks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Resources/deploymentStacks" + }, + "resourceGroups": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "maxLength": 90, + "description": "the resource group name" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Resources/resourceGroups" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "the resource group location" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource group tags." + } + }, + "required": [ + "name", + "type", + "apiVersion", + "location" + ], + "description": "Microsoft.Resources/resourceGroups" + } + }, + "managementGroup_resourceDefinitions": { + "deploymentStacks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-08-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the deployment stack. It cannot be changed after creation. It must be one of the supported Azure locations." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the deployment stack." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStackProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack properties." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Deployment stack resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Resources/deploymentStacks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Resources/deploymentStacks" + } + }, + "definitions": { + "DenySettings": { + "type": "object", + "properties": { + "applyToChildScopes": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DenySettings will be applied to child scopes." + }, + "excludedActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of role-based management operations that are excluded from the denySettings. Up to 200 actions are permitted. If the denySetting mode is set to 'denyWriteAndDelete', then the following actions are automatically appended to 'excludedActions': '*/read' and 'Microsoft.Authorization/locks/delete'. If the denySetting mode is set to 'denyDelete', then the following actions are automatically appended to 'excludedActions': 'Microsoft.Authorization/locks/delete'. Duplicate actions will be removed." + }, + "excludedPrincipals": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of AAD principal IDs excluded from the lock. Up to 5 principals are permitted." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "denyDelete", + "denyWriteAndDelete", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "denySettings Mode." + } + }, + "description": "Defines how resources deployed by the deployment stack are locked." + }, + "DeploymentStackProperties": { + "type": "object", + "properties": { + "actionOnUnmanage": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStackPropertiesActionOnUnmanage" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the behavior of resources that are not managed immediately after the stack is updated." + }, + "debugSetting": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStacksDebugSetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The debug setting." + }, + "denySettings": { + "oneOf": [ + { + "$ref": "#/definitions/DenySettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines how resources deployed by the deployment stack are locked." + }, + "deploymentScope": { + "type": "string", + "description": "The scope at which the initial deployment should be created. If a scope is not specified, it will default to the scope of the deployment stack. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroupId}'), subscription (format: '/subscriptions/{subscriptionId}'), resource group (format: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}')." + }, + "description": { + "type": "string", + "maxLength": 4096, + "description": "Deployment stack description." + }, + "error": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorResponse" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.)." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Name and value pairs that define the deployment parameters for the template. Use this element when providing the parameter values directly in the request, rather than linking to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string." + }, + "parametersLink": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStacksParametersLink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Entity representing the reference to the deployment parameters." + }, + "template": { + "type": "object", + "properties": {}, + "description": "The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both." + }, + "templateLink": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentStacksTemplateLink" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Entity representing the reference to the template." + } + }, + "required": [ + "actionOnUnmanage" + ], + "description": "Deployment stack properties." + }, + "DeploymentStackPropertiesActionOnUnmanage": { + "type": "object", + "properties": { + "managementGroups": { + "oneOf": [ + { + "type": "string", + "enum": [ + "delete", + "detach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceGroups": { + "oneOf": [ + { + "type": "string", + "enum": [ + "delete", + "detach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "oneOf": [ + { + "type": "string", + "enum": [ + "delete", + "detach" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resources" + ], + "description": "Defines the behavior of resources that are not managed immediately after the stack is updated." + }, + "DeploymentStacksDebugSetting": { + "type": "object", + "properties": { + "detailLevel": { + "type": "string", + "description": "Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information that is being passed in during deployment. By logging information about the request or response, sensitive data that is retrieved through the deployment operations could potentially be exposed." + } + }, + "description": "The debug setting." + }, + "DeploymentStacksParametersLink": { + "type": "object", + "properties": { + "contentVersion": { + "type": "string", + "description": "If included, must match the ContentVersion in the template." + }, + "uri": { + "type": "string", + "description": "The URI of the parameters file." + } + }, + "required": [ + "uri" + ], + "description": "Entity representing the reference to the deployment parameters." + }, + "DeploymentStacksTemplateLink": { + "type": "object", + "properties": { + "contentVersion": { + "type": "string", + "description": "If included, must match the ContentVersion in the template." + }, + "id": { + "type": "string", + "description": "The resource id of a Template Spec. Use either the id or uri property, but not both." + }, + "queryString": { + "type": "string", + "description": "The query string (for example, a SAS token) to be used with the templateLink URI." + }, + "relativePath": { + "type": "string", + "description": "The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs" + }, + "uri": { + "type": "string", + "description": "The URI of the template to deploy. Use either the uri or id property, but not both." + } + }, + "description": "Entity representing the reference to the template." + }, + "ErrorDetail": { + "type": "object", + "properties": {}, + "description": "The error detail." + }, + "ErrorResponse": { + "type": "object", + "properties": { + "error": { + "oneOf": [ + { + "$ref": "#/definitions/ErrorDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The error detail." + } + }, + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.)." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 7f7c8cadef..c2247253e8 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -25957,6 +25957,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-02-01/Microsoft.Resources.json#/resourceDefinitions/templateSpecs_versions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-08-01-preview/Microsoft.Resources.json#/resourceDefinitions/deploymentStacks" + }, { "$ref": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.Resources.json#/resourceDefinitions/deployments" }, From d8104c19c4053081137932e42e9598c20fe38567 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 6 Apr 2023 16:56:47 +0000 Subject: [PATCH 18/30] Update resource list --- generator/resources.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/generator/resources.json b/generator/resources.json index 0b55bda3bb..fd439f1129 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -11428,6 +11428,11 @@ "2019-10-01-preview", "2020-10-01" ], + "Microsoft.Resources/deploymentStacks": [ + "2022-08-01-preview", + "2022-08-01-preview", + "2022-08-01-preview" + ], "Microsoft.Resources/deployments": [ "2015-01-01", "2015-11-01", @@ -11501,6 +11506,7 @@ "2021-04-01", "2021-05-01", "2022-02-01", + "2022-08-01-preview", "2022-09-01" ], "Microsoft.Resources/tags": [ From c73c3eb0f516f8fb4838b7854d5c3003623ab8af Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Fri, 7 Apr 2023 09:33:30 +0000 Subject: [PATCH 19/30] Autogenerate schemas --- .../2022-04-01-preview/Microsoft.DevHub.json | 298 ------------------ schemas/common/autogeneratedResources.json | 3 - 2 files changed, 301 deletions(-) delete mode 100644 schemas/2022-04-01-preview/Microsoft.DevHub.json diff --git a/schemas/2022-04-01-preview/Microsoft.DevHub.json b/schemas/2022-04-01-preview/Microsoft.DevHub.json deleted file mode 100644 index 8cd82c8022..0000000000 --- a/schemas/2022-04-01-preview/Microsoft.DevHub.json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2022-04-01-preview/Microsoft.DevHub.json#", - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Microsoft.DevHub", - "description": "Microsoft DevHub Resource Types", - "resourceDefinitions": { - "workflows": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2022-04-01-preview" - ] - }, - "location": { - "type": "string", - "description": "The geo-location where the resource lives" - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", - "minLength": 1, - "maxLength": 63 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the workflow resource." - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/WorkflowProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Workflow properties" - }, - "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.DevHub/workflows" - ] - } - }, - "required": [ - "apiVersion", - "location", - "name", - "properties", - "type" - ], - "description": "Microsoft.DevHub/workflows" - } - }, - "definitions": { - "ACR": { - "type": "object", - "properties": { - "acrRegistryName": { - "type": "string", - "description": "ACR registry" - }, - "acrRepositoryName": { - "type": "string", - "description": "ACR repository" - }, - "acrResourceGroup": { - "type": "string", - "description": "ACR resource group" - }, - "acrSubscriptionId": { - "type": "string", - "description": "ACR subscription id" - } - }, - "description": "Information on the azure container registry" - }, - "DeploymentProperties": { - "type": "object", - "properties": { - "helmChartPath": { - "type": "string", - "description": "Helm chart directory path in repository." - }, - "helmValues": { - "type": "string", - "description": "Helm Values.yaml file location in repository." - }, - "kubeManifestLocations": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "manifestType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "helm", - "kube" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "overrides": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Manifest override values." - } - } - }, - "GitHubWorkflowProfile": { - "type": "object", - "properties": { - "acr": { - "oneOf": [ - { - "$ref": "#/definitions/ACR" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Information on the azure container registry" - }, - "aksResourceId": { - "type": "string", - "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." - }, - "authStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Authorized", - "NotFound", - "Error" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "branchName": { - "type": "string", - "description": "Repository Branch Name" - }, - "deploymentProperties": { - "oneOf": [ - { - "$ref": "#/definitions/DeploymentProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dockerBuildContext": { - "type": "string", - "description": "Path to Dockerfile Build Context within the repository." - }, - "dockerfile": { - "type": "string", - "description": "Path to the Dockerfile within the repository." - }, - "lastWorkflowRun": { - "oneOf": [ - { - "$ref": "#/definitions/WorkflowRun" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "namespace": { - "type": "string", - "description": "Kubernetes namespace the application is deployed to." - }, - "oidcCredentials": { - "oneOf": [ - { - "$ref": "#/definitions/GitHubWorkflowProfileOidcCredentials" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The fields needed for OIDC with GitHub." - }, - "prStatus": { - "oneOf": [ - { - "type": "string", - "enum": [ - "unknown", - "submitted", - "merged", - "removed" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "repositoryName": { - "type": "string", - "description": "Repository Name" - }, - "repositoryOwner": { - "type": "string", - "description": "Repository Owner" - } - }, - "description": "GitHub Workflow Profile" - }, - "GitHubWorkflowProfileOidcCredentials": { - "type": "object", - "properties": { - "azureClientId": { - "type": "string", - "description": "Azure Application Client ID" - }, - "azureTenantId": { - "type": "string", - "description": "Azure Directory (tenant) ID" - } - }, - "description": "The fields needed for OIDC with GitHub." - }, - "WorkflowProperties": { - "type": "object", - "properties": { - "githubWorkflowProfile": { - "oneOf": [ - { - "$ref": "#/definitions/GitHubWorkflowProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "GitHub Workflow Profile" - } - }, - "description": "Workflow properties" - }, - "WorkflowRun": { - "type": "object", - "properties": {} - } - } -} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index c2247253e8..58667c0b60 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -9214,9 +9214,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_pools_schedules" }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-04-01-preview/Microsoft.DevHub.json#/resourceDefinitions/workflows" - }, { "$ref": "https://schema.management.azure.com/schemas/2016-02-03/Microsoft.Devices.json#/resourceDefinitions/IotHubs" }, From ada1c90d8924b3de17cfc1f762533709b663a83d Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Fri, 7 Apr 2023 09:33:59 +0000 Subject: [PATCH 20/30] Update resource list --- generator/resources.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index fd439f1129..27085cdabf 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -4251,9 +4251,6 @@ "2022-11-11-preview", "2023-01-01-preview" ], - "Microsoft.DevHub/workflows": [ - "2022-04-01-preview" - ], "Microsoft.DevOps/pipelines": [ "2019-07-01-preview", "2020-07-13-preview" From 18ac72604a603b9150bca9c9c6c882ad94a33b73 Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Fri, 7 Apr 2023 15:48:25 -0400 Subject: [PATCH 21/30] Temporarily disable Microsoft.cdn and Microsoft.DevHub and restore the deleted schemas --- generator/autogenlist.ts | 12 + schemas/2015-06-01/Microsoft.Cdn.json | 598 ++ schemas/2016-04-02/Microsoft.Cdn.json | 582 ++ schemas/2016-10-02/Microsoft.Cdn.json | 573 ++ schemas/2017-04-02/Microsoft.Cdn.json | 577 ++ schemas/2019-04-15/Microsoft.Cdn.json | 2763 +++++++ schemas/2019-06-15-preview/Microsoft.Cdn.json | 3416 ++++++++ schemas/2019-06-15/Microsoft.Cdn.json | 3443 ++++++++ schemas/2019-12-31/Microsoft.Cdn.json | 3415 ++++++++ schemas/2020-04-15/Microsoft.Cdn.json | 4277 ++++++++++ schemas/2020-09-01/Microsoft.Cdn.json | 5994 ++++++++++++++ schemas/2021-06-01/Microsoft.Cdn.json | 6901 ++++++++++++++++ .../2022-04-01-preview/Microsoft.DevHub.json | 298 + schemas/2022-05-01-preview/Microsoft.Cdn.json | 6946 ++++++++++++++++ schemas/2022-11-01-preview/Microsoft.Cdn.json | 7012 +++++++++++++++++ 15 files changed, 46807 insertions(+) create mode 100644 schemas/2015-06-01/Microsoft.Cdn.json create mode 100644 schemas/2016-04-02/Microsoft.Cdn.json create mode 100644 schemas/2016-10-02/Microsoft.Cdn.json create mode 100644 schemas/2017-04-02/Microsoft.Cdn.json create mode 100644 schemas/2019-04-15/Microsoft.Cdn.json create mode 100644 schemas/2019-06-15-preview/Microsoft.Cdn.json create mode 100644 schemas/2019-06-15/Microsoft.Cdn.json create mode 100644 schemas/2019-12-31/Microsoft.Cdn.json create mode 100644 schemas/2020-04-15/Microsoft.Cdn.json create mode 100644 schemas/2020-09-01/Microsoft.Cdn.json create mode 100644 schemas/2021-06-01/Microsoft.Cdn.json create mode 100644 schemas/2022-04-01-preview/Microsoft.DevHub.json create mode 100644 schemas/2022-05-01-preview/Microsoft.Cdn.json create mode 100644 schemas/2022-11-01-preview/Microsoft.Cdn.json diff --git a/generator/autogenlist.ts b/generator/autogenlist.ts index 4623484f20..75ba139772 100644 --- a/generator/autogenlist.ts +++ b/generator/autogenlist.ts @@ -34,6 +34,18 @@ const disabledProviders: AutoGenConfig[] = [ namespace: 'Microsoft.ContainerService', disabledForAutogen: true, }, + { + // Disabled until the unexpected character error in the swagger spec is fixed + basePath: 'cdn/resource-manager', + namespace: 'Microsoft.Cdn', + disabledForAutogen: true, + }, + { + // Disabled until the enum mismatch in the swagger spec is fixed + basePath: 'developerhub/resource-manager', + namespace: 'Microsoft.DevHub', + disabledForAutogen: true, + }, { // Disabled as the swagger spec contains a type ("DateTimeRfc1123") which autorest is unable to parse: https://github.com/Azure/autorest.azureresourceschema/issues/71 basePath: 'domainservices/resource-manager', diff --git a/schemas/2015-06-01/Microsoft.Cdn.json b/schemas/2015-06-01/Microsoft.Cdn.json new file mode 100644 index 0000000000..f4c32538eb --- /dev/null +++ b/schemas/2015-06-01/Microsoft.Cdn.json @@ -0,0 +1,598 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-01" + ] + }, + "location": { + "type": "string", + "description": "Profile location" + }, + "name": { + "type": "string", + "description": "Name of the CDN profile within the resource group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProfilePropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles" + }, + "profiles_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-01" + ] + }, + "location": { + "type": "string", + "description": "Endpoint location" + }, + "name": { + "type": "string", + "description": "Name of the endpoint within the CDN profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_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": "Endpoint 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": [ + "2015-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_origins": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + } + }, + "definitions": { + "CustomDomainPropertiesParameters": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The host name of the custom domain. Must be a domain name." + } + }, + "required": [ + "hostName" + ] + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of deep created origin on a CDN endpoint." + } + }, + "required": [ + "name" + ], + "description": "Deep created origins within a CDN endpoint." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTP port. Must be between 1 and 65535" + }, + "httpsPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTPS port. Must be between 1 and 65535" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of deep created origin on a CDN endpoint." + }, + "EndpointPropertiesCreateParameters": { + "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 will be applied. The value for the elements 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. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." + }, + "isHttpAllowed": { + "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." + }, + "originHostHeader": { + "type": "string", + "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." + }, + "originPath": { + "type": "string", + "description": "The path used for origin requests." + }, + "origins": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the query string caching behavior." + } + }, + "required": [ + "origins" + ] + }, + "OriginPropertiesParameters": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTP port. Must be between 1 and 65535." + }, + "httpsPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTPS port. Must be between 1 and 65535." + } + }, + "required": [ + "hostName" + ] + }, + "ProfilePropertiesCreateParameters": { + "type": "object", + "properties": { + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU (pricing tier) of the CDN profile." + } + }, + "required": [ + "sku" + ] + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-01" + ] + }, + "location": { + "type": "string", + "description": "Endpoint location" + }, + "name": { + "type": "string", + "description": "Name of the endpoint within the CDN profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Endpoint 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": [ + "2015-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The SKU (pricing tier) of the CDN profile." + } + } +} \ No newline at end of file diff --git a/schemas/2016-04-02/Microsoft.Cdn.json b/schemas/2016-04-02/Microsoft.Cdn.json new file mode 100644 index 0000000000..00812e7cd3 --- /dev/null +++ b/schemas/2016-04-02/Microsoft.Cdn.json @@ -0,0 +1,582 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-02" + ] + }, + "location": { + "type": "string", + "description": "Profile location" + }, + "name": { + "type": "string", + "description": "Name of the CDN profile within the resource group." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU (pricing tier) of the CDN profile." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Profile tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "sku", + "type" + ], + "description": "Microsoft.Cdn/profiles" + }, + "profiles_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-02" + ] + }, + "location": { + "type": "string", + "description": "Endpoint location" + }, + "name": { + "type": "string", + "description": "Name of the endpoint within the CDN profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/profiles_endpoints_origins_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": "Endpoint 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": [ + "2016-04-02" + ] + }, + "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" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_origins": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-02" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + } + }, + "definitions": { + "CustomDomainPropertiesParameters": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The host name of the custom domain. Must be a domain name." + } + }, + "required": [ + "hostName" + ] + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of deep created origin on a CDN endpoint." + } + }, + "required": [ + "name" + ], + "description": "Deep created origins within a CDN endpoint." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTP port. Must be between 1 and 65535" + }, + "httpsPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTPS port. Must be between 1 and 65535" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of deep created origin on a CDN endpoint." + }, + "EndpointPropertiesCreateParameters": { + "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 will be applied. The value for the elements 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. Default value is false. If compression is enabled, the content transferred from the CDN endpoint to the end user will be compressed. The requested content must be larger than 1 byte and smaller than 1 MB." + }, + "isHttpAllowed": { + "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." + }, + "originHostHeader": { + "type": "string", + "description": "The host header CDN provider will send along with content requests to origins. The default value is the host name of the origin." + }, + "originPath": { + "type": "string", + "description": "The path used for origin requests." + }, + "origins": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of origins for the CDN endpoint. When multiple origins exist, the first origin will be used as primary and rest will be used as failover options." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the query string caching behavior." + } + }, + "required": [ + "origins" + ] + }, + "OriginPropertiesParameters": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported." + }, + "httpPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTP port. Must be between 1 and 65535." + }, + "httpsPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value of the HTTPS port. Must be between 1 and 65535." + } + }, + "required": [ + "hostName" + ] + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-02" + ] + }, + "location": { + "type": "string", + "description": "Endpoint location" + }, + "name": { + "type": "string", + "description": "Name of the endpoint within the CDN profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Endpoint 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": [ + "2016-04-02" + ] + }, + "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" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-02" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin, an arbitrary value but it needs to be unique under endpoint" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The SKU (pricing tier) of the CDN profile." + } + } +} \ No newline at end of file diff --git a/schemas/2016-10-02/Microsoft.Cdn.json b/schemas/2016-10-02/Microsoft.Cdn.json new file mode 100644 index 0000000000..68a4b32132 --- /dev/null +++ b/schemas/2016-10-02/Microsoft.Cdn.json @@ -0,0 +1,573 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-10-02" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-10-02" + ] + }, + "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_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": [ + "2016-10-02" + ] + }, + "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" + } + }, + "definitions": { + "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." + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeepCreatedOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of origin Properties of the origin created on the CDN endpoint." + } + }, + "required": [ + "name" + ], + "description": "Origin to be added when creating a CDN endpoint." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain names, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of origin Properties of the origin created on the CDN endpoint." + }, + "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." + }, + "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 user geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "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": "Customer can specify what scenario they want this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header CDN sends along with content requests to origin. The default value is the host name of the origin." + }, + "originPath": { + "type": "string", + "description": "The path used when CDN sends request to origin." + }, + "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." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the query string caching behavior." + } + }, + "required": [ + "origins" + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user geo access within a CDN endpoint." + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-10-02" + ] + }, + "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": [ + "2016-10-02" + ] + }, + "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" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + } + } +} \ No newline at end of file diff --git a/schemas/2017-04-02/Microsoft.Cdn.json b/schemas/2017-04-02/Microsoft.Cdn.json new file mode 100644 index 0000000000..2e5da6495d --- /dev/null +++ b/schemas/2017-04-02/Microsoft.Cdn.json @@ -0,0 +1,577 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-02" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-02" + ] + }, + "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_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": [ + "2017-04-02" + ] + }, + "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" + } + }, + "definitions": { + "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." + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of the origin created on the CDN endpoint." + }, + "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." + }, + "geoFilters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." + }, + "isHttpAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "isHttpsAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "optimizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + }, + "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." + } + }, + "required": [ + "origins" + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-02" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-04-02" + ] + }, + "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" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + } + } +} \ No newline at end of file diff --git a/schemas/2019-04-15/Microsoft.Cdn.json b/schemas/2019-04-15/Microsoft.Cdn.json new file mode 100644 index 0000000000..e48b086f82 --- /dev/null +++ b/schemas/2019-04-15/Microsoft.Cdn.json @@ -0,0 +1,2763 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$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": [ + "2019-04-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "description": "Defines the parameters for the cache-key query string action." + }, + "CookiesMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of 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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "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." + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "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/UrlRewriteAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the 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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of content types on which compression applies. The value should be a valid MIME type." + }, + "deliveryPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A policy that specifies the delivery rules to be used for an endpoint." + }, + "geoFilters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." + }, + "isHttpAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "isHttpsAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "optimizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + }, + "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." + } + }, + "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." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "description": "Defines the parameters for the request header action." + }, + "HttpVersionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "PostArgsMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of PostArg to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-04-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Header to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestUri match conditions" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " + }, + "preserveUnmatchedPath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + }, + "sourcePattern": { + "type": "string", + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + } + } +} \ No newline at end of file diff --git a/schemas/2019-06-15-preview/Microsoft.Cdn.json b/schemas/2019-06-15-preview/Microsoft.Cdn.json new file mode 100644 index 0000000000..eea8a37b5b --- /dev/null +++ b/schemas/2019-06-15-preview/Microsoft.Cdn.json @@ -0,0 +1,3416 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "CdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15-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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "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": [ + "2019-06-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$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": [ + "2019-06-15-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "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" + }, + "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." + }, + "CookiesMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Cookies to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator", + "selector" + ], + "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." + }, + "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" + }, + "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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "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/UrlRewriteAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the 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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of content types on which compression applies. The value should be a valid MIME type." + }, + "deliveryPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A policy that specifies the delivery rules to be used for an endpoint." + }, + "geoFilters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." + }, + "isHttpAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "isHttpsAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "optimizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + }, + "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." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "description": "Defines the parameters for the request header action." + }, + "HttpVersionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "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 disabled. 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": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "RemoteAddr", + "SocketAddr" + ] + }, + { + "$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" + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of PostArg to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator", + "selector" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$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" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$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" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$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" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator", + "selector" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for RequestUri match conditions" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ] + }, + { + "$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" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "matchValues", + "operator" + ], + "description": "Defines the parameters for UrlPath match conditions" + }, + "UrlRedirectAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRedirect" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url redirect action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url redirect action for the delivery rule." + }, + "UrlRedirectActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " + }, + "preserveUnmatchedPath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + }, + "sourcePattern": { + "type": "string", + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + } + } +} \ No newline at end of file diff --git a/schemas/2019-06-15/Microsoft.Cdn.json b/schemas/2019-06-15/Microsoft.Cdn.json new file mode 100644 index 0000000000..324a114d31 --- /dev/null +++ b/schemas/2019-06-15/Microsoft.Cdn.json @@ -0,0 +1,3443 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "CdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "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": [ + "2019-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$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": [ + "2019-06-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "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" + }, + "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." + }, + "CookiesMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of 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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "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." + }, + "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" + }, + "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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "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/UrlRewriteAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the 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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of content types on which compression applies. The value should be a valid MIME type." + }, + "deliveryPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A policy that specifies the delivery rules to be used for an endpoint." + }, + "geoFilters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." + }, + "isHttpAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "isHttpsAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "optimizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + }, + "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." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "description": "Defines the parameters for the request header action." + }, + "HttpVersionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "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 disabled. 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": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "RemoteAddr", + "SocketAddr" + ] + }, + { + "$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" + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of PostArg to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Header to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestUri match conditions" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the destination path for be used in the rewrite. This will overwrite the source pattern " + }, + "preserveUnmatchedPath": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If True, the remaining path after the source pattern will be appended to the new destination path. " + }, + "sourcePattern": { + "type": "string", + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. Currently, source pattern uses a prefix-based match. To match all URL paths, use \"/\" as the source pattern value. To match only the root directory and re-write this path, use the origin path field" + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + } + } +} \ No newline at end of file diff --git a/schemas/2019-12-31/Microsoft.Cdn.json b/schemas/2019-12-31/Microsoft.Cdn.json new file mode 100644 index 0000000000..c6546974e5 --- /dev/null +++ b/schemas/2019-12-31/Microsoft.Cdn.json @@ -0,0 +1,3415 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "description": "Defines the parameters for the cache-key query string action." + }, + "CookiesMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of 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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "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." + }, + "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." + }, + "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." + }, + "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/UrlRewriteAction" + }, + { + "$ref": "#/definitions/OriginGroupOverrideAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the 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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$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 can only be set allowed when endpoint uses single origin. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + } + }, + "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." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "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." + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "OriginGroupOverrideAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "OriginGroupOverride" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the Origin Group override action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the Origin Group override action for the delivery rule." + }, + "OriginGroupOverrideActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + } + }, + "required": [ + "@odata.type", + "originGroup" + ], + "description": "Defines the parameters for the Origin Group override action." + }, + "OriginGroupProperties": { + "type": "object", + "properties": { + "healthProbeSettings": { + "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. If endpoint uses multiple origins for load balancing, then the host header at endpoint is ignored and this one is considered." + }, + "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" + }, + "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." + }, + "PostArgsMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of PostArg to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-12-31" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Header to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the relative URL to which the above requests will be rewritten by." + }, + "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." + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + } + } +} \ No newline at end of file diff --git a/schemas/2020-04-15/Microsoft.Cdn.json b/schemas/2020-04-15/Microsoft.Cdn.json new file mode 100644 index 0000000000..7810fe50c7 --- /dev/null +++ b/schemas/2020-04-15/Microsoft.Cdn.json @@ -0,0 +1,4277 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "CdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "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": [ + "2020-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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": [ + "2020-04-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-04-15" + ] + }, + "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": [ + "2020-04-15" + ] + }, + "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" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "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" + }, + "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." + }, + "CookiesMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of 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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "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." + }, + "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/UrlRewriteAction" + }, + { + "$ref": "#/definitions/DeliveryRuleRequestHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleResponseHeaderAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + }, + { + "$ref": "#/definitions/DeliveryRuleCacheKeyQueryStringAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the 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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "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." + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "KeyVaultSigningKeyParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceGroupName": { + "type": "string", + "description": "Resource group of the user's Key Vault containing the secret" + }, + "secretName": { + "type": "string", + "description": "The name of secret in Key Vault." + }, + "secretVersion": { + "type": "string", + "description": "The version(GUID) of secret in Key Vault." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id of the user's Key Vault containing the secret" + }, + "vaultName": { + "type": "string", + "description": "The name of the user's Key Vault containing the secret" + } + }, + "required": [ + "@odata.type", + "resourceGroupName", + "secretName", + "secretVersion", + "subscriptionId", + "vaultName" + ], + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key." + }, + "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 disabled. 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": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "RemoteAddr", + "SocketAddr" + ] + }, + { + "$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" + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of PostArg to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-04-15" + ] + }, + "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" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Header to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Premium_ChinaCdn" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the relative URL to which the above requests will be rewritten by." + }, + "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." + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + }, + "UrlSigningAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlSigning" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the Url Signing action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url signing action for the delivery rule." + }, + "UrlSigningActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "algorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SHA256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Algorithm to use for URL signing." + }, + "ipSubnets": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. Supports CIDR ranges (both IPv4 and IPv6)." + }, + "keyId": { + "type": "string", + "description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys" + }, + "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. " + } + }, + "required": [ + "keyId" + ], + "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" + }, + "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" + } + } +} \ No newline at end of file diff --git a/schemas/2020-09-01/Microsoft.Cdn.json b/schemas/2020-09-01/Microsoft.Cdn.json new file mode 100644 index 0000000000..87cc9479e4 --- /dev/null +++ b/schemas/2020-09-01/Microsoft.Cdn.json @@ -0,0 +1,5994 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "CdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "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": [ + "2020-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + }, + { + "$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" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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": [ + "2020-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "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": [ + "2020-09-01" + ] + }, + "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": [ + "2020-09-01" + ] + }, + "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": [ + "2020-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-09-01" + ] + }, + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/securityPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/securityPolicies" + } + }, + "definitions": { + "AFDDomainHttpsParameters": { + "type": "object", + "properties": { + "certificateType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CustomerCertificate", + "ManagedCertificate" + ] + }, + { + "$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." + }, + "hostName": { + "type": "string", + "description": "The host name of the domain. Must be a domain name." + }, + "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": { + "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'." + }, + "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 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" + }, + "responseBasedAfdOriginErrorDetectionSettings": { + "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." + }, + "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." + }, + "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." + }, + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "CacheKeyQueryStringActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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." + } + }, + "required": [ + "@odata.type", + "queryStringBehavior" + ], + "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" + }, + "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." + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleCookiesConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of 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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "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": { + "certificateAuthority": { + "type": "string", + "description": "Certificate issuing authority." + }, + "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" + } + ], + "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." + }, + "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" + } + ], + "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." + }, + "DeliveryRuleHttpVersionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "HttpVersion" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for HttpVersion match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the HttpVersion condition for the delivery rule." + }, + "DeliveryRuleIsDeviceCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "IsDevice" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for IsDevice match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the IsDevice condition for the delivery rule." + }, + "DeliveryRulePostArgsCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "PostArgs" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/PostArgsMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for PostArgs match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the PostArgs condition for the delivery rule." + }, + "DeliveryRuleQueryStringCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "QueryString" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/QueryStringMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for QueryString match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the QueryString condition for the delivery rule." + }, + "DeliveryRuleRemoteAddressCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RemoteAddress" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RemoteAddress match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RemoteAddress condition for the delivery rule." + }, + "DeliveryRuleRequestBodyCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestBody" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestBody match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestBody condition for the delivery rule." + }, + "DeliveryRuleRequestHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyRequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the request header action for the delivery rule." + }, + "DeliveryRuleRequestHeaderCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestHeader match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestHeader condition for the delivery rule." + }, + "DeliveryRuleRequestMethodCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestMethod" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestMethod match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestMethod condition for the delivery rule." + }, + "DeliveryRuleRequestSchemeCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestScheme" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestScheme match conditions " + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestScheme condition for the delivery rule." + }, + "DeliveryRuleRequestUriCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "RequestUri" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/RequestUriMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for RequestUri match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the RequestUri condition for the delivery rule." + }, + "DeliveryRuleResponseHeaderAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "ModifyResponseHeader" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/HeaderActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the request header action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the response header action for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileExtension condition for the delivery rule." + }, + "DeliveryRuleUrlFileNameCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileName" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlFilename match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlFileName condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathMatchConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for UrlPath match conditions" + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the UrlPath condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "HeaderActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHeaderActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "headerAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Action to perform." + }, + "headerName": { + "type": "string", + "description": "Name of the header to modify" + }, + "value": { + "type": "string", + "description": "Value for the specified action" + } + }, + "required": [ + "@odata.type", + "headerAction", + "headerName" + ], + "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." + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleHttpVersionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Equal" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for HttpVersion match conditions" + }, + "IsDeviceMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleIsDeviceConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for IsDevice match conditions" + }, + "KeyVaultSigningKeyParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.KeyVaultSigningKeyParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceGroupName": { + "type": "string", + "description": "Resource group of the user's Key Vault containing the secret" + }, + "secretName": { + "type": "string", + "description": "The name of secret in Key Vault." + }, + "secretVersion": { + "type": "string", + "description": "The version(GUID) of secret in Key Vault." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id of the user's Key Vault containing the secret" + }, + "vaultName": { + "type": "string", + "description": "The name of the user's Key Vault containing the secret" + } + }, + "required": [ + "@odata.type", + "resourceGroupName", + "secretName", + "secretVersion", + "subscriptionId", + "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 disabled. 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": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "RemoteAddr", + "SocketAddr" + ] + }, + { + "$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" + }, + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleOriginGroupOverrideActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "originGroup": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another resource." + } + }, + "required": [ + "@odata.type", + "originGroup" + ], + "description": "Defines the parameters for the origin group override action." + }, + "OriginGroupProperties": { + "type": "object", + "properties": { + "healthProbeSettings": { + "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": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRulePostArgsConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for PostArgs match conditions" + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_afdEndpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "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": [ + "2020-09-01" + ] + }, + "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": [ + "2020-09-01" + ] + }, + "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": [ + "2020-09-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "profiles_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups" + }, + "profiles_originGroups_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups/origins" + }, + "profiles_ruleSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the rule set under the profile which is unique globally" + }, + "type": { + "type": "string", + "enum": [ + "ruleSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets" + }, + "profiles_ruleSets_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets/rules" + }, + "profiles_secrets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "securityPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/securityPolicies" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRemoteAddressConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RemoteAddress match conditions" + }, + "RequestBodyMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestBodyConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestBody match conditions" + }, + "RequestHeaderMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestHeaderConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "selector": { + "type": "string", + "description": "Name of Header to be matched" + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestHeader match conditions" + }, + "RequestMethodMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestMethodConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestMethod match conditions" + }, + "RequestSchemeMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestSchemeConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for RequestScheme match conditions " + }, + "RequestUriMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleRequestUriConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for 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." + }, + "RouteProperties": { + "type": "object", + "properties": { + "compressionSettings": { + "oneOf": [ + { + "$ref": "#/definitions/CompressionSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "settings for compression." + }, + "customDomains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + } + }, + { + "$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." + }, + "queryStringCachingBehavior": { + "oneOf": [ + { + "type": "string", + "enum": [ + "IgnoreQueryString", + "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." + }, + "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" + } + ], + "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." + }, + "SecurityPolicyParameters": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallParameters" + } + ], + "properties": {}, + "description": "The json object containing security policy parameters" + }, + "SecurityPolicyProperties": { + "type": "object", + "properties": { + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object containing security policy parameters" + } + }, + "description": "The json object that contains properties required to create a security policy" + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "type": "object", + "properties": { + "domains": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of domains." + }, + "patternsToMatch": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "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" + }, + "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", + "Premium_ChinaCdn", + "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": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFileExtension match conditions" + }, + "UrlFileNameMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFilenameConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlFilename match conditions" + }, + "UrlPathMatchConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "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" + } + }, + "required": [ + "@odata.type", + "operator" + ], + "description": "Defines the parameters for UrlPath match conditions" + }, + "UrlRedirectAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRedirect" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRedirectActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url redirect action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url redirect action for the delivery rule." + }, + "UrlRedirectActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRedirectActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + }, + "customHostname": { + "type": "string", + "description": "Host to redirect. Leave empty to use the incoming host as the destination host." + }, + "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." + } + }, + "required": [ + "@odata.type", + "redirectType" + ], + "description": "Defines the parameters for the url redirect action." + }, + "UrlRewriteAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlRewrite" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlRewriteActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the url rewrite action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url rewrite action for the delivery rule." + }, + "UrlRewriteActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlRewriteActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "destination": { + "type": "string", + "description": "Define the relative URL to which the above requests will be rewritten by." + }, + "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." + } + }, + "required": [ + "@odata.type", + "destination", + "sourcePattern" + ], + "description": "Defines the parameters for the url rewrite action." + }, + "UrlSigningAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlSigning" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlSigningActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the Url Signing action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the url signing action for the delivery rule." + }, + "UrlSigningActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "algorithm": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SHA256" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "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. " + } + }, + "required": [ + "@odata.type" + ], + "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" + } + } +} \ No newline at end of file diff --git a/schemas/2021-06-01/Microsoft.Cdn.json b/schemas/2021-06-01/Microsoft.Cdn.json new file mode 100644 index 0000000000..c6b007a20b --- /dev/null +++ b/schemas/2021-06-01/Microsoft.Cdn.json @@ -0,0 +1,6901 @@ +{ + "id": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." + }, + "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": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/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": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "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": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "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." + }, + "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" + }, + "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" + }, + "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": { + "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": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/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": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "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": [ + "2021-06-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "profiles_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups" + }, + "profiles_originGroups_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups/origins" + }, + "profiles_ruleSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the rule set under the profile which is unique globally" + }, + "type": { + "type": "string", + "enum": [ + "ruleSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets" + }, + "profiles_ruleSets_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets/rules" + }, + "profiles_secrets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2021-06-01" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "securityPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/securityPolicies" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "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" + } + } +} \ No newline at end of file diff --git a/schemas/2022-04-01-preview/Microsoft.DevHub.json b/schemas/2022-04-01-preview/Microsoft.DevHub.json new file mode 100644 index 0000000000..8cd82c8022 --- /dev/null +++ b/schemas/2022-04-01-preview/Microsoft.DevHub.json @@ -0,0 +1,298 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-04-01-preview/Microsoft.DevHub.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DevHub", + "description": "Microsoft DevHub Resource Types", + "resourceDefinitions": { + "workflows": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-04-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "minLength": 1, + "maxLength": 63 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the workflow resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkflowProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Workflow properties" + }, + "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.DevHub/workflows" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DevHub/workflows" + } + }, + "definitions": { + "ACR": { + "type": "object", + "properties": { + "acrRegistryName": { + "type": "string", + "description": "ACR registry" + }, + "acrRepositoryName": { + "type": "string", + "description": "ACR repository" + }, + "acrResourceGroup": { + "type": "string", + "description": "ACR resource group" + }, + "acrSubscriptionId": { + "type": "string", + "description": "ACR subscription id" + } + }, + "description": "Information on the azure container registry" + }, + "DeploymentProperties": { + "type": "object", + "properties": { + "helmChartPath": { + "type": "string", + "description": "Helm chart directory path in repository." + }, + "helmValues": { + "type": "string", + "description": "Helm Values.yaml file location in repository." + }, + "kubeManifestLocations": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "manifestType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "helm", + "kube" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "overrides": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Manifest override values." + } + } + }, + "GitHubWorkflowProfile": { + "type": "object", + "properties": { + "acr": { + "oneOf": [ + { + "$ref": "#/definitions/ACR" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information on the azure container registry" + }, + "aksResourceId": { + "type": "string", + "description": "The Azure Kubernetes Cluster Resource the application will be deployed to." + }, + "authStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Authorized", + "NotFound", + "Error" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "branchName": { + "type": "string", + "description": "Repository Branch Name" + }, + "deploymentProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "dockerBuildContext": { + "type": "string", + "description": "Path to Dockerfile Build Context within the repository." + }, + "dockerfile": { + "type": "string", + "description": "Path to the Dockerfile within the repository." + }, + "lastWorkflowRun": { + "oneOf": [ + { + "$ref": "#/definitions/WorkflowRun" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "namespace": { + "type": "string", + "description": "Kubernetes namespace the application is deployed to." + }, + "oidcCredentials": { + "oneOf": [ + { + "$ref": "#/definitions/GitHubWorkflowProfileOidcCredentials" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fields needed for OIDC with GitHub." + }, + "prStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "unknown", + "submitted", + "merged", + "removed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "repositoryName": { + "type": "string", + "description": "Repository Name" + }, + "repositoryOwner": { + "type": "string", + "description": "Repository Owner" + } + }, + "description": "GitHub Workflow Profile" + }, + "GitHubWorkflowProfileOidcCredentials": { + "type": "object", + "properties": { + "azureClientId": { + "type": "string", + "description": "Azure Application Client ID" + }, + "azureTenantId": { + "type": "string", + "description": "Azure Directory (tenant) ID" + } + }, + "description": "The fields needed for OIDC with GitHub." + }, + "WorkflowProperties": { + "type": "object", + "properties": { + "githubWorkflowProfile": { + "oneOf": [ + { + "$ref": "#/definitions/GitHubWorkflowProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "GitHub Workflow Profile" + } + }, + "description": "Workflow properties" + }, + "WorkflowRun": { + "type": "object", + "properties": {} + } + } +} \ No newline at end of file diff --git a/schemas/2022-05-01-preview/Microsoft.Cdn.json b/schemas/2022-05-01-preview/Microsoft.Cdn.json new file mode 100644 index 0000000000..a6de87eac4 --- /dev/null +++ b/schemas/2022-05-01-preview/Microsoft.Cdn.json @@ -0,0 +1,6946 @@ +{ + "id": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "cdnWebApplicationFirewallPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-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-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group." + }, + "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-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/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-05-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-05-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-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "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-05-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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "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-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "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" + }, + "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-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/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-05-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-05-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-05-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "profiles_endpoints_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/originGroups" + }, + "profiles_endpoints_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/origins" + }, + "profiles_originGroups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin group which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginGroupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin group." + }, + "type": { + "type": "string", + "enum": [ + "originGroups" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups" + }, + "profiles_originGroups_origins_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the origin that is unique within the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AFDOriginProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the origin." + }, + "type": { + "type": "string", + "enum": [ + "origins" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/originGroups/origins" + }, + "profiles_ruleSets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the rule set under the profile which is unique globally" + }, + "type": { + "type": "string", + "enum": [ + "ruleSets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets" + }, + "profiles_ruleSets_rules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the delivery rule which is unique within the endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RuleProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Rules to create." + }, + "type": { + "type": "string", + "enum": [ + "rules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/ruleSets/rules" + }, + "profiles_secrets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the Secret under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecretProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the Secret to create." + }, + "type": { + "type": "string", + "enum": [ + "secrets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/secrets" + }, + "profiles_securityPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2022-05-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the security policy under the profile." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The json object that contains properties required to create a security policy" + }, + "type": { + "type": "string", + "enum": [ + "securityPolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/securityPolicies" + }, + "QueryStringMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match value for the condition of the delivery rule" + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes operator to be matched." + }, + "transforms": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of transforms" + }, + "typeName": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "operator", + "typeName" + ], + "description": "Defines the parameters for QueryString match conditions" + }, + "RateLimitRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes what action to be applied when rule matches." + }, + "enabledState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified." + }, + "matchConditions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of match conditions." + }, + "name": { + "type": "string", + "description": "Defines the name of the custom rule" + }, + "priority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 1000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines in what order this rule be evaluated in the overall list of custom rules" + }, + "rateLimitDurationInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 60 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit duration. Default is 1 minute." + }, + "rateLimitThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines rate limit threshold." + } + }, + "required": [ + "action", + "matchConditions", + "name", + "priority", + "rateLimitDurationInMinutes", + "rateLimitThreshold" + ], + "description": "Defines a rate limiting rule that can be included in a waf policy" + }, + "RateLimitRuleList": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules" + } + }, + "description": "Defines contents of rate limit rules" + }, + "RemoteAddressMatchConditionParameters": { + "type": "object", + "properties": { + "matchValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match." + }, + "negateCondition": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes if this is negate condition or not" + }, + "operator": { + "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" + } + } +} \ No newline at end of file diff --git a/schemas/2022-11-01-preview/Microsoft.Cdn.json b/schemas/2022-11-01-preview/Microsoft.Cdn.json new file mode 100644 index 0000000000..ef232c4068 --- /dev/null +++ b/schemas/2022-11-01-preview/Microsoft.Cdn.json @@ -0,0 +1,7012 @@ +{ + "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/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "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 Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint" + }, + "priority": { + "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." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests." + } + }, + "required": [ + "type" + ], + "description": "Managed service identity (system assigned and/or user assigned identities)" + }, + "MatchCondition": { + "type": "object", + "properties": { + "matchValue": { + "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" + }, + "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" + }, + "UserAssignedIdentity": { + "type": "object", + "properties": {}, + "description": "User assigned identity properties" + } + } +} \ No newline at end of file From a86e7582592aea8da692308776bb62ddc68f8a3a Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Fri, 7 Apr 2023 15:51:08 -0400 Subject: [PATCH 22/30] Restore one missed schema --- schemas/2017-10-12/Microsoft.Cdn.json | 908 ++++++++++++++++++++++++++ 1 file changed, 908 insertions(+) create mode 100644 schemas/2017-10-12/Microsoft.Cdn.json diff --git a/schemas/2017-10-12/Microsoft.Cdn.json b/schemas/2017-10-12/Microsoft.Cdn.json new file mode 100644 index 0000000000..c36b95bab6 --- /dev/null +++ b/schemas/2017-10-12/Microsoft.Cdn.json @@ -0,0 +1,908 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Cdn", + "description": "Microsoft Cdn Resource Types", + "resourceDefinitions": { + "profiles": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-10-12" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the 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_endpoints_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "tags": { + "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_endpoints": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-10-12" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$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": [ + "2017-10-12" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Cdn/profiles/endpoints/customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + } + }, + "definitions": { + "CacheExpirationActionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Azure.Cdn.Models.DeliveryRuleCacheExpirationActionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "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 that include query strings." + }, + "cacheDuration": { + "type": "string", + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss" + }, + "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." + } + }, + "required": [ + "@odata.type", + "cacheBehavior", + "cacheType" + ], + "description": "Defines the parameters for the cache expiration action." + }, + "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." + }, + "DeepCreatedOrigin": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Origin name" + }, + "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." + }, + "DeepCreatedOriginProperties": { + "type": "object", + "properties": { + "hostName": { + "type": "string", + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address." + }, + "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" + } + }, + "required": [ + "hostName" + ], + "description": "Properties of the origin created on the CDN endpoint." + }, + "DeliveryRule": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction" + } + }, + { + "$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" + }, + "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" + }, + "DeliveryRuleAction": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DeliveryRuleCacheExpirationAction" + } + ], + "properties": {}, + "description": "An action for the delivery rule." + }, + "DeliveryRuleCacheExpirationAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "CacheExpiration" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/CacheExpirationActionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the cache expiration action." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the cache expiration action for the delivery rule." + }, + "DeliveryRuleCondition": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/DeliveryRuleUrlPathCondition" + }, + { + "$ref": "#/definitions/DeliveryRuleUrlFileExtensionCondition" + } + ], + "properties": {}, + "description": "A condition for the delivery rule." + }, + "DeliveryRuleUrlFileExtensionCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlFileExtension" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlFileExtensionConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the URL file extension condition." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the URL file extension condition for the delivery rule." + }, + "DeliveryRuleUrlPathCondition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "UrlPath" + ] + }, + "parameters": { + "oneOf": [ + { + "$ref": "#/definitions/UrlPathConditionParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the parameters for the URL path condition." + } + }, + "required": [ + "name", + "parameters" + ], + "description": "Defines the URL path condition for the delivery rule." + }, + "EndpointProperties": { + "type": "object", + "properties": { + "contentTypesToCompress": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of content types on which compression applies. The value should be a valid MIME type." + }, + "deliveryPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParametersDeliveryPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A policy that specifies the delivery rules to be used for an endpoint." + }, + "geoFilters": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/" + }, + "isCompressionEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB." + }, + "isHttpAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "isHttpsAllowed": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed." + }, + "optimizationType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization." + }, + "originHostHeader": { + "type": "string", + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default." + }, + "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." + }, + "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." + } + }, + "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." + }, + "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 codes defining user country access in a geo filter, e.g. AU, MX, US." + }, + "relativePath": { + "type": "string", + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)" + } + }, + "required": [ + "action", + "countryCodes", + "relativePath" + ], + "description": "Rules defining user's geo access within a CDN endpoint." + }, + "ProfileProperties": { + "type": "object", + "properties": {}, + "description": "The JSON object that contains the properties required to create a profile." + }, + "profiles_endpoints_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-10-12" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the endpoint under the profile which is unique globally." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EndpointProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties required to create an endpoint." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "endpoints" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints" + }, + "profiles_endpoints_customDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-10-12" + ] + }, + "name": { + "type": "string", + "description": "Name of the custom domain within an endpoint." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CustomDomainPropertiesParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JSON object that contains the properties of the custom domain to create." + }, + "type": { + "type": "string", + "enum": [ + "customDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Cdn/profiles/endpoints/customDomains" + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Premium_ChinaCdn", + "Standard_Microsoft" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Name of the pricing tier." + } + }, + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile." + }, + "UrlFileExtensionConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlFileExtensionConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of extensions for the condition of the delivery rule." + } + }, + "required": [ + "@odata.type", + "extensions" + ], + "description": "Defines the parameters for the URL file extension condition." + }, + "UrlPathConditionParameters": { + "type": "object", + "properties": { + "@odata.type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Microsoft.Azure.Cdn.Models.DeliveryRuleUrlPathConditionParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "matchType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Literal", + "Wildcard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The match type for the condition of the delivery rule." + }, + "path": { + "type": "string", + "description": "A URL path for the condition of the delivery rule" + } + }, + "required": [ + "@odata.type", + "matchType", + "path" + ], + "description": "Defines the parameters for the URL path condition." + } + } +} \ No newline at end of file From b289d6f5bef96242430c9256a8c21b330543548e Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 11 Apr 2023 09:32:44 +0000 Subject: [PATCH 23/30] Autogenerate schemas --- schemas/2020-04-01-preview/Microsoft.KeyVault.json | 6 +++--- schemas/2021-04-01-preview/Microsoft.KeyVault.json | 11 ++++++----- schemas/2021-06-01-preview/Microsoft.KeyVault.json | 11 ++++++----- schemas/2021-10-01/Microsoft.KeyVault.json | 11 ++++++----- schemas/2021-11-01-preview/Microsoft.KeyVault.json | 11 ++++++----- schemas/2022-02-01-preview/Microsoft.KeyVault.json | 11 ++++++----- schemas/2022-07-01/Microsoft.KeyVault.json | 11 ++++++----- schemas/2022-11-01/Microsoft.KeyVault.json | 11 ++++++----- schemas/2023-02-01/Microsoft.KeyVault.json | 11 ++++++----- 9 files changed, 51 insertions(+), 43 deletions(-) diff --git a/schemas/2020-04-01-preview/Microsoft.KeyVault.json b/schemas/2020-04-01-preview/Microsoft.KeyVault.json index c69359f3c3..fe4c6bd8d6 100644 --- a/schemas/2020-04-01-preview/Microsoft.KeyVault.json +++ b/schemas/2020-04-01-preview/Microsoft.KeyVault.json @@ -593,7 +593,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -605,7 +605,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -631,7 +631,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ diff --git a/schemas/2021-04-01-preview/Microsoft.KeyVault.json b/schemas/2021-04-01-preview/Microsoft.KeyVault.json index 792a2fe32d..17c30fc9a2 100644 --- a/schemas/2021-04-01-preview/Microsoft.KeyVault.json +++ b/schemas/2021-04-01-preview/Microsoft.KeyVault.json @@ -762,7 +762,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -774,7 +774,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -814,7 +814,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -826,7 +826,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -866,7 +866,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2021-06-01-preview/Microsoft.KeyVault.json b/schemas/2021-06-01-preview/Microsoft.KeyVault.json index dfe193fae1..ad5576d6d2 100644 --- a/schemas/2021-06-01-preview/Microsoft.KeyVault.json +++ b/schemas/2021-06-01-preview/Microsoft.KeyVault.json @@ -799,7 +799,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -811,7 +811,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -851,7 +851,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -863,7 +863,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -903,7 +903,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2021-10-01/Microsoft.KeyVault.json b/schemas/2021-10-01/Microsoft.KeyVault.json index f7abd222e9..3043be4110 100644 --- a/schemas/2021-10-01/Microsoft.KeyVault.json +++ b/schemas/2021-10-01/Microsoft.KeyVault.json @@ -709,7 +709,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -721,7 +721,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -761,7 +761,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -773,7 +773,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -813,7 +813,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2021-11-01-preview/Microsoft.KeyVault.json b/schemas/2021-11-01-preview/Microsoft.KeyVault.json index ee271fa1cb..d7edd79d15 100644 --- a/schemas/2021-11-01-preview/Microsoft.KeyVault.json +++ b/schemas/2021-11-01-preview/Microsoft.KeyVault.json @@ -799,7 +799,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -811,7 +811,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -851,7 +851,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -863,7 +863,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -903,7 +903,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2022-02-01-preview/Microsoft.KeyVault.json b/schemas/2022-02-01-preview/Microsoft.KeyVault.json index a2ace65637..7351b2023a 100644 --- a/schemas/2022-02-01-preview/Microsoft.KeyVault.json +++ b/schemas/2022-02-01-preview/Microsoft.KeyVault.json @@ -799,7 +799,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -811,7 +811,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -851,7 +851,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -863,7 +863,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -903,7 +903,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2022-07-01/Microsoft.KeyVault.json b/schemas/2022-07-01/Microsoft.KeyVault.json index b79099688b..176b73e9bc 100644 --- a/schemas/2022-07-01/Microsoft.KeyVault.json +++ b/schemas/2022-07-01/Microsoft.KeyVault.json @@ -800,7 +800,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -812,7 +812,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -852,7 +852,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -864,7 +864,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -904,7 +904,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2022-11-01/Microsoft.KeyVault.json b/schemas/2022-11-01/Microsoft.KeyVault.json index 8e11905be3..6ae928936d 100644 --- a/schemas/2022-11-01/Microsoft.KeyVault.json +++ b/schemas/2022-11-01/Microsoft.KeyVault.json @@ -1089,7 +1089,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -1101,7 +1101,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -1141,7 +1141,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "softDeleteRetentionInDays": { "oneOf": [ @@ -1153,7 +1153,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -1222,7 +1222,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { diff --git a/schemas/2023-02-01/Microsoft.KeyVault.json b/schemas/2023-02-01/Microsoft.KeyVault.json index 4e08b4a72b..deca5623ee 100644 --- a/schemas/2023-02-01/Microsoft.KeyVault.json +++ b/schemas/2023-02-01/Microsoft.KeyVault.json @@ -1099,7 +1099,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible." + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." }, "enableSoftDelete": { "oneOf": [ @@ -1111,7 +1111,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. If it's not set to any value(true or false) when creating new managed HSM pool, it will be set to true by default. Once set to true, it cannot be reverted to false." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." }, "initialAdminObjectIds": { "oneOf": [ @@ -1151,7 +1151,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled." + "description": "Control permission to the managed HSM from public networks." }, "regions": { "oneOf": [ @@ -1177,7 +1177,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "softDelete data retention days. It accepts >=7 and <=90." + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." }, "tenantId": { "oneOf": [ @@ -1246,7 +1246,8 @@ "type": "string", "enum": [ "Standard_B1", - "Custom_B32" + "Custom_B32", + "Custom_B6" ] }, { From 26c0c182c3827e06e2c419c6141ab3a57ebaea22 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Tue, 11 Apr 2023 09:33:10 +0000 Subject: [PATCH 24/30] Update resource list --- generator/resources.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index 27085cdabf..ef69fb6a93 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -143,13 +143,19 @@ "2017-04-19", "2017-04-19", "2020-01-01", - "2020-01-01" + "2020-01-01", + "2022-09-01", + "2022-09-01", + "2022-10-01", + "2022-10-01" ], - "Microsoft.Advisor/suppressions": [ + "Microsoft.Advisor/recommendations/suppressions": [ "2016-07-12-preview", "2017-03-31", "2017-04-19", - "2020-01-01" + "2020-01-01", + "2022-09-01", + "2022-10-01" ], "Microsoft.AgFoodPlatform/farmBeats": [ "2020-05-12-preview", From 104fb8b8b5ff2254063f669ccb33ab9a963695f7 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 12 Apr 2023 09:49:31 +0000 Subject: [PATCH 25/30] Autogenerate schemas --- schemas/2023-03-15/Microsoft.DocumentDB.json | 6882 ++++++++++++++++++ schemas/common/autogeneratedResources.json | 96 + 2 files changed, 6978 insertions(+) create mode 100644 schemas/2023-03-15/Microsoft.DocumentDB.json diff --git a/schemas/2023-03-15/Microsoft.DocumentDB.json b/schemas/2023-03-15/Microsoft.DocumentDB.json new file mode 100644 index 0000000000..5a8ec8199f --- /dev/null +++ b/schemas/2023-03-15/Microsoft.DocumentDB.json @@ -0,0 +1,6882 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DocumentDB", + "description": "Microsoft DocumentDB Resource Types", + "resourceDefinitions": { + "cassandraClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed Cassandra cluster name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra cluster." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/cassandraClusters_dataCenters_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/cassandraClusters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters" + }, + "cassandraClusters_dataCenters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data center name in a managed Cassandra cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataCenterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra data center." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/cassandraClusters/dataCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters/dataCenters" + }, + "databaseAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "GlobalDocumentDB", + "MongoDB", + "Parse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of database account. This can only be set at database account creation." + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "minLength": 3, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB database account name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlRoleDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlRoleAssignments_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbRoleDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbUserDefinitions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_tables_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_notebookWorkspaces_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_services_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts" + }, + "databaseAccounts_cassandraKeyspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB keyspace name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_tables_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + }, + "databaseAccounts_cassandraKeyspaces_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_cassandraKeyspaces_tables_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + }, + "databaseAccounts_cassandraKeyspaces_tables_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + }, + "databaseAccounts_gremlinDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_graphs_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + }, + "databaseAccounts_gremlinDatabases_graphs": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_gremlinDatabases_graphs_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + }, + "databaseAccounts_gremlinDatabases_graphs_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + }, + "databaseAccounts_gremlinDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + }, + "databaseAccounts_mongodbDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_collections_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + }, + "databaseAccounts_mongodbDatabases_collections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_mongodbDatabases_collections_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + }, + "databaseAccounts_mongodbDatabases_collections_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + }, + "databaseAccounts_mongodbRoleDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + }, + "databaseAccounts_mongodbUserDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The ID for the User Definition {dbName.userName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoUserDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + }, + "databaseAccounts_notebookWorkspaces": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the notebook workspace resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + }, + "databaseAccounts_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, + "databaseAccounts_services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 50, + "description": "Cosmos DB service name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/services" + }, + "databaseAccounts_sqlDatabases": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_clientEncryptionKeys_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + }, + "databaseAccounts_sqlDatabases_clientEncryptionKeys": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + }, + "databaseAccounts_sqlDatabases_containers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_throughputSettings_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_storedProcedures_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_userDefinedFunctions_childResource" + }, + { + "$ref": "#/definitions/databaseAccounts_sqlDatabases_containers_triggers_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + }, + "databaseAccounts_sqlDatabases_containers_storedProcedures": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB storedProcedure name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + }, + "databaseAccounts_sqlDatabases_containers_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + }, + "databaseAccounts_sqlDatabases_containers_triggers": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB trigger name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + }, + "databaseAccounts_sqlDatabases_containers_userDefinedFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB userDefinedFunction name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + }, + "databaseAccounts_sqlDatabases_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + }, + "databaseAccounts_sqlRoleAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleAssignmentResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + }, + "databaseAccounts_sqlRoleDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + }, + "databaseAccounts_tables": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/databaseAccounts_tables_throughputSettings_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables" + }, + "databaseAccounts_tables_throughputSettings": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^.*/default$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + } + }, + "definitions": { + "AnalyticalStorageConfiguration": { + "type": "object", + "properties": { + "schemaType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "WellDefined", + "FullFidelity" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Analytical storage specific properties." + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0", + "4.2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the ServerVersion of an a MongoDB account." + } + } + }, + "AuthenticationMethodLdapProperties": { + "type": "object", + "properties": { + "connectionTimeoutInMs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Timeout for connecting to the LDAP server in miliseconds. The default is 5000 ms." + }, + "searchBaseDistinguishedName": { + "type": "string", + "description": "Distinguished name of the object to start the recursive search of users from." + }, + "searchFilterTemplate": { + "type": "string", + "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login." + }, + "serverCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "serverHostname": { + "type": "string", + "description": "Hostname of the LDAP server." + }, + "serverPort": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port of the LDAP server." + }, + "serviceUserDistinguishedName": { + "type": "string", + "description": "Distinguished name of the look up user account, who can look up user details on authentication." + }, + "serviceUserPassword": { + "type": "string", + "description": "Password of the look up user." + } + }, + "description": "Ldap authentication method properties. This feature is in preview." + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "properties": { + "autoUpgradePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource auto-upgrade policy" + }, + "maxThroughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents maximum throughput container can scale up to." + } + }, + "required": [ + "maxThroughput" + ], + "description": "Cosmos DB provisioned throughput settings object" + }, + "AutoUpgradePolicyResource": { + "type": "object", + "properties": { + "throughputPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputPolicyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource throughput policy" + } + }, + "description": "Cosmos DB resource auto-upgrade policy" + }, + "BackupPolicy": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/PeriodicModeBackupPolicy" + }, + { + "$ref": "#/definitions/ContinuousModeBackupPolicy" + } + ], + "properties": { + "migrationState": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyMigrationState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object representing the state of the migration between the backup policies." + } + }, + "description": "The object representing the policy for taking backups on an account." + }, + "BackupPolicyMigrationState": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the status of migration between backup policy types." + }, + "targetType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the target backup policy type of the backup policy migration." + } + }, + "description": "The object representing the state of the migration between the backup policies." + }, + "Capability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB capability. For example, \"name\": \"EnableCassandra\". Current values also include \"EnableTable\" and \"EnableGremlin\"." + } + }, + "description": "Cosmos DB capability object" + }, + "Capacity": { + "type": "object", + "properties": { + "totalThroughputLimit": { + "oneOf": [ + { + "type": "integer", + "minimum": -1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + }, + "description": "The object that represents all properties related to capacity enforcement on an account." + }, + "cassandraClusters_dataCenters_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$", + "minLength": 1, + "maxLength": 100 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data center name in a managed Cassandra cluster." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataCenterResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a managed Cassandra data center." + }, + "type": { + "type": "string", + "enum": [ + "dataCenters" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/cassandraClusters/dataCenters" + }, + "CassandraError": { + "type": "object", + "properties": { + "additionalErrorInfo": { + "type": "string", + "description": "Additional information about the error." + }, + "code": { + "type": "string", + "description": "The code of error that occurred." + }, + "message": { + "type": "string", + "description": "The message of the error." + }, + "target": { + "type": "string", + "description": "The target resource of the error." + } + } + }, + "CassandraKeyspaceCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra keyspace resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "CassandraKeyspaceResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra keyspace" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra keyspace resource object" + }, + "CassandraPartitionKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table partition key" + } + }, + "description": "Cosmos DB Cassandra table partition key" + }, + "CassandraSchema": { + "type": "object", + "properties": { + "clusterKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of cluster key." + }, + "columns": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Column" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cassandra table columns." + }, + "partitionKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CassandraPartitionKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of partition key." + } + }, + "description": "Cosmos DB Cassandra table schema" + }, + "CassandraTableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "CassandraTableResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Time to live of the Cosmos DB Cassandra table" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table" + }, + "schema": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraSchema" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Cassandra table schema" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Cassandra table resource object" + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "type": "string", + "description": "PEM formatted public key." + } + } + }, + "ClientEncryptionIncludedPath": { + "type": "object", + "properties": { + "clientEncryptionKeyId": { + "type": "string", + "description": "The identifier of the Client Encryption Key to be used to encrypt the path." + }, + "encryptionAlgorithm": { + "type": "string", + "description": "The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256." + }, + "encryptionType": { + "type": "string", + "description": "The type of encryption to be performed. Eg - Deterministic, Randomized." + }, + "path": { + "type": "string", + "description": "Path that needs to be encrypted." + } + }, + "required": [ + "clientEncryptionKeyId", + "encryptionAlgorithm", + "encryptionType", + "path" + ], + "description": "." + }, + "ClientEncryptionKeyCreateUpdateProperties": { + "type": "object", + "properties": { + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB client encryption key resource object." + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "ClientEncryptionKeyResource": { + "type": "object", + "properties": { + "encryptionAlgorithm": { + "type": "string", + "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data." + }, + "id": { + "type": "string", + "description": "Name of the ClientEncryptionKey" + }, + "keyWrapMetadata": { + "oneOf": [ + { + "$ref": "#/definitions/KeyWrapMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key." + }, + "wrappedDataEncryptionKey": { + "oneOf": [ + { + "type": "string", + "pattern": "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Wrapped (encrypted) form of the key represented as a byte array." + } + }, + "description": "Cosmos DB client encryption key resource object." + }, + "ClientEncryptionPolicy": { + "type": "object", + "properties": { + "includedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionIncludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Paths of the item that need encryption along with path-specific settings." + }, + "policyFormatVersion": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. " + } + }, + "required": [ + "includedPaths", + "policyFormatVersion" + ], + "description": "Cosmos DB client encryption policy." + }, + "ClusterKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table cluster key" + }, + "orderBy": { + "type": "string", + "description": "Order of the Cosmos DB Cassandra table cluster key, only support \"Asc\" and \"Desc\"" + } + }, + "description": "Cosmos DB Cassandra table cluster key" + }, + "ClusterResourceProperties": { + "type": "object", + "properties": { + "authenticationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Cassandra", + "Ldap" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'." + }, + "cassandraAuditLoggingEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether Cassandra audit logging is enabled" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clientCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property." + }, + "clusterNameOverride": { + "type": "string", + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "deallocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "delegatedManagementSubnetId": { + "type": "string", + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "externalGossipCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property." + }, + "externalSeedNodes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes." + }, + "hoursBetweenBackups": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Deprecated) Number of hours to wait between taking a backup of the cluster." + }, + "initialCassandraAdminPassword": { + "type": "string", + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'." + }, + "prometheusEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/SeedNode" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisionError": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraError" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "repairEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "restoreFromBackupId": { + "type": "string", + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + } + }, + "description": "Properties of a managed Cassandra cluster." + }, + "Column": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra table column" + }, + "type": { + "type": "string", + "description": "Type of the Cosmos DB Cassandra table column" + } + }, + "description": "Cosmos DB Cassandra table column" + }, + "Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties": { + "type": "object", + "properties": {} + }, + "CompositePath": { + "type": "object", + "properties": { + "order": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ascending", + "descending" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sort order for composite paths." + }, + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "properties": { + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "LastWriterWins", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the conflict resolution mode." + } + }, + "description": "The conflict resolution policy for the container." + }, + "ConsistencyPolicy": { + "type": "object", + "properties": { + "defaultConsistencyLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Eventual", + "Session", + "BoundedStaleness", + "Strong", + "ConsistentPrefix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default consistency level and configuration settings of the Cosmos DB account." + }, + "maxIntervalInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 5, + "maximum": 86400 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the time amount of staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + }, + "maxStalenessPrefix": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "When used with the Bounded Staleness consistency level, this value represents the number of stale requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set to 'BoundedStaleness'." + } + }, + "required": [ + "defaultConsistencyLevel" + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "ContainerPartitionKey": { + "type": "object", + "properties": { + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range", + "MultiHash" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create." + }, + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths using which data within the container can be partitioned" + }, + "version": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the version of the partition key definition" + } + }, + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "ContinuousModeBackupPolicy": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "Continuous" + ] + } + }, + "required": [ + "type" + ], + "description": "The object representing continuous mode backup policy." + }, + "CorsPolicy": { + "type": "object", + "properties": { + "allowedHeaders": { + "type": "string", + "description": "The request headers that the origin domain may specify on the CORS request." + }, + "allowedMethods": { + "type": "string", + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request." + }, + "allowedOrigins": { + "type": "string", + "description": "The origin domains that are permitted to make a request against the service via CORS." + }, + "exposedHeaders": { + "type": "string", + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer." + }, + "maxAgeInSeconds": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 2147483647 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request." + } + }, + "required": [ + "allowedOrigins" + ], + "description": "The CORS policy for the Cosmos DB database account." + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "autoscaleSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "throughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Request Units per second. For example, \"throughput\": 10000." + } + }, + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "DatabaseAccountCreateUpdateProperties": { + "type": "object", + "properties": { + "analyticalStorageConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical storage specific properties." + }, + "apiProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ApiProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "backupPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object representing the policy for taking backups on an account." + }, + "capabilities": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Capability" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Cosmos DB capabilities for the account" + }, + "capacity": { + "oneOf": [ + { + "$ref": "#/definitions/Capacity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The object that represents all properties related to capacity enforcement on an account." + }, + "connectorOffer": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Small" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cassandra connector offer type for the Cosmos DB database C* account." + }, + "consistencyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConsistencyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The consistency policy for the Cosmos DB database account." + }, + "cors": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CORS policy for the Cosmos DB database account." + }, + "createMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "Restore" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate the mode of account creation." + }, + "databaseAccountOfferType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The offer type for the database" + }, + "defaultIdentity": { + "type": "string", + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more." + }, + "disableKeyBasedMetadataWriteAccess": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Disable write operations on metadata resources (databases, containers, throughput) via account keys" + }, + "disableLocalAuth": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication." + }, + "enableAnalyticalStorage": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable storage analytics." + }, + "enableAutomaticFailover": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables automatic failover of the write region in the rare event that the region is unavailable due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the failover priorities configured for the account." + }, + "enableCassandraConnector": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the cassandra connector on the Cosmos DB C* account" + }, + "enableFreeTier": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether Free Tier is enabled." + }, + "enableMultipleWriteLocations": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables the account to write in multiple locations" + }, + "enablePartitionMerge": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate enabling/disabling of Partition Merge feature on the account" + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Array of IpAddressOrRange objects." + }, + "isVirtualNetworkFilterEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether to enable/disable Virtual Network ACL rules." + }, + "keysMetadata": { + "oneOf": [ + { + "$ref": "#/definitions/DatabaseAccountKeysMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The metadata related to each access key for the given Cosmos DB database account." + }, + "keyVaultKeyUri": { + "type": "string", + "description": "The URI of the key vault" + }, + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Location" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array that contains the georeplication locations enabled for the Cosmos DB account." + }, + "minimalTlsVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Tls", + "Tls11", + "Tls12" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the minimum allowed Tls version. The default is Tls 1.0, except for Cassandra and Mongo API's, which only work with Tls 1.2." + }, + "networkAclBypass": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "AzureServices" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates what services are allowed to bypass firewall checks." + }, + "networkAclBypassResourceIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether requests from Public Network are allowed." + }, + "restoreParameters": { + "oneOf": [ + { + "$ref": "#/definitions/RestoreParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Parameters to indicate the information about the restore." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Virtual Network ACL rules configured for the Cosmos DB account." + } + }, + "required": [ + "databaseAccountOfferType", + "locations" + ], + "description": "Properties to create and update Azure Cosmos DB database accounts." + }, + "DatabaseAccountKeysMetadata": { + "type": "object", + "properties": {}, + "description": "The metadata related to each access key for the given Cosmos DB database account." + }, + "databaseAccounts_cassandraKeyspaces_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB keyspace name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "cassandraKeyspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces" + }, + "databaseAccounts_cassandraKeyspaces_tables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraTableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Cassandra table." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables" + }, + "databaseAccounts_cassandraKeyspaces_tables_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings" + }, + "databaseAccounts_cassandraKeyspaces_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings" + }, + "databaseAccounts_gremlinDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "gremlinDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases" + }, + "databaseAccounts_gremlinDatabases_graphs_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB graph name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "graphs" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs" + }, + "databaseAccounts_gremlinDatabases_graphs_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings" + }, + "databaseAccounts_gremlinDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "mongodbDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases" + }, + "databaseAccounts_mongodbDatabases_collections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB collection name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "collections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections" + }, + "databaseAccounts_mongodbDatabases_collections_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings" + }, + "databaseAccounts_mongodbDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings" + }, + "databaseAccounts_mongodbRoleDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "mongodbRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions" + }, + "databaseAccounts_mongodbUserDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The ID for the User Definition {dbName.userName}." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MongoUserDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "mongodbUserDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions" + }, + "databaseAccounts_notebookWorkspaces_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ], + "description": "The name of the notebook workspace resource." + }, + "type": { + "type": "string", + "enum": [ + "notebookWorkspaces" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces" + }, + "databaseAccounts_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections" + }, + "databaseAccounts_services_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 50, + "description": "Cosmos DB service name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "type": { + "type": "string", + "enum": [ + "services" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/services" + }, + "databaseAccounts_sqlDatabases_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB database name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "sqlDatabases" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases" + }, + "databaseAccounts_sqlDatabases_clientEncryptionKeys_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "Cosmos DB ClientEncryptionKey name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update ClientEncryptionKey." + }, + "type": { + "type": "string", + "enum": [ + "clientEncryptionKeys" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys" + }, + "databaseAccounts_sqlDatabases_containers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB container name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "containers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers" + }, + "databaseAccounts_sqlDatabases_containers_storedProcedures_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB storedProcedure name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "storedProcedures" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures" + }, + "databaseAccounts_sqlDatabases_containers_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings" + }, + "databaseAccounts_sqlDatabases_containers_triggers_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB trigger name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "triggers" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers" + }, + "databaseAccounts_sqlDatabases_containers_userDefinedFunctions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB userDefinedFunction name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "userDefinedFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions" + }, + "databaseAccounts_sqlDatabases_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings" + }, + "databaseAccounts_sqlRoleAssignments_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleAssignmentResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "type": { + "type": "string", + "enum": [ + "sqlRoleAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments" + }, + "databaseAccounts_sqlRoleDefinitions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the Role Definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SqlRoleDefinitionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "type": { + "type": "string", + "enum": [ + "sqlRoleDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions" + }, + "databaseAccounts_tables_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "description": "Cosmos DB table name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TableCreateUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "tables" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables" + }, + "databaseAccounts_tables_throughputSettings_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-03-15" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource group to which the resource belongs." + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsUpdateProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters. For example, the default experience for a template type is set with \"defaultExperience\": \"Cassandra\". Current \"defaultExperience\" values also include \"Table\", \"Graph\", \"DocumentDB\", and \"MongoDB\"." + }, + "type": { + "type": "string", + "enum": [ + "throughputSettings" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings" + }, + "DatabaseRestoreResource": { + "type": "object", + "properties": { + "collectionNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The names of the collections available for restore." + }, + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + } + }, + "description": "Specific Databases to restore." + }, + "DataCenterResourceProperties": { + "type": "object", + "properties": { + "authenticationMethodLdapProperties": { + "oneOf": [ + { + "$ref": "#/definitions/AuthenticationMethodLdapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Ldap authentication method properties. This feature is in preview." + }, + "availabilityZone": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the data center has Availability Zone support, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "dataCenterLocation": { + "type": "string", + "description": "The region this data center should be created in." + }, + "deallocated": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the data center has been deallocated." + }, + "delegatedSubnetId": { + "type": "string", + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "diskCapacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of disks attached to each node. Default is 4." + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "nodeCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "provisionError": { + "oneOf": [ + { + "$ref": "#/definitions/CassandraError" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + } + }, + "description": "Properties of a managed Cassandra data center." + }, + "ExcludedPath": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + } + }, + "GremlinDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin database." + }, + "GremlinDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin database resource object" + }, + "GremlinDatabaseRestoreResource": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the gremlin database available for restore." + }, + "graphNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The names of the graphs available for restore." + } + }, + "description": "Specific Gremlin Databases to restore." + }, + "GremlinGraphCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/GremlinGraphResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB Gremlin graph resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Gremlin graph." + }, + "GremlinGraphResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB Gremlin graph" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB Gremlin graph resource object" + }, + "IncludedPath": { + "type": "object", + "properties": { + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Indexes" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of indexes for this path" + }, + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + } + }, + "description": "The paths that are included in indexing" + }, + "Indexes": { + "type": "object", + "properties": { + "dataType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "String", + "Number", + "Point", + "Polygon", + "LineString", + "MultiPolygon" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The datatype for which the indexing behavior is applied to." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hash", + "Range", + "Spatial" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the type of index." + }, + "precision": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The precision of the index. -1 is maximum precision." + } + }, + "description": "The indexes for the path." + }, + "IndexingPolicy": { + "type": "object", + "properties": { + "automatic": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the indexing policy is automatic" + }, + "compositeIndexes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/CompositePath" + } + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of composite path list" + }, + "excludedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExcludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to exclude from indexing" + }, + "includedPaths": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IncludedPath" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths to include in the indexing" + }, + "indexingMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "consistent", + "lazy", + "none" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates the indexing mode." + }, + "spatialIndexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SpatialSpec" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of spatial specifics" + } + }, + "description": "Cosmos DB indexing policy" + }, + "IpAddressOrRange": { + "type": "object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + }, + "description": "IpAddressOrRange object" + }, + "KeyWrapMetadata": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm used in wrapping and unwrapping of the data encryption key." + }, + "name": { + "type": "string", + "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)." + }, + "type": { + "type": "string", + "description": "ProviderName of KeyStoreProvider." + }, + "value": { + "type": "string", + "description": "Reference / link to the KeyEncryptionKey." + } + }, + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key." + }, + "Location": { + "type": "object", + "properties": { + "failoverPriority": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failover priority of the region. A failover priority of 0 indicates a write region. The maximum value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the regions in which the database account exists." + }, + "isZoneRedundant": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to indicate whether or not this region is an AvailabilityZone region" + }, + "locationName": { + "type": "string", + "description": "The name of the region." + }, + "provisioningState": { + "type": "string", + "description": "The status of the Cosmos DB account at the time the operation was called. The status can be one of following. 'Creating' – the Cosmos DB account is being created. When an account is in Creating state, only properties that are specified as input for the Create Cosmos DB account operation are returned. 'Succeeded' – the Cosmos DB account is active for use. 'Updating' – the Cosmos DB account is being updated. 'Deleting' – the Cosmos DB account is being deleted. 'Failed' – the Cosmos DB account failed creation. 'DeletionFailed' – the Cosmos DB account deletion failed." + } + }, + "description": "A region in which the Azure Cosmos DB database account is deployed." + }, + "ManagedCassandraManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the resource." + } + }, + "description": "Identity for the resource." + }, + "ManagedServiceIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Components1jq1t4ischemasmanagedserviceidentitypropertiesuserassignedidentitiesadditionalproperties" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "MongoDBCollectionCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBCollectionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB collection." + }, + "MongoDBCollectionResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "indexes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of index keys" + }, + "shardKey": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The shard key and partition kind pair, only support \"Hash\" partition kind" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoDBDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDBDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB MongoDB database." + }, + "MongoDBDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB MongoDB database resource object" + }, + "MongoIndex": { + "type": "object", + "properties": { + "key": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection resource object" + }, + "options": { + "oneOf": [ + { + "$ref": "#/definitions/MongoIndexOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB MongoDB collection index options" + } + }, + "description": "Cosmos DB MongoDB collection index key" + }, + "MongoIndexKeys": { + "type": "object", + "properties": { + "keys": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of keys for each MongoDB collection in the Azure Cosmos DB service" + } + }, + "description": "Cosmos DB MongoDB collection resource object" + }, + "MongoIndexOptions": { + "type": "object", + "properties": { + "expireAfterSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Expire after seconds" + }, + "unique": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Is unique or not" + } + }, + "description": "Cosmos DB MongoDB collection index options" + }, + "MongoRoleDefinitionResource": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this Role Definition." + }, + "privileges": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Privilege" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege." + }, + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of roles inherited by this Role Definition." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Role Definition was built-in or user created." + } + }, + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "MongoUserDefinitionResource": { + "type": "object", + "properties": { + "customData": { + "type": "string", + "description": "A custom definition for the USer Definition." + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this User Definition." + }, + "mechanisms": { + "type": "string", + "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256." + }, + "password": { + "type": "string", + "description": "The password for User Definition. Response does not contain user password." + }, + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of roles inherited by the User Definition." + }, + "userName": { + "type": "string", + "description": "The user name for User Definition." + } + }, + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "PeriodicModeBackupPolicy": { + "type": "object", + "properties": { + "periodicModeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/PeriodicModeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Configuration values for periodic mode backup" + }, + "type": { + "type": "string", + "enum": [ + "Periodic" + ] + } + }, + "required": [ + "type" + ], + "description": "The object representing periodic mode backup policy." + }, + "PeriodicModeProperties": { + "type": "object", + "properties": { + "backupIntervalInMinutes": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enum to indicate type of backup residency." + } + }, + "description": "Configuration values for periodic mode backup" + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint which the connection belongs to." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Connection State of the Private Endpoint Connection." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + }, + "description": "Properties of a private endpoint connection." + }, + "PrivateEndpointProperty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint." + } + }, + "description": "Private endpoint which the connection belongs to." + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "status": { + "type": "string", + "description": "The private link service connection status." + } + }, + "description": "Connection State of the Private Endpoint Connection." + }, + "Privilege": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of actions that are allowed." + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/PrivilegeResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure Cosmos DB Mongo DB Resource." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "PrivilegeResource": { + "type": "object", + "properties": { + "collection": { + "type": "string", + "description": "The collection name the role is applied." + }, + "db": { + "type": "string", + "description": "The database name the role is applied." + } + }, + "description": "An Azure Cosmos DB Mongo DB Resource." + }, + "RestoreParameters": { + "type": "object", + "properties": { + "databasesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific databases available for restore." + }, + "gremlinDatabasesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/GremlinDatabaseRestoreResource" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific gremlin databases available for restore." + }, + "restoreMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "PointInTime" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the mode of the restore." + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "tablesToRestore": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of specific tables available for restore." + } + }, + "description": "Parameters to indicate the information about the restore." + }, + "Role": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "role": { + "type": "string", + "description": "The role name." + } + }, + "description": "The set of roles permitted through this Role Definition." + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "type": "string", + "description": "IP address of this seed node." + } + } + }, + "ServiceResourceCreateUpdateProperties": { + "type": "object", + "properties": { + "instanceCount": { + "oneOf": [ + { + "type": "integer", + "minimum": 0 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instance count for the service." + }, + "instanceSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Cosmos.D4s", + "Cosmos.D8s", + "Cosmos.D16s" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "serviceType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlDedicatedGateway", + "DataTransfer", + "GraphAPICompute", + "MaterializedViewsBuilder" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Properties in ServiceResourceCreateUpdateParameters." + }, + "SpatialSpec": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)" + }, + "types": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Point", + "LineString", + "Polygon", + "MultiPolygon" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of path's spatial type" + } + } + }, + "SqlContainerCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlContainerResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL container resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB container." + }, + "SqlContainerResource": { + "type": "object", + "properties": { + "analyticalStorageTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Analytical TTL." + }, + "clientEncryptionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ClientEncryptionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB client encryption policy." + }, + "conflictResolutionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ConflictResolutionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The conflict resolution policy for the container." + }, + "defaultTtl": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Default time to live" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL container" + }, + "indexingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/IndexingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB indexing policy" + }, + "partitionKey": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerPartitionKey" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The configuration of the partition key to be used for partitioning data into multiple partitions" + }, + "uniqueKeyPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/UniqueKeyPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL container resource object" + }, + "SqlDatabaseCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlDatabaseResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL database resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB SQL database." + }, + "SqlDatabaseResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL database" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL database resource object" + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + }, + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleDefinitionResource": { + "type": "object", + "properties": { + "assignableScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of operations allowed through this Role Definition." + }, + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the Role Definition was built-in or user created." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlStoredProcedureCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlStoredProcedureResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL storedProcedure resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB storedProcedure." + }, + "SqlStoredProcedureResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL storedProcedure resource object" + }, + "SqlTriggerCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlTriggerResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL trigger resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB trigger." + }, + "SqlTriggerResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "triggerOperation": { + "oneOf": [ + { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operation the trigger is associated with." + }, + "triggerType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pre", + "Post" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of the Trigger." + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL trigger resource object" + }, + "SqlUserDefinedFunctionCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/SqlUserDefinedFunctionResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB SQL userDefinedFunction resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB userDefinedFunction." + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "properties": { + "body": { + "type": "string", + "description": "Body of the User Defined Function" + }, + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB SQL userDefinedFunction resource object" + }, + "TableCreateUpdateProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "$ref": "#/definitions/CreateUpdateOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are \"If-Match\", \"If-None-Match\", \"Session-Token\" and \"Throughput\"" + }, + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/TableResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB table resource object" + } + }, + "required": [ + "resource" + ], + "description": "Properties to create and update Azure Cosmos DB Table." + }, + "TableResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB table" + } + }, + "required": [ + "id" + ], + "description": "Cosmos DB table resource object" + }, + "ThroughputPolicyResource": { + "type": "object", + "properties": { + "incrementPercent": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Determines whether the ThroughputPolicy is active or not" + } + }, + "description": "Cosmos DB resource throughput policy" + }, + "ThroughputSettingsResource": { + "type": "object", + "properties": { + "autoscaleSettings": { + "oneOf": [ + { + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB provisioned throughput settings object" + }, + "throughput": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + } + }, + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both." + }, + "ThroughputSettingsUpdateProperties": { + "type": "object", + "properties": { + "resource": { + "oneOf": [ + { + "$ref": "#/definitions/ThroughputSettingsResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both." + } + }, + "required": [ + "resource" + ], + "description": "Properties to update Azure Cosmos DB resource throughput." + }, + "UniqueKey": { + "type": "object", + "properties": { + "paths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of paths must be unique for each document in the Azure Cosmos DB service" + } + }, + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + }, + "UniqueKeyPolicy": { + "type": "object", + "properties": { + "uniqueKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service." + } + }, + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}." + }, + "ignoreMissingVNetServiceEndpoint": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Create firewall rule before the virtual network has vnet service endpoint enabled." + } + }, + "description": "Virtual Network ACL Rule object" + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index bcc1a50c27..c6c430cdb4 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -12265,6 +12265,102 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-03-01-preview/Microsoft.DocumentDB.json#/resourceDefinitions/mongoClusters_firewallRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/cassandraClusters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/cassandraClusters_dataCenters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_tables_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_cassandraKeyspaces_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_graphs" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_graphs_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_gremlinDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_collections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_collections_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbRoleDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_mongodbUserDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_notebookWorkspaces" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_clientEncryptionKeys" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_storedProcedures" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_triggers" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_containers_userDefinedFunctions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlDatabases_throughputSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlRoleAssignments" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_sqlRoleDefinitions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_tables" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-03-15/Microsoft.DocumentDB.json#/resourceDefinitions/databaseAccounts_tables_throughputSettings" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-04-01/Microsoft.DomainRegistration.json#/resourceDefinitions/domains" }, From 6911ca8d35fc4c93bc377796fa7d161b8c8f96f5 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Wed, 12 Apr 2023 09:50:03 +0000 Subject: [PATCH 26/30] Update resource list --- generator/resources.json | 96 ++++++++++++++++++++++++++-------------- 1 file changed, 64 insertions(+), 32 deletions(-) diff --git a/generator/resources.json b/generator/resources.json index ef69fb6a93..f14194f91d 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -4547,7 +4547,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/cassandraClusters/dataCenters": [ "2021-03-01-preview", @@ -4563,7 +4564,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts": [ "2015-04-01", @@ -4595,7 +4597,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/apis/databases": [ "2015-04-01", @@ -4720,7 +4723,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables": [ "2019-08-01", @@ -4747,7 +4751,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/tables/throughputSettings": [ "2019-08-01", @@ -4774,7 +4779,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/throughputSettings": [ "2019-08-01", @@ -4801,7 +4807,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views": [ "2021-07-01-preview", @@ -4867,7 +4874,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs": [ "2019-08-01", @@ -4894,7 +4902,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs/throughputSettings": [ "2019-08-01", @@ -4921,7 +4930,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings": [ "2019-08-01", @@ -4948,7 +4958,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases": [ "2019-08-01", @@ -4975,7 +4986,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections": [ "2019-08-01", @@ -5002,7 +5014,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections/throughputSettings": [ "2019-08-01", @@ -5029,7 +5042,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/throughputSettings": [ "2019-08-01", @@ -5056,7 +5070,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions": [ "2021-10-15-preview", @@ -5067,7 +5082,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions": [ "2021-10-15-preview", @@ -5078,7 +5094,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces": [ "2019-08-01", @@ -5105,7 +5122,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/privateEndpointConnections": [ "2019-08-01-preview", @@ -5127,7 +5145,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/services": [ "2021-04-01-preview", @@ -5141,7 +5160,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases": [ "2019-08-01", @@ -5168,7 +5188,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKeys": [ "2021-10-15-preview", @@ -5178,7 +5199,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers": [ "2019-08-01", @@ -5205,7 +5227,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/storedProcedures": [ "2019-08-01", @@ -5232,7 +5255,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/throughputSettings": [ "2019-08-01", @@ -5259,7 +5283,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers": [ "2019-08-01", @@ -5286,7 +5311,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/userDefinedFunctions": [ "2019-08-01", @@ -5313,7 +5339,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/throughputSettings": [ "2019-08-01", @@ -5340,7 +5367,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments": [ "2020-06-01-preview", @@ -5360,7 +5388,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions": [ "2020-06-01-preview", @@ -5380,7 +5409,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/tables": [ "2019-08-01", @@ -5407,7 +5437,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/databaseAccounts/tables/throughputSettings": [ "2019-08-01", @@ -5434,7 +5465,8 @@ "2022-08-15-preview", "2022-11-15", "2022-11-15-preview", - "2023-03-01-preview" + "2023-03-01-preview", + "2023-03-15" ], "Microsoft.DocumentDB/mongoClusters": [ "2023-03-01-preview" From 981e692594e7c62c91fd14909bdf778379f48e99 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 13 Apr 2023 09:58:10 +0000 Subject: [PATCH 27/30] Autogenerate schemas --- .../Microsoft.BotService.json | 18 +- .../Microsoft.BotService.json | 18 +- schemas/2022-09-15/Microsoft.BotService.json | 18 +- .../Microsoft.ContainerInstance.json | 1522 +++++++++++++++++ schemas/common/autogeneratedResources.json | 3 + 5 files changed, 1564 insertions(+), 15 deletions(-) create mode 100644 schemas/2023-05-01/Microsoft.ContainerInstance.json diff --git a/schemas/2021-05-01-preview/Microsoft.BotService.json b/schemas/2021-05-01-preview/Microsoft.BotService.json index 21275710d9..38d642f498 100644 --- a/schemas/2021-05-01-preview/Microsoft.BotService.json +++ b/schemas/2021-05-01-preview/Microsoft.BotService.json @@ -15,7 +15,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -132,7 +132,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -251,7 +251,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -657,7 +657,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -776,7 +776,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -1004,6 +1004,14 @@ "type": "string", "description": "Client Secret associated with the Connection Setting" }, + "id": { + "type": "string", + "description": "Id of the Connection Setting." + }, + "name": { + "type": "string", + "description": "Name of the Connection Setting." + }, "parameters": { "oneOf": [ { diff --git a/schemas/2022-06-15-preview/Microsoft.BotService.json b/schemas/2022-06-15-preview/Microsoft.BotService.json index bbbcd21046..1edc5bf124 100644 --- a/schemas/2022-06-15-preview/Microsoft.BotService.json +++ b/schemas/2022-06-15-preview/Microsoft.BotService.json @@ -15,7 +15,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -132,7 +132,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -251,7 +251,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -657,7 +657,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -776,7 +776,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -1004,6 +1004,14 @@ "type": "string", "description": "Client Secret associated with the Connection Setting" }, + "id": { + "type": "string", + "description": "Id of the Connection Setting." + }, + "name": { + "type": "string", + "description": "Name of the Connection Setting." + }, "parameters": { "oneOf": [ { diff --git a/schemas/2022-09-15/Microsoft.BotService.json b/schemas/2022-09-15/Microsoft.BotService.json index 313b291fa5..d0a3b5757b 100644 --- a/schemas/2022-09-15/Microsoft.BotService.json +++ b/schemas/2022-09-15/Microsoft.BotService.json @@ -15,7 +15,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -132,7 +132,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -251,7 +251,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -657,7 +657,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -776,7 +776,7 @@ }, "etag": { "type": "string", - "description": "Entity Tag" + "description": "Entity Tag." }, "kind": { "oneOf": [ @@ -1004,6 +1004,14 @@ "type": "string", "description": "Client Secret associated with the Connection Setting" }, + "id": { + "type": "string", + "description": "Id of the Connection Setting." + }, + "name": { + "type": "string", + "description": "Name of the Connection Setting." + }, "parameters": { "oneOf": [ { diff --git a/schemas/2023-05-01/Microsoft.ContainerInstance.json b/schemas/2023-05-01/Microsoft.ContainerInstance.json new file mode 100644 index 0000000000..ff1643723e --- /dev/null +++ b/schemas/2023-05-01/Microsoft.ContainerInstance.json @@ -0,0 +1,1522 @@ +{ + "id": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.ContainerInstance.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerInstance", + "description": "Microsoft ContainerInstance Resource Types", + "resourceDefinitions": { + "containerGroups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2023-05-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the container group." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "The name of the container group." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupPropertiesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container group properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerInstance/containerGroups" + ] + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The zones for the container group." + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerInstance/containerGroups" + } + }, + "definitions": { + "AzureFileVolume": { + "type": "object", + "properties": { + "readOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only." + }, + "shareName": { + "type": "string", + "description": "The name of the Azure File share to be mounted as a volume." + }, + "storageAccountKey": { + "type": "string", + "description": "The storage account access key used to access the Azure File share." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account that contains the Azure File share." + } + }, + "required": [ + "shareName", + "storageAccountName" + ], + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes." + }, + "ConfidentialComputeProperties": { + "type": "object", + "properties": { + "ccePolicy": { + "type": "string", + "description": "The base64 encoded confidential compute enforcement policy" + } + }, + "description": "The properties for confidential container group" + }, + "Container": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The user-provided name of the container instance." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container instance properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "A container instance." + }, + "ContainerExec": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The commands to execute within the container." + } + }, + "description": "The container execution command, for liveness or readiness probe" + }, + "ContainerGroupDiagnostics": { + "type": "object", + "properties": { + "logAnalytics": { + "oneOf": [ + { + "$ref": "#/definitions/LogAnalytics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container group log analytics information." + } + }, + "description": "Container group diagnostic information." + }, + "ContainerGroupIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the container group." + } + }, + "description": "Identity for the container group." + }, + "ContainerGroupPropertiesProperties": { + "type": "object", + "properties": { + "confidentialComputeProperties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfidentialComputeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties for confidential container group" + }, + "containers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Container" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The containers within the container group." + }, + "diagnostics": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerGroupDiagnostics" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Container group diagnostic information." + }, + "dnsConfig": { + "oneOf": [ + { + "$ref": "#/definitions/DnsConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS configuration for the container group." + }, + "encryptionProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container group encryption properties." + }, + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentExtensionSpec" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "extensions used by virtual kubelet" + }, + "imageRegistryCredentials": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image registry credentials by which the container group is created from." + }, + "initContainers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/InitContainerDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The init containers for a container group." + }, + "ipAddress": { + "oneOf": [ + { + "$ref": "#/definitions/IpAddress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address for the container group." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The operating system type required by the containers in the container group." + }, + "priority": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Regular", + "Spot" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The priority of the container group." + }, + "restartPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Always", + "OnFailure", + "Never" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n." + }, + "sku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Dedicated", + "Confidential" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU for a container group." + }, + "subnetIds": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerGroupSubnetId" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The subnet resource IDs for a container group." + }, + "volumes": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of volumes that can be mounted by containers in this container group." + } + }, + "required": [ + "containers", + "osType" + ], + "description": "The container group properties" + }, + "ContainerGroupSubnetId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID of virtual network and subnet." + }, + "name": { + "type": "string", + "description": "Friendly name for the subnet." + } + }, + "required": [ + "id" + ], + "description": "Container group subnet information." + }, + "ContainerHttpGet": { + "type": "object", + "properties": { + "httpHeaders": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The HTTP headers." + }, + "path": { + "type": "string", + "description": "The path to probe." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number to probe." + }, + "scheme": { + "oneOf": [ + { + "type": "string", + "enum": [ + "http", + "https" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The scheme." + } + }, + "required": [ + "port" + ], + "description": "The container Http Get settings, for liveness or readiness probe" + }, + "ContainerPort": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number exposed within the container group." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol associated with the port." + } + }, + "required": [ + "port" + ], + "description": "The port exposed on the container instance." + }, + "ContainerProbe": { + "type": "object", + "properties": { + "exec": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerExec" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container execution command, for liveness or readiness probe" + }, + "failureThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The failure threshold." + }, + "httpGet": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerHttpGet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container Http Get settings, for liveness or readiness probe" + }, + "initialDelaySeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The initial delay seconds." + }, + "periodSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The period seconds." + }, + "successThreshold": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The success threshold." + }, + "timeoutSeconds": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The timeout seconds." + } + }, + "description": "The container probe, for liveness or readiness" + }, + "ContainerProperties": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The commands to execute within the container instance in exec form." + }, + "environmentVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The environment variables to set in the container instance." + }, + "image": { + "type": "string", + "description": "The name of the image used to create the container instance." + }, + "livenessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProbe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container probe, for liveness or readiness" + }, + "ports": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerPort" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The exposed ports on the container instance." + }, + "readinessProbe": { + "oneOf": [ + { + "$ref": "#/definitions/ContainerProbe" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The container probe, for liveness or readiness" + }, + "resources": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRequirements" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource requirements." + }, + "securityContext": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityContextDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security context for the container." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume mounts available to the container instance." + } + }, + "required": [ + "image", + "resources" + ], + "description": "The container instance properties." + }, + "DeploymentExtensionSpec": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DeploymentExtensionSpecProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extension specific properties" + } + }, + "required": [ + "name" + ], + "description": "Extension sidecars to be added to the deployment." + }, + "DeploymentExtensionSpecProperties": { + "type": "object", + "properties": { + "extensionType": { + "type": "string", + "description": "Type of extension to be added." + }, + "protectedSettings": { + "type": "object", + "properties": {}, + "description": "Protected settings for the extension." + }, + "settings": { + "type": "object", + "properties": {}, + "description": "Settings for the extension." + }, + "version": { + "type": "string", + "description": "Version of the extension being used." + } + }, + "required": [ + "extensionType", + "version" + ], + "description": "Extension specific properties" + }, + "DnsConfiguration": { + "type": "object", + "properties": { + "nameServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The DNS servers for the container group." + }, + "options": { + "type": "string", + "description": "The DNS options for the container group." + }, + "searchDomains": { + "type": "string", + "description": "The DNS search domains for hostname lookup in the container group." + } + }, + "required": [ + "nameServers" + ], + "description": "DNS configuration for the container group." + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The keyvault managed identity." + }, + "keyName": { + "type": "string", + "description": "The encryption key name." + }, + "keyVersion": { + "type": "string", + "description": "The encryption key version." + }, + "vaultBaseUrl": { + "type": "string", + "description": "The keyvault base url." + } + }, + "required": [ + "keyName", + "keyVersion", + "vaultBaseUrl" + ], + "description": "The container group encryption properties." + }, + "EnvironmentVariable": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable." + }, + "secureValue": { + "type": "string", + "description": "The value of the secure environment variable." + }, + "value": { + "type": "string", + "description": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "description": "The environment variable to set within the container instance." + }, + "GitRepoVolume": { + "type": "object", + "properties": { + "directory": { + "type": "string", + "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name." + }, + "repository": { + "type": "string", + "description": "Repository URL" + }, + "revision": { + "type": "string", + "description": "Commit hash for the specified revision." + } + }, + "required": [ + "repository" + ], + "description": "Represents a volume that is populated with the contents of a git repository" + }, + "GpuResource": { + "type": "object", + "properties": { + "count": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The count of the GPU resource." + }, + "sku": { + "oneOf": [ + { + "type": "string", + "enum": [ + "K80", + "P100", + "V100" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the GPU resource." + } + }, + "required": [ + "count", + "sku" + ], + "description": "The GPU resource." + }, + "HttpHeader": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header name." + }, + "value": { + "type": "string", + "description": "The header value." + } + }, + "description": "The HTTP header." + }, + "ImageRegistryCredential": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The identity for the private registry." + }, + "identityUrl": { + "type": "string", + "description": "The identity URL for the private registry." + }, + "password": { + "type": "string", + "description": "The password for the private registry." + }, + "server": { + "type": "string", + "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + } + }, + "required": [ + "server" + ], + "description": "Image registry credential." + }, + "InitContainerDefinition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name for the init container." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/InitContainerPropertiesDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The init container definition properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The init container definition." + }, + "InitContainerPropertiesDefinition": { + "type": "object", + "properties": { + "command": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The command to execute within the init container in exec form." + }, + "environmentVariables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The environment variables to set in the init container." + }, + "image": { + "type": "string", + "description": "The image of the init container." + }, + "securityContext": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityContextDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security context for the container." + }, + "volumeMounts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The volume mounts available to the init container." + } + }, + "description": "The init container definition properties." + }, + "IpAddress": { + "type": "object", + "properties": { + "autoGeneratedDomainNameLabelScope": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unsecure", + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "Noreuse" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant." + }, + "dnsNameLabel": { + "type": "string", + "description": "The Dns name label for the IP." + }, + "ip": { + "type": "string", + "description": "The IP exposed to the public internet." + }, + "ports": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Port" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of ports exposed on the container group." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Public", + "Private" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies if the IP is exposed to the public internet or private VNET." + } + }, + "required": [ + "ports", + "type" + ], + "description": "IP address for the container group." + }, + "LogAnalytics": { + "type": "object", + "properties": { + "logType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ContainerInsights", + "ContainerInstanceLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The log type to be used." + }, + "metadata": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata for log analytics." + }, + "workspaceId": { + "type": "string", + "description": "The workspace id for log analytics" + }, + "workspaceKey": { + "type": "string", + "description": "The workspace key for log analytics" + }, + "workspaceResourceId": { + "type": "string", + "description": "The workspace resource id for log analytics" + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ], + "description": "Container group log analytics information." + }, + "Port": { + "type": "object", + "properties": { + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The port number." + }, + "protocol": { + "oneOf": [ + { + "type": "string", + "enum": [ + "TCP", + "UDP" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The protocol associated with the port." + } + }, + "required": [ + "port" + ], + "description": "The port exposed on the container group." + }, + "ResourceLimits": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CPU limit of this container instance." + }, + "gpu": { + "oneOf": [ + { + "$ref": "#/definitions/GpuResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The GPU resource." + }, + "memoryInGB": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The memory limit in GB of this container instance." + } + }, + "description": "The resource limits." + }, + "ResourceRequests": { + "type": "object", + "properties": { + "cpu": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The CPU request of this container instance." + }, + "gpu": { + "oneOf": [ + { + "$ref": "#/definitions/GpuResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The GPU resource." + }, + "memoryInGB": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The memory request in GB of this container instance." + } + }, + "required": [ + "cpu", + "memoryInGB" + ], + "description": "The resource requests." + }, + "ResourceRequirements": { + "type": "object", + "properties": { + "limits": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceLimits" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource limits." + }, + "requests": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceRequests" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource requests." + } + }, + "required": [ + "requests" + ], + "description": "The resource requirements." + }, + "SecurityContextCapabilitiesDefinition": { + "type": "object", + "properties": { + "add": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capabilities to add to the container." + }, + "drop": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capabilities to drop from the container." + } + }, + "description": "The capabilities to add or drop from a container." + }, + "SecurityContextDefinition": { + "type": "object", + "properties": { + "allowPrivilegeEscalation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value indicating whether the init process can elevate its privileges" + }, + "capabilities": { + "oneOf": [ + { + "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capabilities to add or drop from a container." + }, + "privileged": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag to determine if the container permissions is elevated to Privileged." + }, + "runAsGroup": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the User GID for the container." + }, + "runAsUser": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sets the User UID for the container." + }, + "seccompProfile": { + "type": "string", + "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile" + } + }, + "description": "The security context for the container." + }, + "UserAssignedIdentities": { + "type": "object", + "properties": {}, + "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + }, + "Volume": { + "type": "object", + "properties": { + "azureFile": { + "oneOf": [ + { + "$ref": "#/definitions/AzureFileVolume" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes." + }, + "emptyDir": { + "type": "object", + "properties": {}, + "description": "The empty directory volume." + }, + "gitRepo": { + "oneOf": [ + { + "$ref": "#/definitions/GitRepoVolume" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents a volume that is populated with the contents of a git repository" + }, + "name": { + "type": "string", + "description": "The name of the volume." + }, + "secret": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The secret volume." + } + }, + "required": [ + "name" + ], + "description": "The properties of the volume." + }, + "VolumeMount": { + "type": "object", + "properties": { + "mountPath": { + "type": "string", + "description": "The path within the container where the volume should be mounted. Must not contain colon (:)." + }, + "name": { + "type": "string", + "description": "The name of the volume mount." + }, + "readOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The flag indicating whether the volume mount is read-only." + } + }, + "required": [ + "mountPath", + "name" + ], + "description": "The properties of the volume mount." + } + } +} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index c6c430cdb4..cff5f5c580 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -6151,6 +6151,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" }, + { + "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-06-27-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" }, From 4a14e4fc936f2c13ebdb0db350d532ce1c077e96 Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Thu, 13 Apr 2023 09:58:45 +0000 Subject: [PATCH 28/30] Update resource list --- generator/resources.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generator/resources.json b/generator/resources.json index f14194f91d..77d735cb83 100644 --- a/generator/resources.json +++ b/generator/resources.json @@ -2843,7 +2843,8 @@ "2021-10-01", "2022-09-01", "2022-10-01-preview", - "2023-02-01-preview" + "2023-02-01-preview", + "2023-05-01" ], "Microsoft.ContainerRegistry/registries": [ "2016-06-27-preview", From f026f8f1d6b5270b57c9272115ce39790428e8ed Mon Sep 17 00:00:00 2001 From: Autogenerator Pipeline Date: Fri, 14 Apr 2023 09:44:35 +0000 Subject: [PATCH 29/30] Autogenerate schemas --- schemas/2023-02-01-preview/Microsoft.Elastic.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/schemas/2023-02-01-preview/Microsoft.Elastic.json b/schemas/2023-02-01-preview/Microsoft.Elastic.json index 484d07abb5..554646e118 100644 --- a/schemas/2023-02-01-preview/Microsoft.Elastic.json +++ b/schemas/2023-02-01-preview/Microsoft.Elastic.json @@ -360,6 +360,17 @@ ], "description": "Elastic Resource Properties." }, + "generateApiKey": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag to determine if User API Key has to be generated and shared." + }, "liftrResourceCategory": { "oneOf": [ { From a51f973bc288c9e469c6fc4e5c06d581b4748785 Mon Sep 17 00:00:00 2001 From: Gokul Premraj Date: Fri, 14 Apr 2023 16:17:00 -0400 Subject: [PATCH 30/30] fix failing tests --- schemas/common/autogeneratedResources.json | 300 +++++++++++++++++++++ 1 file changed, 300 insertions(+) diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index cff5f5c580..dc4708cefe 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -4678,6 +4678,303 @@ { "$ref": "https://schema.management.azure.com/schemas/2022-06-01/Microsoft.Cache.json#/resourceDefinitions/redis_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2015-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2016-10-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-04-02/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-10-12/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-06-15-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-12-31/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-04-15/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/CdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-09-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2021-06-01/Microsoft.Cdn.json#/resourceDefinitions/profiles_securityPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/cdnWebApplicationFirewallPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_afdEndpoints_routes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_customDomains" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_endpoints_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_originGroups_origins" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_ruleSets_rules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-05-01-preview/Microsoft.Cdn.json#/resourceDefinitions/profiles_secrets" + }, + { + "$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" }, @@ -9241,6 +9538,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-01-01-preview/Microsoft.DevCenter.json#/resourceDefinitions/projects_pools_schedules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2022-04-01-preview/Microsoft.DevHub.json#/resourceDefinitions/workflows" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-02-03/Microsoft.Devices.json#/resourceDefinitions/IotHubs" },