diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json index e7efa8586d..8ef175f149 100644 --- a/schemas/2014-04-01-preview/deploymentTemplate.json +++ b/schemas/2014-04-01-preview/deploymentTemplate.json @@ -1843,6 +1843,8 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_groups_assessments" }, { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_hypervcollectors" }, { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_vmwarecollectors" }, + { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections" }, + { "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections_moveResources" }, { "$ref": "https://schema.management.azure.com/schemas/2019-03-01/Microsoft.Insights.json#/resourceDefinitions/actionGroups" }, { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationAssignments" }, { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.ManagedServices.json#/resourceDefinitions/registrationDefinitions" }, diff --git a/schemas/2015-01-01/Microsoft.Authorization.json b/schemas/2015-01-01/Microsoft.Authorization.json index 947bc3d42a..b1f0494ccc 100644 --- a/schemas/2015-01-01/Microsoft.Authorization.json +++ b/schemas/2015-01-01/Microsoft.Authorization.json @@ -1,70 +1,157 @@ { - "id": "https://schema.management.azure.com/schemas/2015-01-01/Microsoft.Authorization.json", + "id": "https://schema.management.azure.com/schemas/2015-01-01/Microsoft.Authorization.json#", "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", - "description": "Microsoft Microsoft.Authorization Resource Types", + "description": "Microsoft Authorization Resource Types", "resourceDefinitions": { "locks": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-01-01" + ] + }, + "name": { + "type": "string", + "description": "The lock name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The management lock properties." + }, "type": { + "type": "string", "enum": [ "Microsoft.Authorization/locks" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/locks" + } + }, + "subscription_resourceDefinitions": { + "locks": { + "type": "object", + "properties": { "apiVersion": { + "type": "string", "enum": [ "2015-01-01" ] }, "name": { "type": "string", - "minLength": 1, - "maxLength": 64, - "description": "Name of the lock" - }, - "dependsOn": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Collection of resources this resource depends on" + "description": "The name of lock." }, "properties": { - "type": "object", - "properties": { - "level": { - "oneOf": [ - { - "enum": [ - "CannotDelete", - "ReadOnly" - ] - }, - { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - ] - , - "description": "Microsoft.Authorization/locks: level - specifies the type of lock to apply to the scope. CanNotDelete allows modification but prevents deletion, ReadOnly prevents modification or deletion." + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" }, - "notes": { - "type": "string", - "minLength": 1, - "maxLength": 512, - "description": "Microsoft.Authorization/locks: notes - user defined notes for the lock" + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - }, - "required": [ - "level" + ], + "description": "The management lock properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/locks" ] } }, "required": [ + "apiVersion", "name", - "type", + "properties", + "type" + ], + "description": "Microsoft.Authorization/locks" + } + }, + "extension_resourceDefinitions": { + "locks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-01-01" + ] + }, + "name": { + "type": "string", + "description": "The name of lock." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The management lock properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/locks" + ] + } + }, + "required": [ "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/locks resource" + "description": "Microsoft.Authorization/locks" + } + }, + "definitions": { + "ManagementLockProperties": { + "type": "object", + "properties": { + "level": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "CanNotDelete", + "ReadOnly" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lock level of the management lock." + }, + "notes": { + "type": "string", + "description": "The notes of the management lock." + } + }, + "description": "The management lock properties." } } -} \ No newline at end of file +} diff --git a/schemas/2015-10-01-preview/Microsoft.Authorization.json b/schemas/2015-10-01-preview/Microsoft.Authorization.json new file mode 100644 index 0000000000..f477dd556b --- /dev/null +++ b/schemas/2015-10-01-preview/Microsoft.Authorization.json @@ -0,0 +1,148 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-10-01-preview/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policydefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policydefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policydefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyassignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-10-01-preview" + ] + }, + "id": { + "type": "string", + "description": "The ID of the policy assignment." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyassignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyassignments" + } + }, + "definitions": { + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + } + }, + "description": "The policy definition properties." + } + } +} diff --git a/schemas/2015-11-01/Microsoft.Authorization.json b/schemas/2015-11-01/Microsoft.Authorization.json new file mode 100644 index 0000000000..dc556d460e --- /dev/null +++ b/schemas/2015-11-01/Microsoft.Authorization.json @@ -0,0 +1,128 @@ +{ + "id": "https://schema.management.azure.com/schemas/2015-11-01/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policydefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-11-01" + ] + }, + "name": { + "type": "string", + "description": "The policy definition name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policydefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policydefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2015-11-01" + ] + }, + "name": { + "type": "string", + "description": "Policy assignment name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyAssignments" + } + }, + "definitions": { + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Gets or sets the policy assignment display name." + }, + "policyDefinitionId": { + "type": "string", + "description": "Gets or sets the policy definition Id." + }, + "scope": { + "type": "string", + "description": "Gets or sets the policy assignment scope." + } + }, + "description": "Policy Assignment properties." + }, + "PolicyDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the policy definition description." + }, + "displayName": { + "type": "string", + "description": "Gets or sets the policy definition display name." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule json." + } + }, + "description": "Policy definition properties." + } + } +} diff --git a/schemas/2015-11-01/Microsoft.Resources.json b/schemas/2015-11-01/Microsoft.Resources.json index 406b159134..8fcfb86f2b 100644 --- a/schemas/2015-11-01/Microsoft.Resources.json +++ b/schemas/2015-11-01/Microsoft.Resources.json @@ -133,4 +133,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2016-02-01/Microsoft.Resources.json b/schemas/2016-02-01/Microsoft.Resources.json index 1a2419f011..4cd8b2b66a 100644 --- a/schemas/2016-02-01/Microsoft.Resources.json +++ b/schemas/2016-02-01/Microsoft.Resources.json @@ -155,4 +155,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2016-04-01/Microsoft.Authorization.json b/schemas/2016-04-01/Microsoft.Authorization.json new file mode 100644 index 0000000000..8401273704 --- /dev/null +++ b/schemas/2016-04-01/Microsoft.Authorization.json @@ -0,0 +1,148 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-04-01/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policydefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policydefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policydefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyassignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-04-01" + ] + }, + "id": { + "type": "string", + "description": "The ID of the policy assignment." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyassignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyassignments" + } + }, + "definitions": { + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + } + }, + "description": "The policy definition properties." + } + } +} diff --git a/schemas/2016-07-01/Microsoft.Resources.json b/schemas/2016-07-01/Microsoft.Resources.json index 17b4f23270..de0360e2fc 100644 --- a/schemas/2016-07-01/Microsoft.Resources.json +++ b/schemas/2016-07-01/Microsoft.Resources.json @@ -155,4 +155,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2016-09-01-preview/Microsoft.Solutions.json b/schemas/2016-09-01-preview/Microsoft.Solutions.json index 855b34c845..a958fa6fe4 100644 --- a/schemas/2016-09-01-preview/Microsoft.Solutions.json +++ b/schemas/2016-09-01-preview/Microsoft.Solutions.json @@ -7,18 +7,37 @@ "applianceDefinitions": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Solutions/applianceDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-09-01-preview" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the appliance definition." + }, "properties": { "oneOf": [ { @@ -29,30 +48,105 @@ } ], "description": "The appliance definition properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applianceDefinitions" + ] } }, "required": [ - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Solutions/applianceDefinitions" }, "appliances": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "Microsoft.Solutions/appliances" - ] - }, "apiVersion": { "type": "string", "enum": [ "2016-09-01-preview" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the appliance. Allowed values are MarketPlace and ServiceCatalog." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the appliance." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan for the appliance." + }, "properties": { "oneOf": [ { @@ -64,34 +158,44 @@ ], "description": "The appliance properties." }, - "plan": { + "sku": { "oneOf": [ { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/resourcePlan" + "$ref": "#/definitions/Sku" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The plan information." + "description": "SKU for the resource." }, - "kind": { + "tags": { "oneOf": [ { - "type": "string", - "pattern": "^[-\\w\\._,\\(\\)]+$" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The kind of the appliance. Allowed values are MarketPlace and ServiceCatalog." + "description": "Resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Solutions/appliances" + ] } }, "required": [ - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Solutions/appliances" } @@ -104,17 +208,24 @@ "type": "string", "description": "The appliance artifact name." }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Template", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The appliance artifact type." + }, "uri": { "type": "string", "description": "The appliance artifact blob uri." - }, - "type": { - "type": "string", - "enum": [ - "Template", - "Custom" - ], - "description": "The the appliance artifact type." } }, "description": "Appliance artifact." @@ -122,25 +233,19 @@ "ApplianceDefinitionProperties": { "type": "object", "properties": { - "lockLevel": { + "artifacts": { "oneOf": [ { - "type": "string", - "enum": [ - "CanNotDelete", - "ReadOnly", - "None" - ] + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceArtifact" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The appliance lock level." - }, - "displayName": { - "type": "string", - "description": "The appliance definition display name." + "description": "The collection of appliance artifacts. The portal will use the files specified as artifacts to construct the user experience of creating an appliance from an appliance definition." }, "authorizations": { "oneOf": [ @@ -156,23 +261,29 @@ ], "description": "The appliance provider authorizations." }, - "artifacts": { + "description": { + "type": "string", + "description": "The appliance definition description." + }, + "displayName": { + "type": "string", + "description": "The appliance definition display name." + }, + "lockLevel": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/ApplianceArtifact" - } + "type": "string", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The collection of appliance artifacts. The portal will use the files specified as artifacts to construct the user experience of creating an appliance from an appliance definition." - }, - "description": { - "type": "string", - "description": "The appliance definition description." + "description": "The appliance lock level." }, "packageFileUri": { "type": "string", @@ -180,8 +291,8 @@ } }, "required": [ - "lockLevel", "authorizations", + "lockLevel", "packageFileUri" ], "description": "The appliance definition properties." @@ -189,23 +300,17 @@ "ApplianceProperties": { "type": "object", "properties": { - "managedResourceGroupId": { - "type": "string", - "description": "The managed resource group Id." - }, "applianceDefinitionId": { "type": "string", "description": "The fully qualified path of appliance definition Id." }, + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, "parameters": { - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], + "type": "object", + "properties": {}, "description": "Name and value pairs that define the appliance parameters. It can be a JObject or a well formed JSON string." }, "uiDefinitionUri": { @@ -235,6 +340,98 @@ "roleDefinitionId" ], "description": "The appliance provider authorization." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + } + }, + "description": "Identity for the resource." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "product", + "publisher", + "version" + ], + "description": "Plan for the appliance." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU capacity." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "name": { + "type": "string", + "description": "The SKU name." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." } } } diff --git a/schemas/2016-09-01/Microsoft.Authorization.json b/schemas/2016-09-01/Microsoft.Authorization.json index 654927786b..88962ee940 100644 --- a/schemas/2016-09-01/Microsoft.Authorization.json +++ b/schemas/2016-09-01/Microsoft.Authorization.json @@ -7,18 +7,98 @@ "locks": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-09-01" + ] + }, + "name": { + "type": "string", + "description": "The lock name. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any control characters." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lock properties." + }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/locks" ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/locks" + } + }, + "subscription_resourceDefinitions": { + "locks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-09-01" + ] + }, + "name": { + "type": "string", + "description": "The name of lock. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any control characters." }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lock properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/locks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/locks" + } + }, + "extension_resourceDefinitions": { + "locks": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2016-09-01" ] }, + "name": { + "type": "string", + "description": "The name of lock. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any control characters." + }, "properties": { "oneOf": [ { @@ -28,22 +108,76 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties of the lock." + "description": "The lock properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/locks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/locks" + } + }, + "unknown_resourceDefinitions": { + "locks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-09-01" + ] }, "name": { "type": "string", - "description": "The name of the lock." + "description": "The name of lock." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ManagementLockProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The lock properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/locks" + ] } }, "required": [ - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/locks" } }, "definitions": { + "ManagementLockOwner": { + "type": "object", + "properties": { + "applicationId": { + "type": "string", + "description": "The application ID of the lock owner." + } + }, + "description": "Lock owner properties." + }, "ManagementLockProperties": { "type": "object", "properties": { @@ -61,17 +195,31 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The lock level of the management lock." + "description": "The level of the lock. Possible values are: NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it." }, "notes": { "type": "string", - "description": "The notes of the management lock." + "description": "Notes about the lock. Maximum of 512 characters." + }, + "owners": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementLockOwner" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The owners of the lock." } }, "required": [ "level" ], - "description": "The management lock properties." + "description": "The lock properties." } } } diff --git a/schemas/2016-09-01/Microsoft.Resources.json b/schemas/2016-09-01/Microsoft.Resources.json index 31de15cc8d..cbc8b262a7 100644 --- a/schemas/2016-09-01/Microsoft.Resources.json +++ b/schemas/2016-09-01/Microsoft.Resources.json @@ -165,4 +165,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2016-12-01/Microsoft.Authorization.json b/schemas/2016-12-01/Microsoft.Authorization.json new file mode 100644 index 0000000000..d44ce9d51d --- /dev/null +++ b/schemas/2016-12-01/Microsoft.Authorization.json @@ -0,0 +1,220 @@ +{ + "id": "https://schema.management.azure.com/schemas/2016-12-01/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + } + }, + "managementGroup_resourceDefinitions": { + "policyDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2016-12-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyAssignments" + } + }, + "definitions": { + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Indexed", + "All" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + } + }, + "description": "The policy definition properties." + } + } +} diff --git a/schemas/2017-05-10/Microsoft.Resources.json b/schemas/2017-05-10/Microsoft.Resources.json index 3ae4dfe7f8..31ec18bb85 100644 --- a/schemas/2017-05-10/Microsoft.Resources.json +++ b/schemas/2017-05-10/Microsoft.Resources.json @@ -43,12 +43,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -171,4 +165,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2017-06-01-preview/Microsoft.Authorization.json b/schemas/2017-06-01-preview/Microsoft.Authorization.json new file mode 100644 index 0000000000..a83ab57af7 --- /dev/null +++ b/schemas/2017-06-01-preview/Microsoft.Authorization.json @@ -0,0 +1,278 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-06-01-preview/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-06-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyAssignments" + } + }, + "definitions": { + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata." + }, + "notScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy's excluded scopes." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionReference": { + "type": "object", + "properties": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition." + } + }, + "description": "The policy definition reference." + }, + "PolicySetDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy set definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy set definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy set definition metadata." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "The policy set definition parameters that can be used in policy definition references." + }, + "policyDefinitions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + } + }, + "required": [ + "policyDefinitions" + ], + "description": "The policy set definition properties." + }, + "PolicySku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the policy sku. Possible values are A0 and A1." + }, + "tier": { + "type": "string", + "description": "The policy sku tier. Possible values are Free and Standard." + } + }, + "required": [ + "name" + ], + "description": "The policy sku." + } + } +} diff --git a/schemas/2017-09-01/Microsoft.Solutions.json b/schemas/2017-09-01/Microsoft.Solutions.json new file mode 100644 index 0000000000..6ce08a672d --- /dev/null +++ b/schemas/2017-09-01/Microsoft.Solutions.json @@ -0,0 +1,451 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-09-01/Microsoft.Solutions.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Solutions", + "description": "Microsoft Solutions Resource Types", + "resourceDefinitions": { + "applicationDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-09-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applicationDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applicationDefinitions" + }, + "applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-09-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan for the managed application." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applications" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applications" + } + }, + "definitions": { + "ApplicationArtifact": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The managed application artifact name." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Template", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application artifact type." + }, + "uri": { + "type": "string", + "description": "The managed application artifact blob uri." + } + }, + "description": "Managed application artifact." + }, + "ApplicationDefinitionProperties": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationArtifact" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition." + }, + "authorizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationProviderAuthorization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider authorizations." + }, + "createUiDefinition": { + "type": "object", + "properties": {}, + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "type": "string", + "description": "A value indicating whether the package is enabled or not." + }, + "lockLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application lock level." + }, + "mainTemplate": { + "type": "object", + "properties": {}, + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + } + }, + "required": [ + "authorizations", + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + }, + "uiDefinitionUri": { + "type": "string", + "description": "The blob URI where the UI definition file is located." + } + }, + "required": [ + "managedResourceGroupId" + ], + "description": "The managed application properties." + }, + "ApplicationProviderAuthorization": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + } + }, + "description": "Identity for the resource." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "product", + "publisher", + "version" + ], + "description": "Plan for the managed application." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU capacity." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "name": { + "type": "string", + "description": "The SKU name." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + } + } +} diff --git a/schemas/2018-02-01/Microsoft.Resources.json b/schemas/2018-02-01/Microsoft.Resources.json index 7ba72fdd5a..359bd1a589 100644 --- a/schemas/2018-02-01/Microsoft.Resources.json +++ b/schemas/2018-02-01/Microsoft.Resources.json @@ -43,12 +43,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -207,4 +201,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2018-03-01/Microsoft.Authorization.json b/schemas/2018-03-01/Microsoft.Authorization.json index 1a244a42ab..99aadbe8a0 100644 --- a/schemas/2018-03-01/Microsoft.Authorization.json +++ b/schemas/2018-03-01/Microsoft.Authorization.json @@ -3,74 +3,101 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", "description": "Microsoft Authorization Resource Types", - "resourceDefinitions": { - "policyAssignments": { + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-03-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicyAssignmentProperties" + "$ref": "#/definitions/PolicyDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for the policy assignment." + "description": "The policy definition properties." }, - "sku": { + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySku" + "$ref": "#/definitions/PolicySetDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy sku. This property is optional, obsolete, and will be ignored." + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policyAssignments" - }, + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-03-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { @@ -81,70 +108,130 @@ } ], "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/policyDefinitions" }, "policySetDefinitions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/policySetDefinitions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2018-03-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySetDefinitionProperties" + "$ref": "#/definitions/PolicyAssignmentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition properties." + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policySetDefinitions" + "description": "Microsoft.Authorization/policyAssignments" } }, "definitions": { "PolicyAssignmentProperties": { "type": "object", "properties": { - "displayName": { + "description": { "type": "string", - "description": "The display name of the policy assignment." + "description": "This message will be part of response in case of policy violation." }, - "policyDefinitionId": { + "displayName": { "type": "string", - "description": "The ID of the policy definition or policy set definition being assigned." + "description": "The display name of the policy assignment." }, - "scope": { - "type": "string", - "description": "The scope for the policy assignment." + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata." }, "notScopes": { "oneOf": [ @@ -161,14 +248,17 @@ "description": "The policy's excluded scopes." }, "parameters": { + "type": "object", + "properties": {}, "description": "Required if a parameter is used in policy rule." }, - "description": { + "policyDefinitionId": { "type": "string", - "description": "This message will be part of response in case of policy violation." + "description": "The ID of the policy definition or policy set definition being assigned." }, - "metadata": { - "description": "The policy assignment metadata." + "scope": { + "type": "string", + "description": "The scope for the policy assignment." } }, "description": "The policy assignment properties." @@ -176,54 +266,60 @@ "PolicyDefinitionProperties": { "type": "object", "properties": { - "policyType": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata." + }, + "mode": { "oneOf": [ { "type": "string", "enum": [ "NotSpecified", - "BuiltIn", - "Custom" + "Indexed", + "All" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All." }, - "mode": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { "oneOf": [ { "type": "string", "enum": [ "NotSpecified", - "Indexed", - "All" + "BuiltIn", + "Custom" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All." - }, - "displayName": { - "type": "string", - "description": "The display name of the policy definition." - }, - "description": { - "type": "string", - "description": "The policy definition description." - }, - "policyRule": { - "description": "The policy rule." - }, - "metadata": { - "description": "The policy definition metadata." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "description": "The policy definition properties." @@ -231,12 +327,14 @@ "PolicyDefinitionReference": { "type": "object", "properties": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, "description": "The policy definition reference." @@ -244,34 +342,22 @@ "PolicySetDefinitionProperties": { "type": "object", "properties": { - "policyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "NotSpecified", - "BuiltIn", - "Custom" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": { + "type": "string", + "description": "The policy set definition description." }, "displayName": { "type": "string", "description": "The display name of the policy set definition." }, - "description": { - "type": "string", - "description": "The policy set definition description." - }, "metadata": { + "type": "object", + "properties": {}, "description": "The policy set definition metadata." }, "parameters": { + "type": "object", + "properties": {}, "description": "The policy set definition parameters that can be used in policy definition references." }, "policyDefinitions": { @@ -287,6 +373,22 @@ } ], "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "required": [ diff --git a/schemas/2018-05-01/Microsoft.Authorization.json b/schemas/2018-05-01/Microsoft.Authorization.json index 5bf6770ea9..3ce5cfb9a9 100644 --- a/schemas/2018-05-01/Microsoft.Authorization.json +++ b/schemas/2018-05-01/Microsoft.Authorization.json @@ -3,89 +3,101 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", "description": "Microsoft Authorization Resource Types", - "resourceDefinitions": { - "policyAssignments": { + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-05-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicyAssignmentProperties" + "$ref": "#/definitions/PolicyDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for the policy assignment." + "description": "The policy definition properties." }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/PolicySku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy sku. This property is optional, obsolete, and will be ignored." + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-05-01" + ] }, - "location": { + "name": { "type": "string", - "description": "The location of the policy assignment. Only required when utilizing managed identity." + "description": "The name of the policy set definition to create." }, - "identity": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "$ref": "#/definitions/PolicySetDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed identity associated with the policy assignment." + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policyAssignments" - }, + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2018-05-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { @@ -96,53 +108,127 @@ } ], "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/policyDefinitions" }, "policySetDefinitions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-05-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/policySetDefinitions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2018-05-01" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$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 policy assignment. Only required when utilizing managed identity." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySetDefinitionProperties" + "$ref": "#/definitions/PolicyAssignmentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition properties." + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policySetDefinitions" + "description": "Microsoft.Authorization/policyAssignments" } }, "definitions": { @@ -150,10 +236,17 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The identity type." } @@ -163,17 +256,18 @@ "PolicyAssignmentProperties": { "type": "object", "properties": { - "displayName": { + "description": { "type": "string", - "description": "The display name of the policy assignment." + "description": "This message will be part of response in case of policy violation." }, - "policyDefinitionId": { + "displayName": { "type": "string", - "description": "The ID of the policy definition or policy set definition being assigned." + "description": "The display name of the policy assignment." }, - "scope": { - "type": "string", - "description": "The scope for the policy assignment." + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata." }, "notScopes": { "oneOf": [ @@ -190,14 +284,17 @@ "description": "The policy's excluded scopes." }, "parameters": { + "type": "object", + "properties": {}, "description": "Required if a parameter is used in policy rule." }, - "description": { + "policyDefinitionId": { "type": "string", - "description": "This message will be part of response in case of policy violation." + "description": "The ID of the policy definition or policy set definition being assigned." }, - "metadata": { - "description": "The policy assignment metadata." + "scope": { + "type": "string", + "description": "The scope for the policy assignment." } }, "description": "The policy assignment properties." @@ -205,54 +302,60 @@ "PolicyDefinitionProperties": { "type": "object", "properties": { - "policyType": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata." + }, + "mode": { "oneOf": [ { "type": "string", "enum": [ "NotSpecified", - "BuiltIn", - "Custom" + "Indexed", + "All" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All." }, - "mode": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { "oneOf": [ { "type": "string", "enum": [ "NotSpecified", - "Indexed", - "All" + "BuiltIn", + "Custom" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition mode. Possible values are NotSpecified, Indexed, and All." - }, - "displayName": { - "type": "string", - "description": "The display name of the policy definition." - }, - "description": { - "type": "string", - "description": "The policy definition description." - }, - "policyRule": { - "description": "The policy rule." - }, - "metadata": { - "description": "The policy definition metadata." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "description": "The policy definition properties." @@ -260,12 +363,14 @@ "PolicyDefinitionReference": { "type": "object", "properties": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, "description": "The policy definition reference." @@ -273,34 +378,22 @@ "PolicySetDefinitionProperties": { "type": "object", "properties": { - "policyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "NotSpecified", - "BuiltIn", - "Custom" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": { + "type": "string", + "description": "The policy set definition description." }, "displayName": { "type": "string", "description": "The display name of the policy set definition." }, - "description": { - "type": "string", - "description": "The policy set definition description." - }, "metadata": { + "type": "object", + "properties": {}, "description": "The policy set definition metadata." }, "parameters": { + "type": "object", + "properties": {}, "description": "The policy set definition parameters that can be used in policy definition references." }, "policyDefinitions": { @@ -316,6 +409,22 @@ } ], "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "required": [ diff --git a/schemas/2018-05-01/Microsoft.Resources.json b/schemas/2018-05-01/Microsoft.Resources.json index 128c265d07..e7f091d50e 100644 --- a/schemas/2018-05-01/Microsoft.Resources.json +++ b/schemas/2018-05-01/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2018-05-01" - ] - }, - "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" } }, "definitions": { @@ -331,4 +260,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2018-06-01/Microsoft.Solutions.json b/schemas/2018-06-01/Microsoft.Solutions.json new file mode 100644 index 0000000000..f36f703b0c --- /dev/null +++ b/schemas/2018-06-01/Microsoft.Solutions.json @@ -0,0 +1,447 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.Solutions.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Solutions", + "description": "Microsoft Solutions Resource Types", + "resourceDefinitions": { + "applicationDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applicationDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applicationDefinitions" + }, + "applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-06-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan for the managed application." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applications" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applications" + } + }, + "definitions": { + "ApplicationArtifact": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The managed application artifact name." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Template", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application artifact type." + }, + "uri": { + "type": "string", + "description": "The managed application artifact blob uri." + } + }, + "description": "Managed application artifact." + }, + "ApplicationDefinitionProperties": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationArtifact" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition." + }, + "authorizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationProviderAuthorization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider authorizations." + }, + "createUiDefinition": { + "type": "object", + "properties": {}, + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "type": "string", + "description": "A value indicating whether the package is enabled or not." + }, + "lockLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application lock level." + }, + "mainTemplate": { + "type": "object", + "properties": {}, + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + } + }, + "required": [ + "authorizations", + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + } + }, + "required": [ + "managedResourceGroupId" + ], + "description": "The managed application properties." + }, + "ApplicationProviderAuthorization": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type." + } + }, + "description": "Identity for the resource." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "product", + "publisher", + "version" + ], + "description": "Plan for the managed application." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU capacity." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "name": { + "type": "string", + "description": "The SKU name." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + } + } +} diff --git a/schemas/2019-01-01/Microsoft.Authorization.json b/schemas/2019-01-01/Microsoft.Authorization.json index d0b21e61ed..f1a0cad0b4 100644 --- a/schemas/2019-01-01/Microsoft.Authorization.json +++ b/schemas/2019-01-01/Microsoft.Authorization.json @@ -3,89 +3,101 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", "description": "Microsoft Authorization Resource Types", - "resourceDefinitions": { - "policyAssignments": { + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-01-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicyAssignmentProperties" + "$ref": "#/definitions/PolicyDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for the policy assignment." + "description": "The policy definition properties." }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/PolicySku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy sku. This property is optional, obsolete, and will be ignored." + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-01" + ] }, - "location": { + "name": { "type": "string", - "description": "The location of the policy assignment. Only required when utilizing managed identity." + "description": "The name of the policy set definition to create." }, - "identity": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "$ref": "#/definitions/PolicySetDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed identity associated with the policy assignment." + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policyAssignments" - }, + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-01-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { @@ -96,53 +108,127 @@ } ], "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/policyDefinitions" }, "policySetDefinitions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-01-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/policySetDefinitions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2019-01-01" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$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 policy assignment. Only required when utilizing managed identity." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySetDefinitionProperties" + "$ref": "#/definitions/PolicyAssignmentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition properties." + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policySetDefinitions" + "description": "Microsoft.Authorization/policyAssignments" } }, "definitions": { @@ -150,10 +236,17 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The identity type." } @@ -163,17 +256,18 @@ "PolicyAssignmentProperties": { "type": "object", "properties": { - "displayName": { + "description": { "type": "string", - "description": "The display name of the policy assignment." + "description": "This message will be part of response in case of policy violation." }, - "policyDefinitionId": { + "displayName": { "type": "string", - "description": "The ID of the policy definition or policy set definition being assigned." + "description": "The display name of the policy assignment." }, - "scope": { - "type": "string", - "description": "The scope for the policy assignment." + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata." }, "notScopes": { "oneOf": [ @@ -190,14 +284,17 @@ "description": "The policy's excluded scopes." }, "parameters": { + "type": "object", + "properties": {}, "description": "Required if a parameter is used in policy rule." }, - "description": { + "policyDefinitionId": { "type": "string", - "description": "This message will be part of response in case of policy violation." + "description": "The ID of the policy definition or policy set definition being assigned." }, - "metadata": { - "description": "The policy assignment metadata." + "scope": { + "type": "string", + "description": "The scope for the policy assignment." } }, "description": "The policy assignment properties." @@ -205,6 +302,33 @@ "PolicyDefinitionProperties": { "type": "object", "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata." + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, "policyType": { "oneOf": [ { @@ -220,41 +344,21 @@ } ], "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." - }, - "mode": { - "type": "string", - "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." - }, - "displayName": { - "type": "string", - "description": "The display name of the policy definition." - }, - "description": { - "type": "string", - "description": "The policy definition description." - }, - "policyRule": { - "description": "The policy rule." - }, - "metadata": { - "description": "The policy definition metadata." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, - "required": [ "policyRule" ], "description": "The policy definition properties." }, "PolicyDefinitionReference": { "type": "object", "properties": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, "description": "The policy definition reference." @@ -262,34 +366,22 @@ "PolicySetDefinitionProperties": { "type": "object", "properties": { - "policyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "NotSpecified", - "BuiltIn", - "Custom" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": { + "type": "string", + "description": "The policy set definition description." }, "displayName": { "type": "string", "description": "The display name of the policy set definition." }, - "description": { - "type": "string", - "description": "The policy set definition description." - }, "metadata": { + "type": "object", + "properties": {}, "description": "The policy set definition metadata." }, "parameters": { + "type": "object", + "properties": {}, "description": "The policy set definition parameters that can be used in policy definition references." }, "policyDefinitions": { @@ -305,6 +397,22 @@ } ], "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "required": [ diff --git a/schemas/2019-03-01/Microsoft.Resources.json b/schemas/2019-03-01/Microsoft.Resources.json index 1b58f7648c..5275ab9d48 100644 --- a/schemas/2019-03-01/Microsoft.Resources.json +++ b/schemas/2019-03-01/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-03-01" - ] - }, - "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" } }, "definitions": { @@ -331,4 +260,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2019-05-01/Microsoft.Resources.json b/schemas/2019-05-01/Microsoft.Resources.json index 274e122a63..28caae97e8 100644 --- a/schemas/2019-05-01/Microsoft.Resources.json +++ b/schemas/2019-05-01/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-05-01" - ] - }, - "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": { @@ -228,10 +157,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -392,4 +317,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2019-05-10/Microsoft.Resources.json b/schemas/2019-05-10/Microsoft.Resources.json index 2a40e6ae10..2292a5f74f 100644 --- a/schemas/2019-05-10/Microsoft.Resources.json +++ b/schemas/2019-05-10/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-05-10" - ] - }, - "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": { @@ -228,10 +157,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -392,4 +317,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-01-preview/Microsoft.Resources.json b/schemas/2019-06-01-preview/Microsoft.Resources.json index 6ff3304078..908cb75a09 100644 --- a/schemas/2019-06-01-preview/Microsoft.Resources.json +++ b/schemas/2019-06-01-preview/Microsoft.Resources.json @@ -308,62 +308,5 @@ }, "description": "Template Spec Version properties." } - }, - "subscription_resourceDefinitions": { - "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": [ - "2019-06-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" - } } -} \ No newline at end of file +} diff --git a/schemas/2019-06-01/Microsoft.Authorization.json b/schemas/2019-06-01/Microsoft.Authorization.json index 10870d69a0..a4e6ad0c3e 100644 --- a/schemas/2019-06-01/Microsoft.Authorization.json +++ b/schemas/2019-06-01/Microsoft.Authorization.json @@ -3,89 +3,101 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", "description": "Microsoft Authorization Resource Types", - "resourceDefinitions": { - "policyAssignments": { + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-06-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicyAssignmentProperties" + "$ref": "#/definitions/PolicyDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for the policy assignment." + "description": "The policy definition properties." }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/PolicySku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy sku. This property is optional, obsolete, and will be ignored." + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-01" + ] }, - "location": { + "name": { "type": "string", - "description": "The location of the policy assignment. Only required when utilizing managed identity." + "description": "The name of the policy set definition to create." }, - "identity": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "$ref": "#/definitions/PolicySetDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed identity associated with the policy assignment." + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policyAssignments" - }, + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-06-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { @@ -96,53 +108,127 @@ } ], "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/policyDefinitions" }, "policySetDefinitions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-06-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/policySetDefinitions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2019-06-01" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$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 policy assignment. Only required when utilizing managed identity." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySetDefinitionProperties" + "$ref": "#/definitions/PolicyAssignmentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition properties." + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policySetDefinitions" + "description": "Microsoft.Authorization/policyAssignments" } }, "definitions": { @@ -150,10 +236,17 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], "description": "The identity type." } @@ -163,17 +256,33 @@ "PolicyAssignmentProperties": { "type": "object", "properties": { + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, "displayName": { "type": "string", "description": "The display name of the policy assignment." }, - "policyDefinitionId": { - "type": "string", - "description": "The ID of the policy definition or policy set definition being assigned." + "enforcementMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "DoNotEnforce" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce." }, - "scope": { - "type": "string", - "description": "The scope for the policy assignment." + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata." }, "notScopes": { "oneOf": [ @@ -190,29 +299,17 @@ "description": "The policy's excluded scopes." }, "parameters": { + "type": "object", + "properties": {}, "description": "Required if a parameter is used in policy rule." }, - "description": { + "policyDefinitionId": { "type": "string", - "description": "This message will be part of response in case of policy violation." - }, - "metadata": { - "description": "The policy assignment metadata." + "description": "The ID of the policy definition or policy set definition being assigned." }, - "enforcementMode": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Default", - "DoNotEnforce" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. DoNotEnforce indicates that the policy should evaluate but not take action (i.e. not deny or append)." + "scope": { + "type": "string", + "description": "The scope for the policy assignment." } }, "description": "The policy assignment properties." @@ -220,6 +317,33 @@ "PolicyDefinitionProperties": { "type": "object", "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata." + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, "policyType": { "oneOf": [ { @@ -235,41 +359,21 @@ } ], "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." - }, - "mode": { - "type": "string", - "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." - }, - "displayName": { - "type": "string", - "description": "The display name of the policy definition." - }, - "description": { - "type": "string", - "description": "The policy definition description." - }, - "policyRule": { - "description": "The policy rule." - }, - "metadata": { - "description": "The policy definition metadata." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, - "required": [ "policyRule" ], "description": "The policy definition properties." }, "PolicyDefinitionReference": { "type": "object", "properties": { + "parameters": { + "type": "object", + "properties": {}, + "description": "Required if a parameter is used in policy rule." + }, "policyDefinitionId": { "type": "string", "description": "The ID of the policy definition or policy set definition." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." } }, "description": "The policy definition reference." @@ -277,34 +381,22 @@ "PolicySetDefinitionProperties": { "type": "object", "properties": { - "policyType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "NotSpecified", - "BuiltIn", - "Custom" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." + "description": { + "type": "string", + "description": "The policy set definition description." }, "displayName": { "type": "string", "description": "The display name of the policy set definition." }, - "description": { - "type": "string", - "description": "The policy set definition description." - }, "metadata": { + "type": "object", + "properties": {}, "description": "The policy set definition metadata." }, "parameters": { + "type": "object", + "properties": {}, "description": "The policy set definition parameters that can be used in policy definition references." }, "policyDefinitions": { @@ -320,6 +412,22 @@ } ], "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom." } }, "required": [ diff --git a/schemas/2019-07-01/Microsoft.Resources.json b/schemas/2019-07-01/Microsoft.Resources.json index 09e3eaef86..727e39db91 100644 --- a/schemas/2019-07-01/Microsoft.Resources.json +++ b/schemas/2019-07-01/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-07-01" - ] - }, - "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": { @@ -228,10 +157,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -287,10 +212,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -506,4 +427,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2019-07-01/Microsoft.Solutions.json b/schemas/2019-07-01/Microsoft.Solutions.json new file mode 100644 index 0000000000..e5ab3ef9df --- /dev/null +++ b/schemas/2019-07-01/Microsoft.Solutions.json @@ -0,0 +1,909 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-07-01/Microsoft.Solutions.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Solutions", + "description": "Microsoft Solutions Resource Types", + "resourceDefinitions": { + "applicationDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applicationDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applicationDefinitions" + }, + "applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan for the managed application." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applications" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applications" + }, + "jitRequests": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the JIT request." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JitRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about JIT request 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.Solutions/jitRequests" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/jitRequests" + } + }, + "definitions": { + "ApplicationAuthorization": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "ApplicationDefinitionArtifact": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition artifact name." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Template", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition artifact type." + }, + "uri": { + "type": "string", + "description": "The managed application definition artifact blob uri." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Application definition artifact." + }, + "ApplicationDefinitionProperties": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinitionArtifact" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition." + }, + "authorizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider authorizations." + }, + "createUiDefinition": { + "type": "object", + "properties": {}, + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "deploymentPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDeploymentPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application deployment policy." + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the package is enabled or not." + }, + "lockingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application locking policy." + }, + "lockLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application lock level." + }, + "mainTemplate": { + "type": "object", + "properties": {}, + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "managementPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationManagementPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application management policy." + }, + "notificationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationNotificationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application notification policy." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + }, + "policies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider policies." + } + }, + "required": [ + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "ApplicationDeploymentPolicy": { + "type": "object", + "properties": { + "deploymentMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Incremental", + "Complete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationJitAccessPolicy": { + "type": "object", + "properties": { + "jitAccessEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the JIT access is enabled." + }, + "jitApprovalMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "AutoApprove", + "ManualApprove" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "JIT approval mode." + }, + "jitApprovers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT approvers" + }, + "maximumJitAccessDuration": { + "type": "string", + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + } + }, + "required": [ + "jitAccessEnabled" + ], + "description": "Managed application Jit access policy." + }, + "ApplicationManagementPolicy": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationNotificationEndpoint": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationNotificationPolicy": { + "type": "object", + "properties": { + "notificationEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationPackageLockingPolicyDefinition": { + "type": "object", + "properties": { + "allowedActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationPolicy": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The policy name" + }, + "parameters": { + "type": "string", + "description": "The policy parameters." + }, + "policyDefinitionId": { + "type": "string", + "description": "The policy definition Id." + } + }, + "description": "Managed application policy." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "jitAccessPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationJitAccessPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application Jit access policy." + }, + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + } + }, + "description": "The managed application properties." + }, + "Identity": { + "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 identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedResourceIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "JitApproverDefinition": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The approver display name." + }, + "id": { + "type": "string", + "description": "The approver service principal Id." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "user", + "group" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The approver type." + } + }, + "required": [ + "id" + ], + "description": "JIT approver definition." + }, + "JitAuthorizationPolicies": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The the principal id that will be granted JIT access." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition id that will be granted to the Principal." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The JIT authorization policies." + }, + "JitRequestProperties": { + "type": "object", + "properties": { + "applicationResourceId": { + "type": "string", + "description": "The parent application id." + }, + "jitAuthorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JitAuthorizationPolicies" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT authorization policies." + }, + "jitSchedulingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/JitSchedulingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT scheduling policies." + } + }, + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ], + "description": "Information about JIT request properties" + }, + "JitSchedulingPolicy": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "duration" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the request." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Once", + "Recurring" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of JIT schedule." + } + }, + "required": [ + "duration", + "startTime", + "type" + ], + "description": "The JIT scheduling policies." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "product", + "publisher", + "version" + ], + "description": "Plan for the managed application." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU capacity." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "name": { + "type": "string", + "description": "The SKU name." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + }, + "UserAssignedResourceIdentity": { + "type": "object", + "properties": {}, + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" + } + } +} diff --git a/schemas/2019-08-01/Microsoft.Resources.json b/schemas/2019-08-01/Microsoft.Resources.json index 52066bc23a..cdfabdc3a2 100644 --- a/schemas/2019-08-01/Microsoft.Resources.json +++ b/schemas/2019-08-01/Microsoft.Resources.json @@ -47,16 +47,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -112,12 +102,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -127,61 +111,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-08-01" - ] - }, - "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": { @@ -228,10 +157,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -288,10 +213,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -508,4 +429,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2019-09-01/Microsoft.Authorization.json b/schemas/2019-09-01/Microsoft.Authorization.json index 5b40f803b4..2fe3acd28f 100644 --- a/schemas/2019-09-01/Microsoft.Authorization.json +++ b/schemas/2019-09-01/Microsoft.Authorization.json @@ -3,89 +3,101 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Microsoft.Authorization", "description": "Microsoft Authorization Resource Types", - "resourceDefinitions": { - "policyAssignments": { + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyAssignments" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-09-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicyAssignmentProperties" + "$ref": "#/definitions/PolicyDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Properties for the policy assignment." + "description": "The policy definition properties." }, - "sku": { - "oneOf": [ - { - "$ref": "#/definitions/PolicySku" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The policy sku. This property is optional, obsolete, and will be ignored." + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-09-01" + ] }, - "location": { + "name": { "type": "string", - "description": "The location of the policy assignment. Only required when utilizing managed identity." + "description": "The name of the policy set definition to create." }, - "identity": { + "properties": { "oneOf": [ { - "$ref": "#/definitions/Identity" + "$ref": "#/definitions/PolicySetDefinitionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The managed identity associated with the policy assignment." + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policyAssignments" - }, + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { "policyDefinitions": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Authorization/policyDefinitions" - ] - }, "apiVersion": { "type": "string", "enum": [ "2019-09-01" ] }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, "properties": { "oneOf": [ { @@ -96,53 +108,127 @@ } ], "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.Authorization/policyDefinitions" }, "policySetDefinitions": { "type": "object", "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-09-01" + ] + }, "name": { - "type": "string" + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." }, "type": { "type": "string", "enum": [ "Microsoft.Authorization/policySetDefinitions" ] - }, + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2019-09-01" ] }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$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 policy assignment. Only required when utilizing managed identity." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/PolicySetDefinitionProperties" + "$ref": "#/definitions/PolicyAssignmentProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy definition properties." + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], - "description": "Microsoft.Authorization/policySetDefinitions" + "description": "Microsoft.Authorization/policyAssignments" } }, "definitions": { @@ -150,133 +236,153 @@ "type": "object", "properties": { "type": { - "type": "string", - "enum": [ - "SystemAssigned", - "None" + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } ], - "description": "The identity type." + "description": "The identity type. This is the only required field when adding a system assigned identity to a resource." } }, "description": "Identity for the resource." }, - "PolicyAssignmentProperties": { + "ParameterDefinitionsValue": { "type": "object", "properties": { - "displayName": { - "type": "string", - "description": "The display name of the policy assignment." - }, - "policyDefinitionId": { - "type": "string", - "description": "The ID of the policy definition or policy set definition being assigned." - }, - "scope": { - "type": "string", - "description": "The scope for the policy assignment." - }, - "notScopes": { + "allowedValues": { "oneOf": [ { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": {} } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy's excluded scopes." + "description": "The allowed values for the parameter." }, - "parameters": { - "description": "Required if a parameter is used in policy rule." - }, - "description": { - "type": "string", - "description": "This message will be part of response in case of policy violation." + "defaultValue": { + "type": "object", + "properties": {}, + "description": "The default value for the parameter if no value is provided." }, "metadata": { - "description": "The policy assignment metadata." + "oneOf": [ + { + "$ref": "#/definitions/ParameterDefinitionsValueMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "General metadata for the parameter." }, - "enforcementMode": { + "type": { "oneOf": [ { "type": "string", "enum": [ - "Default", - "DoNotEnforce" + "String", + "Array", + "Object", + "Boolean", + "Integer", + "Float", + "DateTime" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. DoNotEnforce indicates that the policy should evaluate but not take action (i.e. not deny or append)." + "description": "The data type of the parameter." } }, - "description": "The policy assignment properties." + "description": "The definition of a parameter that can be provided to the policy." }, - "PolicyDefinitionProperties": { + "ParameterDefinitionsValueMetadata": { "type": "object", "properties": { - "policyType": { + "additionalProperties": { "oneOf": [ { - "type": "string", - "enum": [ - "NotSpecified", - "BuiltIn", - "Custom", - "Static" - ] + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static." + "description": "Unmatched properties from the message are deserialized this collection" }, - "mode": { + "description": { "type": "string", - "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + "description": "The description of the parameter." }, "displayName": { "type": "string", - "description": "The display name of the policy definition." - }, - "description": { - "type": "string", - "description": "The policy definition description." - }, - "policyRule": { - "description": "The policy rule." - }, - "metadata": { - "description": "The policy definition metadata." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." + "description": "The display name for the parameter." } }, - "required": [ "policyRule" ], - "description": "The policy definition properties." + "description": "General metadata for the parameter." }, - "PolicyDefinitionReference": { + "ParameterValuesValue": { "type": "object", "properties": { - "policyDefinitionId": { + "value": { + "type": "object", + "properties": {}, + "description": "The value of the parameter." + } + }, + "description": "The value of a parameter." + }, + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "description": { "type": "string", - "description": "The ID of the policy definition or policy set definition." - }, - "parameters": { - "description": "Required if a parameter is used in policy rule." + "description": "This message will be part of response in case of policy violation." }, - "policyDefinitionReferenceId": { + "displayName": { "type": "string", - "description": "The ID that uniquely represents this policy definition reference within this policy set definition." + "description": "The display name of the policy assignment." }, - "groupNames": { + "enforcementMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "DoNotEnforce" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "notScopes": { "oneOf": [ { "type": "array", @@ -288,17 +394,103 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The groups that this policy definition reference belongs to." + "description": "The policy's excluded scopes." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition being assigned." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionGroup": { + "type": "object", + "properties": { + "additionalMetadataId": { + "type": "string", + "description": "A resource ID of a resource that contains additional metadata about the group." + }, + "category": { + "type": "string", + "description": "The group's category." + }, + "description": { + "type": "string", + "description": "The group's description." + }, + "displayName": { + "type": "string", + "description": "The group's display name." + }, + "name": { + "type": "string", + "description": "The name of the group." } }, "required": [ - "policyDefinitionId" + "name" ], - "description": "The policy definition reference." + "description": "The policy definition group." }, - "PolicySetDefinitionProperties": { + "PolicyDefinitionProperties": { "type": "object", "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, "policyType": { "oneOf": [ { @@ -315,48 +507,131 @@ } ], "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static." + } + }, + "description": "The policy definition properties." + }, + "PolicyDefinitionReference": { + "type": "object", + "properties": { + "groupNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the groups that this policy definition reference belongs to." }, - "displayName": { + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "policyDefinitionId": { "type": "string", - "description": "The display name of the policy set definition." + "description": "The ID of the policy definition or policy set definition." }, + "policyDefinitionReferenceId": { + "type": "string", + "description": "A unique id (within the policy set definition) for this policy definition reference." + } + }, + "required": [ + "policyDefinitionId" + ], + "description": "The policy definition reference." + }, + "PolicySetDefinitionProperties": { + "type": "object", + "properties": { "description": { "type": "string", "description": "The policy set definition description." }, + "displayName": { + "type": "string", + "description": "The display name of the policy set definition." + }, "metadata": { - "description": "The policy set definition metadata." + "type": "object", + "properties": {}, + "description": "The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." }, "parameters": { - "description": "The policy set definition parameters that can be used in policy definition references." + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names." }, - "policyDefinitions": { + "policyDefinitionGroups": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/PolicyDefinitionReference" + "$ref": "#/definitions/PolicyDefinitionGroup" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array of policy definition references." + "description": "The metadata describing groups of policy definition references within the policy set definition." }, - "policyDefinitionGroups": { + "policyDefinitions": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/PolicyDefinitionGroup" + "$ref": "#/definitions/PolicyDefinitionReference" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "An array of groups that policy definitions within this policy set definition can reside in. These groups can be used when aggregating compliance results for this policy set definition." + "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static." } }, "required": [ @@ -364,35 +639,6 @@ ], "description": "The policy set definition properties." }, - "PolicyDefinitionGroup": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the group." - }, - "category": { - "type": "string", - "description": "The group's category." - }, - "displayName": { - "type": "string", - "description": "The group's display name." - }, - "description": { - "type": "string", - "description": "A description of the group." - }, - "additionalMetadataId": { - "type": "string", - "description": "A resource ID of a resource that contains additional metadata about the group." - } - }, - "required": [ - "name" - ], - "description": "A group that policy definitions within the policy set definition can reside in. These groups can be used when aggregating compliance results for this policy set definition." - }, "PolicySku": { "type": "object", "properties": { diff --git a/schemas/2019-10-01-preview/Microsoft.Migrate.json b/schemas/2019-10-01-preview/Microsoft.Migrate.json new file mode 100644 index 0000000000..4a1e94fd5e --- /dev/null +++ b/schemas/2019-10-01-preview/Microsoft.Migrate.json @@ -0,0 +1,939 @@ +{ + "id": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Migrate", + "description": "Microsoft Migrate Resource Types", + "resourceDefinitions": { + "moveCollections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the MSI properties of the Move Collection." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives." + }, + "name": { + "type": "string", + "description": "The Move Collection Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveCollectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move collection properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/moveCollections_moveResources_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.Migrate/moveCollections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections" + }, + "moveCollections_moveResources": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Migrate/moveCollections/moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + } + }, + "definitions": { + "AvailabilitySetResourceSettings": { + "type": "object", + "properties": { + "faultDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target fault domain." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/availabilitySets" + ] + }, + "updateDomain": { + "oneOf": [ + { + "type": "integer", + "minimum": 1, + "maximum": 20 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target update domain." + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the availability set resource settings." + }, + "Identity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "Gets or sets the principal id." + }, + "tenantId": { + "type": "string", + "description": "Gets or sets the tenant id." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Defines the MSI properties of the Move Collection." + }, + "LBBackendAddressPoolResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the backend address pool name." + } + }, + "description": "Defines load balancer backend address pool properties." + }, + "LBFrontendIPConfigurationResourceSettings": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the frontend IP configuration name." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the IP address of the Load Balancer.This is only specified if a specific\r\nprivate IP address shall be allocated from the subnet specified in subnetRef." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets PrivateIP allocation method (Static/Dynamic)." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones." + } + }, + "description": "Defines load balancer frontend IP configuration properties." + }, + "LoadBalancerBackendAddressPoolReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to load balancer backend address pools." + }, + "LoadBalancerResourceSettings": { + "type": "object", + "properties": { + "backendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBBackendAddressPoolResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the backend address pools of the load balancer." + }, + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the frontend IP configurations of the load balancer." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/loadBalancers" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets load balancer sku (Basic/Standard)." + }, + "zones": { + "type": "string", + "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the load balancer resource settings." + }, + "MoveCollectionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "sourceRegion": { + "type": "string", + "description": "Gets or sets the source region." + }, + "targetRegion": { + "type": "string", + "description": "Gets or sets the target region." + } + }, + "required": [ + "sourceRegion", + "targetRegion" + ], + "description": "Defines the move collection properties." + }, + "moveCollections_moveResources_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2019-10-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The Move Resource Name." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MoveResourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the move resource properties." + }, + "type": { + "type": "string", + "enum": [ + "moveResources" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Migrate/moveCollections/moveResources" + }, + "MoveResourceDependencyOverride": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the ARM ID of the dependent resource." + }, + "targetId": { + "type": "string", + "description": "Gets or sets the resource ARM id of either the MoveResource or the resource ARM ID of\r\nthe dependent resource." + } + }, + "description": "Defines the dependency override of the move resource." + }, + "MoveResourceProperties": { + "type": "object", + "properties": { + "dependsOnOverrides": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MoveResourceDependencyOverride" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the move resource dependencies overrides." + }, + "existingTargetId": { + "type": "string", + "description": "Gets or sets the existing target ARM Id of the resource." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Updating", + "Creating", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resourceSettings": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the resource settings." + }, + "sourceId": { + "type": "string", + "description": "Gets or sets the Source ARM Id of the resource." + } + }, + "required": [ + "sourceId" + ], + "description": "Defines the move resource properties." + }, + "NetworkInterfaceResourceSettings": { + "type": "object", + "properties": { + "enableAcceleratedNetworking": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether accelerated networking is enabled." + }, + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NicIpConfigurationResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the IP configurations of the NIC." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkInterfaces" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the network interface resource settings." + }, + "NetworkSecurityGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/networkSecurityGroups" + ] + }, + "securityRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NsgSecurityRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets Security rules of network security group." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the NSG resource settings." + }, + "NicIpConfigurationResourceSettings": { + "type": "object", + "properties": { + "loadBalancerBackendAddressPools": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the references of the load balancer backend address pools." + }, + "name": { + "type": "string", + "description": "Gets or sets the IP configuration name." + }, + "primary": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether this IP configuration is the primary." + }, + "privateIpAddress": { + "type": "string", + "description": "Gets or sets the private IP address of the network interface IP Configuration." + }, + "privateIpAllocationMethod": { + "type": "string", + "description": "Gets or sets the private IP address allocation method." + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubnetReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines reference to subnet." + } + }, + "description": "Defines NIC IP configuration properties." + }, + "NsgSecurityRule": { + "type": "object", + "properties": { + "access": { + "type": "string", + "description": "Gets or sets whether network traffic is allowed or denied.\r\nPossible values are “Allow” and “Deny”." + }, + "description": { + "type": "string", + "description": "Gets or sets a description for this rule. Restricted to 140 chars." + }, + "destinationAddressPrefix": { + "type": "string", + "description": "Gets or sets destination address prefix. CIDR or source IP range.\r\n A “*” can also be used to match all source IPs. Default tags such\r\nas ‘VirtualNetwork’, ‘AzureLoadBalancer’ and ‘Internet’ can also be used." + }, + "destinationPortRange": { + "type": "string", + "description": "Gets or sets Destination Port or Range. Integer or range between\r\n0 and 65535. A “*” can also be used to match all ports." + }, + "direction": { + "type": "string", + "description": "Gets or sets the direction of the rule.InBound or Outbound. The\r\ndirection specifies if rule will be evaluated on incoming or outgoing traffic." + }, + "name": { + "type": "string", + "description": "Gets or sets the Security rule name." + }, + "priority": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the priority of the rule. The value can be between\r\n100 and 4096. The priority number must be unique for each rule in the collection.\r\nThe lower the priority number, the higher the priority of the rule." + }, + "protocol": { + "type": "string", + "description": "Gets or sets Network protocol this rule applies to. Can be Tcp, Udp or All(*)." + }, + "sourceAddressPrefix": { + "type": "string", + "description": "Gets or sets source address prefix. CIDR or source IP range. A\r\n“*” can also be used to match all source IPs. Default tags such as ‘VirtualNetwork’,\r\n‘AzureLoadBalancer’ and ‘Internet’ can also be used. If this is an ingress\r\nrule, specifies where network traffic originates from." + }, + "sourcePortRange": { + "type": "string", + "description": "Gets or sets Source Port or Range. Integer or range between 0 and\r\n65535. A “*” can also be used to match all ports." + } + }, + "description": "Security Rule data model for Network Security Groups." + }, + "PublicIPAddressResourceSettings": { + "type": "object", + "properties": { + "domainNameLabel": { + "type": "string", + "description": "Gets or sets the domain name label." + }, + "fQDN": { + "type": "string", + "description": "Gets or sets the fully qualified domain name." + }, + "publicIpAllocationMethod": { + "type": "string", + "description": "Gets or sets public IP allocation method." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/publicIPAddresses" + ] + }, + "sku": { + "type": "string", + "description": "Gets or sets public IP sku." + }, + "zones": { + "type": "string", + "description": "Gets or sets public IP zones." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the public IP address resource settings." + }, + "ResourceGroupResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "resourceGroups" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the resource group resource settings." + }, + "ResourceSettings": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/VirtualMachineResourceSettings" + }, + { + "$ref": "#/definitions/AvailabilitySetResourceSettings" + }, + { + "$ref": "#/definitions/VirtualNetworkResourceSettings" + }, + { + "$ref": "#/definitions/NetworkInterfaceResourceSettings" + }, + { + "$ref": "#/definitions/NetworkSecurityGroupResourceSettings" + }, + { + "$ref": "#/definitions/LoadBalancerResourceSettings" + }, + { + "$ref": "#/definitions/SqlServerResourceSettings" + }, + { + "$ref": "#/definitions/SqlElasticPoolResourceSettings" + }, + { + "$ref": "#/definitions/SqlDatabaseResourceSettings" + }, + { + "$ref": "#/definitions/ResourceGroupResourceSettings" + }, + { + "$ref": "#/definitions/PublicIPAddressResourceSettings" + } + ], + "properties": { + "targetResourceName": { + "type": "string", + "description": "Gets or sets the target Resource name." + } + }, + "required": [ + "targetResourceName" + ], + "description": "Gets or sets the resource settings." + }, + "SqlDatabaseResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/databases" + ] + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql Database resource settings." + }, + "SqlElasticPoolResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers/elasticPools" + ] + }, + "zoneRedundant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enable", + "Disable" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the Sql ElasticPool resource settings." + }, + "SqlServerResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Sql/servers" + ] + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the SQL Server resource settings." + }, + "SubnetReference": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets the name of the proxy resource on the target side." + }, + "sourceArmResourceId": { + "type": "string", + "description": "Gets the ARM resource ID of the tracked resource being referenced." + } + }, + "required": [ + "sourceArmResourceId" + ], + "description": "Defines reference to subnet." + }, + "SubnetResourceSettings": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Gets or sets address prefix for the subnet." + }, + "name": { + "type": "string", + "description": "Gets or sets the Subnet name." + } + }, + "description": "Defines the virtual network subnets resource settings." + }, + "VirtualMachineResourceSettings": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Compute/virtualMachines" + ] + }, + "targetAvailabilitySetId": { + "type": "string", + "description": "Gets or sets the target availability set id for virtual machines not in an availability set at source." + }, + "targetAvailabilityZone": { + "oneOf": [ + { + "type": "string", + "enum": [ + "1", + "2", + "3", + "NA" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the target availability zone." + }, + "targetVmSize": { + "type": "string", + "description": "Gets or sets the target virtual machine size." + } + }, + "required": [ + "resourceType" + ], + "description": "Gets or sets the virtual machine resource settings." + }, + "VirtualNetworkResourceSettings": { + "type": "object", + "properties": { + "addressSpace": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the address prefixes for the virtual network." + }, + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets DHCPOptions that contains an array of DNS servers available to VMs\r\ndeployed in the virtual network." + }, + "enableDdosProtection": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets a value indicating whether gets or sets whether the\r\nDDOS protection should be switched on." + }, + "resourceType": { + "type": "string", + "enum": [ + "Microsoft.Network/virtualNetworks" + ] + }, + "subnets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SubnetResourceSettings" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets List of subnets in a VirtualNetwork." + } + }, + "required": [ + "resourceType" + ], + "description": "Defines the virtual network resource settings." + } + } +} \ No newline at end of file diff --git a/schemas/2019-10-01-preview/Microsoft.Resources.json b/schemas/2019-10-01-preview/Microsoft.Resources.json index e87ef1e4c6..a33ac0871b 100644 --- a/schemas/2019-10-01-preview/Microsoft.Resources.json +++ b/schemas/2019-10-01-preview/Microsoft.Resources.json @@ -443,62 +443,5 @@ }, "description": "User-assigned managed identity." } - }, - "subscription_resourceDefinitions": { - "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": [ - "2019-10-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" - } } -} \ No newline at end of file +} diff --git a/schemas/2019-10-01/Microsoft.Resources.json b/schemas/2019-10-01/Microsoft.Resources.json index 4828bdda88..3240e3e688 100644 --- a/schemas/2019-10-01/Microsoft.Resources.json +++ b/schemas/2019-10-01/Microsoft.Resources.json @@ -62,16 +62,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -142,12 +132,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -157,61 +141,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2019-10-01" - ] - }, - "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": { @@ -273,10 +202,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -348,10 +273,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -644,4 +565,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2020-03-01/Microsoft.Authorization.json b/schemas/2020-03-01/Microsoft.Authorization.json new file mode 100644 index 0000000000..ce8884aaff --- /dev/null +++ b/schemas/2020-03-01/Microsoft.Authorization.json @@ -0,0 +1,660 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-03-01/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "subscription_resourceDefinitions": { + "policyDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "managementGroup_resourceDefinitions": { + "policyDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyDefinitions" + }, + "policySetDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy set definition to create." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySetDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy set definition properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policySetDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policySetDefinitions" + } + }, + "unknown_resourceDefinitions": { + "policyAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$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 policy assignment. Only required when utilizing managed identity." + }, + "name": { + "type": "string", + "description": "The name of the policy assignment." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/PolicySku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyAssignments" + } + }, + "definitions": { + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity type. This is the only required field when adding a system assigned identity to a resource." + } + }, + "description": "Identity for the resource." + }, + "ParameterDefinitionsValue": { + "type": "object", + "properties": { + "allowedValues": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": {} + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The allowed values for the parameter." + }, + "defaultValue": { + "type": "object", + "properties": {}, + "description": "The default value for the parameter if no value is provided." + }, + "metadata": { + "oneOf": [ + { + "$ref": "#/definitions/ParameterDefinitionsValueMetadata" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "General metadata for the parameter." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "String", + "Array", + "Object", + "Boolean", + "Integer", + "Float", + "DateTime" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data type of the parameter." + } + }, + "description": "The definition of a parameter that can be provided to the policy." + }, + "ParameterDefinitionsValueMetadata": { + "type": "object", + "properties": { + "additionalProperties": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Unmatched properties from the message are deserialized this collection" + }, + "description": { + "type": "string", + "description": "The description of the parameter." + }, + "displayName": { + "type": "string", + "description": "The display name for the parameter." + } + }, + "description": "General metadata for the parameter." + }, + "ParameterValuesValue": { + "type": "object", + "properties": { + "value": { + "type": "object", + "properties": {}, + "description": "The value of the parameter." + } + }, + "description": "The value of a parameter." + }, + "PolicyAssignmentProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "This message will be part of response in case of policy violation." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy assignment." + }, + "enforcementMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "DoNotEnforce" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy assignment enforcement mode. Possible values are Default and DoNotEnforce." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy assignment metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "notScopes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy's excluded scopes." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition being assigned." + }, + "scope": { + "type": "string", + "description": "The scope for the policy assignment." + } + }, + "description": "The policy assignment properties." + }, + "PolicyDefinitionGroup": { + "type": "object", + "properties": { + "additionalMetadataId": { + "type": "string", + "description": "A resource ID of a resource that contains additional metadata about the group." + }, + "category": { + "type": "string", + "description": "The group's category." + }, + "description": { + "type": "string", + "description": "The group's description." + }, + "displayName": { + "type": "string", + "description": "The group's display name." + }, + "name": { + "type": "string", + "description": "The name of the group." + } + }, + "required": [ + "name" + ], + "description": "The policy definition group." + }, + "PolicyDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "mode": { + "type": "string", + "description": "The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names." + }, + "policyRule": { + "type": "object", + "properties": {}, + "description": "The policy rule." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static." + } + }, + "description": "The policy definition properties." + }, + "PolicyDefinitionReference": { + "type": "object", + "properties": { + "groupNames": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the groups that this policy definition reference belongs to." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterValuesValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter values for the policy rule. The keys are the parameter names." + }, + "policyDefinitionId": { + "type": "string", + "description": "The ID of the policy definition or policy set definition." + }, + "policyDefinitionReferenceId": { + "type": "string", + "description": "A unique id (within the policy set definition) for this policy definition reference." + } + }, + "required": [ + "policyDefinitionId" + ], + "description": "The policy definition reference." + }, + "PolicySetDefinitionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The policy set definition description." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy set definition." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy set definition metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "parameters": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterDefinitionsValue" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameter definitions for parameters used in the policy. The keys are the parameter names." + }, + "policyDefinitionGroups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The metadata describing groups of policy definition references within the policy set definition." + }, + "policyDefinitions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PolicyDefinitionReference" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of policy definition references." + }, + "policyType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "BuiltIn", + "Custom", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of policy definition. Possible values are NotSpecified, BuiltIn, Custom, and Static." + } + }, + "required": [ + "policyDefinitions" + ], + "description": "The policy set definition properties." + }, + "PolicySku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the policy sku. Possible values are A0 and A1." + }, + "tier": { + "type": "string", + "description": "The policy sku tier. Possible values are Free and Standard." + } + }, + "required": [ + "name" + ], + "description": "The policy sku. This property is optional, obsolete, and will be ignored." + } + } +} diff --git a/schemas/2020-06-01/Microsoft.Resources.json b/schemas/2020-06-01/Microsoft.Resources.json index 0e050e7961..9563ea3b8b 100644 --- a/schemas/2020-06-01/Microsoft.Resources.json +++ b/schemas/2020-06-01/Microsoft.Resources.json @@ -62,16 +62,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -142,12 +132,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "resourceGroup": { - "type": "string", - "description": "The resource group to deploy to", - "pattern": "^[-\\w\\._\\(\\)]+$", - "maxLength": 90 } }, "required": [ @@ -157,61 +141,6 @@ "type" ], "description": "Microsoft.Resources/deployments" - }, - "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": [ - "2020-06-01" - ] - }, - "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": { @@ -273,10 +202,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -348,10 +273,6 @@ "enum": [ "Microsoft.Resources/deployments" ] - }, - "subscriptionId": { - "type": "string", - "description": "The subscription to deploy to" } }, "required": [ @@ -682,4 +603,4 @@ "description": "Entity representing the reference to the template." } } -} \ No newline at end of file +} diff --git a/schemas/2020-07-01-preview/Microsoft.Authorization.json b/schemas/2020-07-01-preview/Microsoft.Authorization.json new file mode 100644 index 0000000000..ef07b69b2b --- /dev/null +++ b/schemas/2020-07-01-preview/Microsoft.Authorization.json @@ -0,0 +1,111 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.Authorization.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Authorization", + "description": "Microsoft Authorization Resource Types", + "resourceDefinitions": {}, + "unknown_resourceDefinitions": { + "policyExemptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the policy exemption to delete." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PolicyExemptionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy exemption properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Authorization/policyExemptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Authorization/policyExemptions" + } + }, + "definitions": { + "PolicyExemptionProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "The description of the policy exemption." + }, + "displayName": { + "type": "string", + "description": "The display name of the policy exemption." + }, + "exemptionCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Waiver", + "Mitigated" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy exemption category. Possible values are Waiver and Mitigated." + }, + "expiresOn": { + "type": "string", + "format": "date-time", + "description": "The expiration date and time (in UTC ISO 8601 format yyyy-MM-ddTHH:mm:ssZ) of the policy exemption." + }, + "metadata": { + "type": "object", + "properties": {}, + "description": "The policy exemption metadata. Metadata is an open ended object and is typically a collection of key value pairs." + }, + "policyAssignmentId": { + "type": "string", + "description": "The ID of the policy assignment that is being exempted." + }, + "policyDefinitionReferenceIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policy definition reference ID list when the associated policy assignment is an assignment of a policy set definition." + } + }, + "required": [ + "exemptionCategory", + "policyAssignmentId" + ], + "description": "The policy exemption properties." + } + } +} diff --git a/schemas/2020-08-21-preview/Microsoft.Solutions.json b/schemas/2020-08-21-preview/Microsoft.Solutions.json new file mode 100644 index 0000000000..7ebd2db287 --- /dev/null +++ b/schemas/2020-08-21-preview/Microsoft.Solutions.json @@ -0,0 +1,913 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-08-21-preview/Microsoft.Solutions.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Solutions", + "description": "Microsoft Solutions Resource Types", + "resourceDefinitions": { + "applicationDefinitions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-21-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application definition." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDefinitionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applicationDefinitions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applicationDefinitions" + }, + "applications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-21-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "kind": { + "oneOf": [ + { + "type": "string", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog." + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "managedBy": { + "type": "string", + "description": "ID of the resource that manages this resource." + }, + "name": { + "type": "string", + "minLength": 3, + "maxLength": 64, + "description": "The name of the managed application." + }, + "plan": { + "oneOf": [ + { + "$ref": "#/definitions/Plan" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Plan for the managed application." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application properties." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU for the resource." + }, + "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.Solutions/applications" + ] + } + }, + "required": [ + "apiVersion", + "kind", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/applications" + }, + "jitRequests": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-21-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the JIT request." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/JitRequestProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information about JIT request 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.Solutions/jitRequests" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Solutions/jitRequests" + } + }, + "definitions": { + "ApplicationAuthorization": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." + }, + "roleDefinitionId": { + "type": "string", + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The managed application provider authorization." + }, + "ApplicationDefinitionArtifact": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition artifact name." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Template", + "Custom" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application definition artifact type." + }, + "uri": { + "type": "string", + "description": "The managed application definition artifact blob uri." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Application definition artifact." + }, + "ApplicationDefinitionProperties": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinitionArtifact" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition." + }, + "authorizations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider authorizations." + }, + "createUiDefinition": { + "type": "object", + "properties": {}, + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "deploymentPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationDeploymentPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application deployment policy." + }, + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "displayName": { + "type": "string", + "description": "The managed application definition display name." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating whether the package is enabled or not." + }, + "lockingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application locking policy." + }, + "lockLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application lock level." + }, + "mainTemplate": { + "type": "object", + "properties": {}, + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "managementPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationManagementPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application management policy." + }, + "notificationPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationNotificationPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application notification policy." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + }, + "policies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPolicy" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application provider policies." + }, + "storageAccountId": { + "type": "string", + "description": "The storage account id for bring your own storage scenario." + } + }, + "required": [ + "lockLevel" + ], + "description": "The managed application definition properties." + }, + "ApplicationDeploymentPolicy": { + "type": "object", + "properties": { + "deploymentMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Incremental", + "Complete" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationJitAccessPolicy": { + "type": "object", + "properties": { + "jitAccessEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the JIT access is enabled." + }, + "jitApprovalMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "AutoApprove", + "ManualApprove" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "JIT approval mode." + }, + "jitApprovers": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT approvers" + }, + "maximumJitAccessDuration": { + "type": "string", + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + } + }, + "required": [ + "jitAccessEnabled" + ], + "description": "Managed application Jit access policy." + }, + "ApplicationManagementPolicy": { + "type": "object", + "properties": { + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationNotificationEndpoint": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationNotificationPolicy": { + "type": "object", + "properties": { + "notificationEndpoints": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationPackageLockingPolicyDefinition": { + "type": "object", + "properties": { + "allowedActions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationPolicy": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The policy name" + }, + "parameters": { + "type": "string", + "description": "The policy parameters." + }, + "policyDefinitionId": { + "type": "string", + "description": "The policy definition Id." + } + }, + "description": "Managed application policy." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "jitAccessPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/ApplicationJitAccessPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed application Jit access policy." + }, + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "parameters": { + "type": "object", + "properties": {}, + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + } + }, + "description": "The managed application properties." + }, + "Identity": { + "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 identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedResourceIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "JitApproverDefinition": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The approver display name." + }, + "id": { + "type": "string", + "description": "The approver service principal Id." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "user", + "group" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The approver type." + } + }, + "required": [ + "id" + ], + "description": "JIT approver definition." + }, + "JitAuthorizationPolicies": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The the principal id that will be granted JIT access." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition id that will be granted to the Principal." + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "description": "The JIT authorization policies." + }, + "JitRequestProperties": { + "type": "object", + "properties": { + "applicationResourceId": { + "type": "string", + "description": "The parent application id." + }, + "jitAuthorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/JitAuthorizationPolicies" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT authorization policies." + }, + "jitSchedulingPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/JitSchedulingPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The JIT scheduling policies." + } + }, + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ], + "description": "Information about JIT request properties" + }, + "JitSchedulingPolicy": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "duration" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the request." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "NotSpecified", + "Once", + "Recurring" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of JIT schedule." + } + }, + "required": [ + "duration", + "startTime", + "type" + ], + "description": "The JIT scheduling policies." + }, + "Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The plan name." + }, + "product": { + "type": "string", + "description": "The product code." + }, + "promotionCode": { + "type": "string", + "description": "The promotion code." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "version": { + "type": "string", + "description": "The plan's version." + } + }, + "required": [ + "name", + "product", + "publisher", + "version" + ], + "description": "Plan for the managed application." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU capacity." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "name": { + "type": "string", + "description": "The SKU name." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + }, + "UserAssignedResourceIdentity": { + "type": "object", + "properties": {}, + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" + } + } +} diff --git a/schemas/2020-10-01/Microsoft.Resources.json b/schemas/2020-10-01/Microsoft.Resources.json index dc02599405..af1ca975e6 100644 --- a/schemas/2020-10-01/Microsoft.Resources.json +++ b/schemas/2020-10-01/Microsoft.Resources.json @@ -438,62 +438,5 @@ }, "description": "User-assigned managed identity." } - }, - "subscription_resourceDefinitions": { - "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": [ - "2020-10-01" - ] - }, - "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" - } } -} \ No newline at end of file +} diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 73893a3f0d..ace52e0359 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -3937,6 +3937,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Migrate.json#/resourceDefinitions/assessmentProjects_vmwarecollectors" }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2019-10-01-preview/Microsoft.Migrate.json#/resourceDefinitions/moveCollections_moveResources" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-08-15/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" },