From c4c8b401076065e1cb30788da173fc46f2d35732 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Sat, 12 Dec 2020 01:26:08 +0000 Subject: [PATCH] CodeGen from PR 11809 in Azure/azure-rest-api-specs [Hub Generated] Review request for Microsoft.Devices to add version preview/2020-09-01-preview (#11809) * Support userassigned identities for the KEK * Address PR comments * Update rev for breaking changes * Add identity information to the DPS description * Revert back version * Lint warnings --- .../deploymentTemplate.json | 9 + schemas/2015-01-01/deploymentTemplate.json | 7 + schemas/2015-05-01-preview/Microsoft.Sql.json | 4 +- schemas/2017-06-01/Microsoft.AAD.json | 57 + .../2017-08-21-preview/Microsoft.Devices.json | 342 ++ .../Microsoft.DataMigration.json | 786 +-- schemas/2017-11-15/Microsoft.Devices.json | 348 ++ schemas/2018-01-22/Microsoft.Devices.json | 893 +--- .../Microsoft.DataMigration.json | 1192 +++++ .../Microsoft.DataMigration.json | 1245 +++++ .../2018-04-19/Microsoft.DataMigration.json | 2785 +++++++++++ .../subscriptionDeploymentTemplate.json | 18 + schemas/2018-06-01-preview/Microsoft.Sql.json | 4 +- schemas/2018-06-01/Microsoft.DataFactory.json | 72 +- .../Microsoft.DataMigration.json | 4347 +++++++++++++++++ schemas/2019-04-01/deploymentTemplate.json | 11 +- .../Microsoft.AppPlatform.json | 22 + schemas/2019-06-01-preview/Microsoft.Sql.json | 4 +- .../2019-10-01-preview/Microsoft.Migrate.json | 939 ++++ .../Microsoft.Resources.json | 17 +- .../Microsoft.HybridNetwork.json | 1145 +++++ .../Microsoft.Kubernetes.json | 198 + schemas/2020-01-01/Microsoft.AAD.json | 57 + schemas/2020-01-01/Microsoft.Devices.json | 412 ++ schemas/2020-01-01/Microsoft.Marketplace.json | 34 +- .../2020-02-01-preview/Microsoft.Datadog.json | 665 +++ schemas/2020-02-02-preview/Microsoft.Sql.json | 4 +- .../Microsoft.Confluent.json | 289 ++ schemas/2020-03-01/Microsoft.Devices.json | 1233 +---- .../Microsoft.Automanage.json | 359 ++ ...crosoft.AutonomousDevelopmentPlatform.json | 222 + schemas/2020-07-01/Microsoft.NetApp.json | 1915 ++++++++ schemas/2020-07-17-preview/Microsoft.AVS.json | 203 + schemas/2020-08-01-preview/Microsoft.Sql.json | 6 +- .../2020-08-01/Microsoft.ImportExport.json | 37 +- schemas/2020-08-01/Microsoft.NetApp.json | 1915 ++++++++ .../2020-09-01-preview/Microsoft.Devices.json | 720 +++ schemas/2020-09-18/Microsoft.Kusto.json | 1210 +++++ .../2020-10-01-preview/Microsoft.Compute.json | 612 +++ .../Microsoft.OperationalInsights.json | 38 +- schemas/2020-10-01/Microsoft.Resources.json | 17 +- .../Microsoft.HealthBot.json | 153 + .../Microsoft.PowerPlatform.json | 511 ++ .../Microsoft.ContainerRegistry.json | 2434 +++++++++ .../Microsoft.DesktopVirtualization.json | 6 +- schemas/common/autogeneratedResources.json | 183 + 46 files changed, 25433 insertions(+), 2247 deletions(-) create mode 100644 schemas/2017-08-21-preview/Microsoft.Devices.json create mode 100644 schemas/2017-11-15/Microsoft.Devices.json create mode 100644 schemas/2018-03-15-preview/Microsoft.DataMigration.json create mode 100644 schemas/2018-03-31-preview/Microsoft.DataMigration.json create mode 100644 schemas/2018-04-19/Microsoft.DataMigration.json create mode 100644 schemas/2018-07-15-preview/Microsoft.DataMigration.json create mode 100644 schemas/2019-10-01-preview/Microsoft.Migrate.json create mode 100644 schemas/2020-01-01-preview/Microsoft.HybridNetwork.json create mode 100644 schemas/2020-01-01-preview/Microsoft.Kubernetes.json create mode 100644 schemas/2020-01-01/Microsoft.Devices.json create mode 100644 schemas/2020-02-01-preview/Microsoft.Datadog.json create mode 100644 schemas/2020-03-01-preview/Microsoft.Confluent.json create mode 100644 schemas/2020-06-30-preview/Microsoft.Automanage.json create mode 100644 schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json create mode 100644 schemas/2020-07-01/Microsoft.NetApp.json create mode 100644 schemas/2020-08-01/Microsoft.NetApp.json create mode 100644 schemas/2020-09-01-preview/Microsoft.Devices.json create mode 100644 schemas/2020-09-18/Microsoft.Kusto.json create mode 100644 schemas/2020-10-01-preview/Microsoft.Compute.json create mode 100644 schemas/2020-10-20-preview/Microsoft.HealthBot.json create mode 100644 schemas/2020-10-30-preview/Microsoft.PowerPlatform.json create mode 100644 schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json diff --git a/schemas/2014-04-01-preview/deploymentTemplate.json b/schemas/2014-04-01-preview/deploymentTemplate.json index e7efa8586d..a0c6cb6408 100644 --- a/schemas/2014-04-01-preview/deploymentTemplate.json +++ b/schemas/2014-04-01-preview/deploymentTemplate.json @@ -156,6 +156,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" }, @@ -1843,6 +1850,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/deploymentTemplate.json b/schemas/2015-01-01/deploymentTemplate.json index 89255d5233..75c028eb20 100644 --- a/schemas/2015-01-01/deploymentTemplate.json +++ b/schemas/2015-01-01/deploymentTemplate.json @@ -202,6 +202,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/autoscalesettings" }, diff --git a/schemas/2015-05-01-preview/Microsoft.Sql.json b/schemas/2015-05-01-preview/Microsoft.Sql.json index b8e76f058b..ee45813210 100644 --- a/schemas/2015-05-01-preview/Microsoft.Sql.json +++ b/schemas/2015-05-01-preview/Microsoft.Sql.json @@ -996,7 +996,9 @@ { "type": "string", "enum": [ - "SystemAssigned" + "None", + "SystemAssigned", + "UserAssigned" ] }, { diff --git a/schemas/2017-06-01/Microsoft.AAD.json b/schemas/2017-06-01/Microsoft.AAD.json index c03bbf9004..95b6818c05 100644 --- a/schemas/2017-06-01/Microsoft.AAD.json +++ b/schemas/2017-06-01/Microsoft.AAD.json @@ -246,6 +246,17 @@ ], "description": "Secure LDAP Settings" }, + "migrationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Properties" + }, "notificationSettings": { "oneOf": [ { @@ -388,6 +399,52 @@ }, "description": "Secure LDAP Settings" }, + "MigrationProgress": { + "type": "object", + "properties": { + "completionPercentage": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Completion Percentage" + }, + "progressMessage": { + "type": "string", + "description": "Progress Message" + } + }, + "description": "Migration Progress" + }, + "MigrationProperties": { + "type": "object", + "properties": { + "migrationProgress": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProgress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Progress" + }, + "oldSubnetId": { + "type": "string", + "description": "Old Subnet Id" + }, + "oldVnetSiteId": { + "type": "string", + "description": "Old Vnet Site Id" + } + }, + "description": "Migration Properties" + }, "NotificationSettings": { "type": "object", "properties": { diff --git a/schemas/2017-08-21-preview/Microsoft.Devices.json b/schemas/2017-08-21-preview/Microsoft.Devices.json new file mode 100644 index 0000000000..b8675614f6 --- /dev/null +++ b/schemas/2017-08-21-preview/Microsoft.Devices.json @@ -0,0 +1,342 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-08-21-preview/Microsoft.Devices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "provisioningServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-08-21-preview" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "Name of provisioning service to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/provisioningServices_certificates_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of possible provisioning service SKUs." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/provisioningServices" + }, + "provisioningServices_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-08-21-preview" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + } + }, + "definitions": { + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "iotHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IoT hubs associated with this provisioning service." + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current state of the provisioning service." + } + } + }, + "IotDpsSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of services of the selected tier allowed in the subscription." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "applyAllocationPolicy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "connectionString": { + "type": "string", + "description": "Connection string og the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-08-21-preview" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rights that this key has." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "Description of the shared access key." + } + } +} diff --git a/schemas/2017-11-15-preview/Microsoft.DataMigration.json b/schemas/2017-11-15-preview/Microsoft.DataMigration.json index 1a7b39fdd5..da2b44a542 100644 --- a/schemas/2017-11-15-preview/Microsoft.DataMigration.json +++ b/schemas/2017-11-15-preview/Microsoft.DataMigration.json @@ -7,40 +7,12 @@ "services": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the service" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." - }, "etag": { "type": "string", "description": "HTTP strong entity tag value. Ignored if submitted" @@ -49,6 +21,14 @@ "type": "string", "description": "The resource kind. Only 'vm' (the default) is supported." }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, "properties": { "oneOf": [ { @@ -58,7 +38,17 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom service properties" + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } }, "sku": { "oneOf": [ @@ -69,65 +59,56 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Service SKU" + "description": "An Azure SKU instance" }, - "resources": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/services_projects_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.DataMigration/services" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services" }, "services_projects": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the project" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services/projects" - ] - }, "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Resource tags." - }, "location": { "type": "string", "description": "Resource location." }, + "name": { + "type": "string", + "description": "Name of the project" + }, "properties": { "oneOf": [ { @@ -137,7 +118,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Project properties" + "description": "Project-specific properties" }, "resources": { "type": "array", @@ -148,30 +129,41 @@ } ] } + }, + "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.DataMigration/services/projects" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects" }, "services_projects_tasks": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the Task" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.DataMigration/services/projects/tasks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -182,77 +174,85 @@ "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." }, + "name": { + "type": "string", + "description": "Name of the Task" + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ProjectTaskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom task properties" + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects/tasks" } }, "definitions": { - "ConnectToSource_SqlServer": { + "ConnectionInfo": { "type": "object", - "allOf": [ + "oneOf": [ { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" - } - } + "$ref": "#/definitions/SqlConnectionInfo" } ], - "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" }, "ConnectToSourceSqlServerTaskInput": { "type": "object", "properties": { - "sourceConnectionInfo": { + "checkPermissionsGroup": { "oneOf": [ { - "$ref": "#/definitions/SqlConnectionInfo" + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for Source SQL Server" + "description": "Permission group for validations." }, - "checkPermissionsGroup": { + "sourceConnectionInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "Default", - "MigrationFromSqlServerToAzureDB" - ] + "$ref": "#/definitions/SqlConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Permission group for validations." + "description": "Information for connecting to SQL database server" } }, "required": [ @@ -260,26 +260,31 @@ ], "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" }, - "ConnectToTarget_SqlDb": { + "ConnectToSourceSqlServerTaskProperties": { "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] } + }, + "required": [ + "taskType" ], - "description": "Properties for the task that validates connection to SQL DB and target server requirements" + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" }, "ConnectToTargetSqlDbTaskInput": { "type": "object", @@ -293,7 +298,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for target SQL DB" + "description": "Information for connecting to SQL database server" } }, "required": [ @@ -301,6 +306,32 @@ ], "description": "Input for the task that validates connection to SQL DB and target server requirements" }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, "DatabaseInfo": { "type": "object", "properties": { @@ -317,6 +348,10 @@ "DataMigrationServiceProperties": { "type": "object", "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, "virtualSubnetId": { "type": "string", "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" @@ -327,27 +362,6 @@ ], "description": "Properties of the Data Migration service instance" }, - "GetUserTables_Sql": { - "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/GetUserTablesSqlTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" - } - } - } - ], - "description": "Properties for the task that collects user tables for the given list of databases" - }, "GetUserTablesSqlTaskInput": { "type": "object", "properties": { @@ -360,7 +374,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Connection information for SQL Server" + "description": "Information for connecting to SQL database server" }, "selectedDatabases": { "oneOf": [ @@ -383,38 +397,35 @@ ], "description": "Input for the task that collects user tables for the given list of databases" }, - "Migrate_SqlServer_SqlDb": { + "GetUserTablesSqlTaskProperties": { "type": "object", - "allOf": [ - { - "properties": { - "input": { - "oneOf": [ - { - "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Task input" + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } - } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] } + }, + "required": [ + "taskType" ], - "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + "description": "Properties for the task that collects user tables for the given list of databases" }, "MigrateSqlServerSqlDbDatabaseInput": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the database" - }, - "targetDatabaseName": { - "type": "string", - "description": "Name of target database. Note: Target database will be truncated before starting migration." - }, "makeSourceDbReadOnly": { "oneOf": [ { @@ -426,19 +437,28 @@ ], "description": "Whether to set database read only before migration" }, + "name": { + "type": "string", + "description": "Name of the database" + }, "tableMap": { "oneOf": [ { "type": "object", "additionalProperties": { "type": "string" - } + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." } }, "description": "Database specific information for SQL to Azure SQL DB migration task inputs" @@ -446,18 +466,21 @@ "MigrateSqlServerSqlDbTaskInput": { "type": "object", "properties": { - "sourceConnectionInfo": { + "selectedDatabases": { "oneOf": [ { - "$ref": "#/definitions/SqlConnectionInfo" + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to source" + "description": "Databases to migrate" }, - "targetConnectionInfo": { + "sourceConnectionInfo": { "oneOf": [ { "$ref": "#/definitions/SqlConnectionInfo" @@ -466,21 +489,18 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to target" + "description": "Information for connecting to SQL database server" }, - "selectedDatabases": { + "targetConnectionInfo": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" - } + "$ref": "#/definitions/SqlConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Databases to migrate" + "description": "Information for connecting to SQL database server" }, "validationOptions": { "oneOf": [ @@ -491,30 +511,45 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database." + "description": "Types of validations to run after the migration" } }, "required": [ + "selectedDatabases", "sourceConnectionInfo", - "targetConnectionInfo", - "selectedDatabases" + "targetConnectionInfo" ], "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" }, - "MigrationValidationOptions": { + "MigrateSqlServerSqlDbTaskProperties": { "type": "object", "properties": { - "enableSchemaValidation": { + "input": { "oneOf": [ { - "type": "boolean" + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Allows to compare the schema information between source and target." + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { "enableDataIntegrityValidation": { "oneOf": [ { @@ -536,6 +571,17 @@ } ], "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." } }, "description": "Types of validations to run after the migration" @@ -543,71 +589,71 @@ "ProjectProperties": { "type": "object", "properties": { - "sourcePlatform": { + "databasesInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "SQL", - "Unknown" - ] + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Source platform for the project." + "description": "List of DatabaseInfo" }, - "targetPlatform": { + "sourceConnectionInfo": { "oneOf": [ { - "type": "string", - "enum": [ - "SQLDB", - "Unknown" - ] + "$ref": "#/definitions/ConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Target platform for the project." + "description": "Defines the connection properties of a server" }, - "sourceConnectionInfo": { + "sourcePlatform": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to source" + "description": "Source platform for the project." }, "targetConnectionInfo": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ConnectionInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information for connecting to target" + "description": "Defines the connection properties of a server" }, - "databasesInfo": { + "targetPlatform": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/DatabaseInfo" - } + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "List of DatabaseInfo" + "description": "Target platform for the project." } }, "required": [ @@ -616,77 +662,120 @@ ], "description": "Project-specific properties" }, - "services_projects_childResource": { + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { "type": "object", "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, "name": { "type": "string", - "description": "Name of the project" + "description": "The unique name of the SKU, such as 'P3'" }, - "type": { + "size": { "type": "string", - "enum": [ - "projects" - ] + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { "apiVersion": { "type": "string", "enum": [ "2017-11-15-preview" ] }, - "tags": { + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { "oneOf": [ { - "type": "object", - "additionalProperties": { - "type": "string" - } + "$ref": "#/definitions/ProjectProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "description": "Resource location." + "description": "Project-specific properties" }, - "properties": { + "tags": { "oneOf": [ { - "$ref": "#/definitions/ProjectProperties" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Project properties" + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] } }, "required": [ - "name", - "type", "apiVersion", "location", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects" }, "services_projects_tasks_childResource": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the Task" - }, - "type": { - "type": "string", - "enum": [ - "tasks" - ] - }, "apiVersion": { "type": "string", "enum": [ @@ -697,172 +786,109 @@ "type": "string", "description": "HTTP strong entity tag value. This is ignored if submitted." }, + "name": { + "type": "string", + "description": "Name of the Task" + }, "properties": { "oneOf": [ { - "$ref": "#/definitions/Unknown" + "$ref": "#/definitions/ProjectTaskProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Custom task properties" + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] } }, "required": [ - "name", - "type", "apiVersion", - "properties" + "name", + "properties", + "type" ], "description": "Microsoft.DataMigration/services/projects/tasks" }, - "ServiceSku": { + "SqlConnectionInfo": { "type": "object", "properties": { - "name": { + "additionalSettings": { "type": "string", - "description": "The unique name of the SKU, such as 'P3'" + "description": "Additional connection settings" }, - "tier": { - "type": "string", - "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" - }, - "family": { - "type": "string", - "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" - }, - "size": { - "type": "string", - "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" - }, - "capacity": { + "authentication": { "oneOf": [ { - "type": "integer" + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The capacity of the SKU, if it supports scaling" - } - }, - "description": "An Azure SKU instance" - }, - "SqlConnectionInfo": { - "type": "object", - "allOf": [ - { - "properties": { - "userName": { - "type": "string", - "description": "User name" - }, - "password": { - "type": "string", - "description": "Password credential." - }, - "dataSource": { - "type": "string", - "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" - }, - "authentication": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "WindowsAuthentication", - "SqlAuthentication", - "ActiveDirectoryIntegrated", - "ActiveDirectoryPassword" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Authentication type to use for connection." - }, - "encryptConnection": { - "oneOf": [ - { - "type": "boolean", - "default": true - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to encrypt the connection" - }, - "additionalSettings": { - "type": "string", - "description": "Additional connection settings" - }, - "trustServerCertificate": { - "oneOf": [ - { - "type": "boolean", - "default": false - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether to trust the server certificate" - } - }, - "required": [ - "dataSource" - ] - } - ], - "description": "Information for connecting to SQL database server" - }, - "Unknown": { - "type": "object", - "allOf": [ - { - "properties": { - "taskType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Migrate_SqlServer_SqlDb", - "GetUserTables_Sql", - "ConnectToTarget_SqlDb", - "ConnectToSource_SqlServer", - "Unknown" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - } + "description": "Authentication type to use for connection." }, - { - "anyOf": [ + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ { - "$ref": "#/definitions/Migrate_SqlServer_SqlDb" + "type": "boolean", + "default": true }, { - "$ref": "#/definitions/GetUserTables_Sql" - }, + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ { - "$ref": "#/definitions/ConnectToTarget_SqlDb" + "type": "boolean", + "default": false }, { - "$ref": "#/definitions/ConnectToSource_SqlServer" + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" ] + }, + "userName": { + "type": "string", + "description": "User name" } + }, + "required": [ + "dataSource", + "type" ], - "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + "description": "Information for connecting to SQL database server" } } -} +} \ No newline at end of file diff --git a/schemas/2017-11-15/Microsoft.Devices.json b/schemas/2017-11-15/Microsoft.Devices.json new file mode 100644 index 0000000000..ad5f22fbe4 --- /dev/null +++ b/schemas/2017-11-15/Microsoft.Devices.json @@ -0,0 +1,348 @@ +{ + "id": "https://schema.management.azure.com/schemas/2017-11-15/Microsoft.Devices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "provisioningServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-11-15" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "Name of provisioning service to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/provisioningServices_certificates_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of possible provisioning service SKUs." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/provisioningServices" + }, + "provisioningServices_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-11-15" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + } + }, + "definitions": { + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of authorization keys for a provisioning service." + }, + "iotHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IoT hubs associated with this provisioning service." + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current state of the provisioning service." + } + }, + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "IotDpsSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of units to provision" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weight to apply for a given IoT hub." + }, + "applyAllocationPolicy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for applying allocationPolicy or not for a given IoT hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2017-11-15" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rights that this key has." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "Description of the shared access key." + } + } +} diff --git a/schemas/2018-01-22/Microsoft.Devices.json b/schemas/2018-01-22/Microsoft.Devices.json index 73d64870f0..cf57d3509a 100644 --- a/schemas/2018-01-22/Microsoft.Devices.json +++ b/schemas/2018-01-22/Microsoft.Devices.json @@ -4,7 +4,7 @@ "title": "Microsoft.Devices", "description": "Microsoft Devices Resource Types", "resourceDefinitions": { - "IotHubs": { + "provisioningServices": { "type": "object", "properties": { "apiVersion": { @@ -23,25 +23,25 @@ }, "name": { "type": "string", - "description": "The name of the IoT hub." + "description": "Name of provisioning service to create or update." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/IotHubProperties" + "$ref": "#/definitions/IotDpsPropertiesDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties of an IoT hub." + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/IotHubs_certificates_childResource" + "$ref": "#/definitions/provisioningServices_certificates_childResource" } ] } @@ -49,13 +49,13 @@ "sku": { "oneOf": [ { - "$ref": "#/definitions/IotHubSkuInfo" + "$ref": "#/definitions/IotDpsSkuInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information about the SKU of the IoT hub." + "description": "List of possible provisioning service SKUs." }, "tags": { "oneOf": [ @@ -75,7 +75,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.Devices/IotHubs" + "Microsoft.Devices/provisioningServices" ] } }, @@ -87,9 +87,9 @@ "sku", "type" ], - "description": "Microsoft.Devices/IotHubs" + "description": "Microsoft.Devices/provisioningServices" }, - "IotHubs_certificates": { + "provisioningServices_certificates": { "type": "object", "properties": { "apiVersion": { @@ -100,424 +100,16 @@ }, "certificate": { "type": "string", - "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." }, "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the certificate" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Devices/IotHubs/certificates" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Devices/IotHubs/certificates" - }, - "IotHubs_eventHubEndpoints_ConsumerGroups": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2018-01-22" - ] - }, - "name": { - "type": "string", - "description": "The name of the consumer group to add." - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" - } - }, - "definitions": { - "CloudToDeviceProperties": { - "type": "object", - "properties": { - "defaultTtlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "feedback": { - "oneOf": [ - { - "$ref": "#/definitions/FeedbackProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the feedback queue for cloud-to-device messages." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - } - }, - "description": "The IoT hub cloud-to-device messaging properties." - }, - "EventHubProperties": { - "type": "object", - "properties": { - "partitionCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages." - }, - "retentionTimeInDays": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages" - } - }, - "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub." - }, - "FallbackRouteProperties": { - "type": "object", - "properties": { - "condition": { - "type": "string", - "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" - }, - "endpointNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used to specify whether the fallback route is enabled." - }, - "name": { - "type": "string", - "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." - }, - "source": { - "oneOf": [ - { - "type": "string", - "enum": [ - "DeviceMessages", - "TwinChangeEvents", - "DeviceLifecycleEvents", - "DeviceJobLifecycleEvents" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages." - } - }, - "required": [ - "endpointNames", - "isEnabled", - "source" - ], - "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." - }, - "FeedbackProperties": { - "type": "object", - "properties": { - "lockDurationAsIso8601": { - "type": "string", - "format": "duration", - "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "ttlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - } - }, - "description": "The properties of the feedback queue for cloud-to-device messages." - }, - "IotHubProperties": { - "type": "object", - "properties": { - "authorizationPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The shared access policies you can use to secure a connection to the IoT hub." - }, - "cloudToDevice": { - "oneOf": [ - { - "$ref": "#/definitions/CloudToDeviceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The IoT hub cloud-to-device messaging properties." - }, - "comments": { - "type": "string", - "description": "IoT hub comments." - }, - "enableFileUploadNotifications": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "If True, file upload notifications are enabled." - }, - "eventHubEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/EventHubProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Event Hub-compatible endpoint properties. The possible keys to this dictionary are events and operationsMonitoringEvents. Both of these keys have to be present in the dictionary while making create or update calls for the IoT hub." - }, - "features": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "DeviceManagement" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The capabilities and features enabled for the IoT hub." - }, - "ipFilterRules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/IpFilterRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The IP filter rules." - }, - "messagingEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MessagingEndpointProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The messaging endpoint properties for the file upload notification queue." - }, - "operationsMonitoringProperties": { - "oneOf": [ - { - "$ref": "#/definitions/OperationsMonitoringProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The operations monitoring properties for the IoT hub. The possible keys to the dictionary are Connections, DeviceTelemetry, C2DCommands, DeviceIdentityOperations, FileUploadOperations, Routes, D2CTwinOperations, C2DTwinOperations, TwinQueries, JobsOperations, DirectMethods." - }, - "routing": { - "oneOf": [ - { - "$ref": "#/definitions/RoutingProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" - }, - "storageEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/StorageEndpointProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown." - } - }, - "description": "The properties of an IoT hub." - }, - "IotHubSkuInfo": { - "type": "object", - "properties": { - "capacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits." - }, - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "F1", - "S1", - "S2", - "S3" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the SKU." - } - }, - "required": [ - "name" - ], - "description": "Information about the SKU of the IoT hub." - }, - "IotHubs_certificates_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2018-01-22" - ] - }, - "certificate": { "type": "string", - "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content." - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the certificate" + "description": "The name of the certificate create or update." }, "type": { "type": "string", "enum": [ - "certificates" + "Microsoft.Devices/provisioningServices/certificates" ] } }, @@ -526,518 +118,231 @@ "name", "type" ], - "description": "Microsoft.Devices/IotHubs/certificates" - }, - "IpFilterRule": { + "description": "Microsoft.Devices/provisioningServices/certificates" + } + }, + "definitions": { + "IotDpsPropertiesDescription": { "type": "object", "properties": { - "action": { + "allocationPolicy": { "oneOf": [ { "type": "string", "enum": [ - "Accept", - "Reject" + "Hashed", + "GeoLatency", + "Static" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The desired action for requests captured by this rule." - }, - "filterName": { - "type": "string", - "description": "The name of the IP filter rule." - }, - "ipMask": { - "type": "string", - "description": "A string that contains the IP address range in CIDR notation for the rule." - } - }, - "required": [ - "action", - "filterName", - "ipMask" - ], - "description": "The IP filter rules for the IoT hub." - }, - "MessagingEndpointProperties": { - "type": "object", - "properties": { - "lockDurationAsIso8601": { - "type": "string", - "format": "duration", - "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - }, - "ttlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - } - }, - "description": "The properties of the messaging endpoints used by this IoT hub." - }, - "OperationsMonitoringProperties": { - "type": "object", - "properties": { - "events": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "type": "string", - "enum": [ - "None", - "Error", - "Information", - "Error, Information" - ] - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "description": "The operations monitoring properties for the IoT hub. The possible keys to the dictionary are Connections, DeviceTelemetry, C2DCommands, DeviceIdentityOperations, FileUploadOperations, Routes, D2CTwinOperations, C2DTwinOperations, TwinQueries, JobsOperations, DirectMethods." - }, - "RouteProperties": { - "type": "object", - "properties": { - "condition": { - "type": "string", - "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" + "description": "Allocation policy to be used by this provisioning service." }, - "endpointNames": { + "authorizationPolicies": { "oneOf": [ { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed." + "description": "List of authorization keys for a provisioning service." }, - "isEnabled": { + "iotHubs": { "oneOf": [ { - "type": "boolean" + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Used to specify whether a route is enabled." + "description": "List of IoT hubs associated with this provisioning service." }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." }, - "source": { + "state": { "oneOf": [ { "type": "string", "enum": [ - "DeviceMessages", - "TwinChangeEvents", - "DeviceLifecycleEvents", - "DeviceJobLifecycleEvents" + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source that the routing rule is to be applied to, such as DeviceMessages." + "description": "Current state of the provisioning service." } }, - "required": [ - "endpointNames", - "isEnabled", - "name", - "source" - ], - "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints." + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" }, - "RoutingEndpoints": { + "IotDpsSkuInfo": { "type": "object", "properties": { - "eventHubs": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RoutingEventHubProperties" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint." - }, - "serviceBusQueues": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules." - }, - "serviceBusTopics": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules." - }, - "storageContainers": { + "capacity": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/RoutingStorageContainerProperties" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules." - } - }, - "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." - }, - "RoutingEventHubProperties": { - "type": "object", - "properties": { - "connectionString": { - "type": "string", - "description": "The connection string of the event hub endpoint. " + "description": "The number of units to provision" }, "name": { "oneOf": [ { "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "enum": [ + "S1" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the event hub endpoint." - }, - "subscriptionId": { - "type": "string", - "description": "The subscription identifier of the event hub endpoint." + "description": "Sku name." } }, - "required": [ - "connectionString", - "name" - ], - "description": "The properties related to an event hub endpoint." + "description": "List of possible provisioning service SKUs." }, - "RoutingProperties": { + "IotHubDefinitionDescription": { "type": "object", "properties": { - "endpoints": { - "oneOf": [ - { - "$ref": "#/definitions/RoutingEndpoints" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." - }, - "fallbackRoute": { - "oneOf": [ - { - "$ref": "#/definitions/FallbackRouteProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." - }, - "routes": { + "allocationWeight": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/RouteProperties" - } + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs." - } - }, - "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" - }, - "RoutingServiceBusQueueEndpointProperties": { - "type": "object", - "properties": { - "connectionString": { - "type": "string", - "description": "The connection string of the service bus queue endpoint." + "description": "weight to apply for a given iot h." }, - "name": { + "applyAllocationPolicy": { "oneOf": [ { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the service bus queue endpoint." + "description": "flag for applying allocationPolicy or not for a given iot hub." }, - "subscriptionId": { - "type": "string", - "description": "The subscription identifier of the service bus queue endpoint." - } - }, - "required": [ - "connectionString", - "name" - ], - "description": "The properties related to service bus queue endpoint types." - }, - "RoutingServiceBusTopicEndpointProperties": { - "type": "object", - "properties": { "connectionString": { "type": "string", - "description": "The connection string of the service bus topic endpoint." - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the service bus topic endpoint." + "description": "Connection string og the IoT hub." }, - "subscriptionId": { + "location": { "type": "string", - "description": "The subscription identifier of the service bus topic endpoint." + "description": "ARM region of the IoT hub." } }, "required": [ "connectionString", - "name" + "location" ], - "description": "The properties related to service bus topic endpoint types." + "description": "Description of the IoT hub." }, - "RoutingStorageContainerProperties": { + "provisioningServices_certificates_childResource": { "type": "object", "properties": { - "batchFrequencyInSeconds": { - "oneOf": [ - { - "type": "integer", - "minimum": 60, - "maximum": 720 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds." - }, - "connectionString": { - "type": "string", - "description": "The connection string of the storage account." - }, - "containerName": { - "type": "string", - "description": "The name of storage container in the storage account." - }, - "encoding": { + "apiVersion": { "type": "string", - "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avroDeflate'. Default value is 'avro'." + "enum": [ + "2018-01-22" + ] }, - "fileNameFormat": { + "certificate": { "type": "string", - "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered." - }, - "maxChunkSizeInBytes": { - "oneOf": [ - { - "type": "integer", - "minimum": 10485760, - "maximum": 524288000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB)." + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." }, "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types." - }, - "resourceGroup": { "type": "string", - "description": "The name of the resource group of the storage account." + "description": "The name of the certificate create or update." }, - "subscriptionId": { + "type": { "type": "string", - "description": "The subscription identifier of the storage account." + "enum": [ + "certificates" + ] } }, "required": [ - "connectionString", - "containerName", - "name" + "apiVersion", + "name", + "type" ], - "description": "The properties related to a storage container endpoint." + "description": "Microsoft.Devices/provisioningServices/certificates" }, - "SharedAccessSignatureAuthorizationRule": { + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { "type": "object", "properties": { "keyName": { "type": "string", - "description": "The name of the shared access policy." + "description": "Name of the key." }, "primaryKey": { "type": "string", - "description": "The primary key." + "description": "Primary SAS key value." }, "rights": { "oneOf": [ { "type": "string", "enum": [ - "RegistryRead", - "RegistryWrite", - "ServiceConnect", + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", "DeviceConnect", - "RegistryRead, RegistryWrite", - "RegistryRead, ServiceConnect", - "RegistryRead, DeviceConnect", - "RegistryWrite, ServiceConnect", - "RegistryWrite, DeviceConnect", - "ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect", - "RegistryRead, RegistryWrite, DeviceConnect", - "RegistryRead, ServiceConnect, DeviceConnect", - "RegistryWrite, ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + "RegistrationStatusRead", + "RegistrationStatusWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The permissions assigned to the shared access policy." + "description": "Rights that this key has." }, "secondaryKey": { "type": "string", - "description": "The secondary key." + "description": "Secondary SAS key value." } }, "required": [ "keyName", "rights" ], - "description": "The properties of an IoT hub shared access policy." - }, - "StorageEndpointProperties": { - "type": "object", - "properties": { - "connectionString": { - "type": "string", - "description": "The connection string for the Azure Storage account to which files are uploaded." - }, - "containerName": { - "type": "string", - "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified." - }, - "sasTtlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options." - } - }, - "required": [ - "connectionString", - "containerName" - ], - "description": "The properties of the Azure Storage endpoint for file upload." + "description": "Description of the shared access key." } } -} \ No newline at end of file +} diff --git a/schemas/2018-03-15-preview/Microsoft.DataMigration.json b/schemas/2018-03-15-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..f3cfa82c7d --- /dev/null +++ b/schemas/2018-03-15-preview/Microsoft.DataMigration.json @@ -0,0 +1,1192 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + } + } +} \ No newline at end of file diff --git a/schemas/2018-03-31-preview/Microsoft.DataMigration.json b/schemas/2018-03-31-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..f3e42fe246 --- /dev/null +++ b/schemas/2018-03-31-preview/Microsoft.DataMigration.json @@ -0,0 +1,1245 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "CollectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "CollectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "SQLMI", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-03-31-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + } + } +} \ No newline at end of file diff --git a/schemas/2018-04-19/Microsoft.DataMigration.json b/schemas/2018-04-19/Microsoft.DataMigration.json new file mode 100644 index 0000000000..14e4ed40f9 --- /dev/null +++ b/schemas/2018-04-19/Microsoft.DataMigration.json @@ -0,0 +1,2785 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Data Migration service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "definitions": { + "AzureActiveDirectoryApp": { + "type": "object", + "properties": { + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "appKey", + "applicationId", + "tenantId" + ], + "description": "Azure Active Directory Application" + }, + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "#/definitions/MiSqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Platform for the migration." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates MySQL database connection" + }, + "ConnectToSourceMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates MySQL database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.MySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates MySQL database connection" + }, + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.PostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForMySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration" + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Data Migration service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate." + } + }, + "required": [ + "backupFileShare", + "connectionInfo", + "selectedCertificates" + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "GetTdeCertificatesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "taskType": { + "type": "string", + "enum": [ + "GetTDECertificates.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that gets TDE certificates in Base64 encoded format." + }, + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedSourceDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source database names to collect tables for" + }, + "selectedTargetDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of target database names to collect tables for" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedSourceDatabases", + "selectedTargetDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MySql.AzureDbForMySql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.PostgreSql.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs" + }, + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFilePaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of backup files to be used in case of existing backups." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "MiSqlConnectionInfo": { + "type": "object", + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MiSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "managedInstanceResourceId", + "type" + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + }, + "MySqlConnectionInfo": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "MySqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to MySQL server" + }, + "PostgreSqlConnectionInfo": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "PostgreSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to PostgreSQL server" + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties" + } + ], + "properties": {}, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "SelectedCertificateInput": { + "type": "object", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of certificate to be exported." + }, + "password": { + "type": "string", + "description": "Password to use for encrypting the exported certificate." + } + }, + "required": [ + "certificateName", + "password" + ], + "description": "Info for certificate to be exported for TDE enabled databases." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-04-19" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "platform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlOnPrem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server platform type for connection." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL sync migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations" + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + }, + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL sync migrations" + } + } +} \ No newline at end of file diff --git a/schemas/2018-05-01/subscriptionDeploymentTemplate.json b/schemas/2018-05-01/subscriptionDeploymentTemplate.json index ad6a84d102..ddbd60c4e6 100644 --- a/schemas/2018-05-01/subscriptionDeploymentTemplate.json +++ b/schemas/2018-05-01/subscriptionDeploymentTemplate.json @@ -142,6 +142,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-04-01-preview/Microsoft.ChangeAnalysis.json#/subscription_resourceDefinitions/profile" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#/subscription_resourceDefinitions/agreements" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-12-30-preview/Microsoft.Consumption.json#/subscription_resourceDefinitions/budgets" }, @@ -178,6 +181,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-10-01/Microsoft.Consumption.json#/unknown_resourceDefinitions/budgets" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/subscription_resourceDefinitions/agreements" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-06-15-preview/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions" }, @@ -211,6 +217,18 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.EventGrid.json#/unknown_resourceDefinitions/eventSubscriptions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/locations_vendors_networkFunctions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/subscription_resourceDefinitions/vendors_vendorSkus_previewSubscriptions" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-06-01-preview/Microsoft.ManagedNetwork.json#/unknown_resourceDefinitions/scopeAssignments" }, diff --git a/schemas/2018-06-01-preview/Microsoft.Sql.json b/schemas/2018-06-01-preview/Microsoft.Sql.json index 850e9335ae..3d1402345c 100644 --- a/schemas/2018-06-01-preview/Microsoft.Sql.json +++ b/schemas/2018-06-01-preview/Microsoft.Sql.json @@ -1112,7 +1112,9 @@ { "type": "string", "enum": [ - "SystemAssigned" + "None", + "SystemAssigned", + "UserAssigned" ] }, { diff --git a/schemas/2018-06-01/Microsoft.DataFactory.json b/schemas/2018-06-01/Microsoft.DataFactory.json index f913d757f2..0335914c51 100644 --- a/schemas/2018-06-01/Microsoft.DataFactory.json +++ b/schemas/2018-06-01/Microsoft.DataFactory.json @@ -5908,6 +5908,16 @@ ], "description": "Cmdkey command custom setup type properties." }, + "CMKIdentityDefinition": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The resource id of the user assigned identity to authenticate to customer's key vault." + } + }, + "description": "Managed Identity used for CMK." + }, "CommonDataServiceForAppsEntityDataset": { "type": "object", "properties": { @@ -10376,6 +10386,39 @@ ], "description": "A copy activity Eloqua server source." }, + "EncryptionConfiguration": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/CMKIdentityDefinition" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed Identity used for CMK." + }, + "keyName": { + "type": "string", + "description": "The name of the key in Azure Key Vault to use as Customer Managed Key." + }, + "keyVersion": { + "type": "string", + "description": "The version of the key used for CMK. If not provided, latest version will be used." + }, + "vaultBaseUrl": { + "type": "string", + "description": "The url of the Azure Key Vault used for CMK." + } + }, + "required": [ + "keyName", + "vaultBaseUrl" + ], + "description": "Definition of CMK for the factory." + }, "EntityReference": { "type": "object", "properties": { @@ -11490,7 +11533,23 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The identity type. Currently the only supported type is 'SystemAssigned'." + "description": "The identity type." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {} + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of all user assigned identities for a factory." } }, "required": [ @@ -11501,6 +11560,17 @@ "FactoryProperties": { "type": "object", "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of CMK for the factory." + }, "globalParameters": { "oneOf": [ { diff --git a/schemas/2018-07-15-preview/Microsoft.DataMigration.json b/schemas/2018-07-15-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..3ded94060b --- /dev/null +++ b/schemas/2018-07-15-preview/Microsoft.DataMigration.json @@ -0,0 +1,4347 @@ +{ + "id": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.DataMigration", + "description": "Microsoft DataMigration Resource Types", + "resourceDefinitions": { + "services": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the service" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the Database Migration Service instance" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_serviceTasks_childResource" + }, + { + "$ref": "#/definitions/services_projects_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ServiceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An Azure SKU instance" + }, + "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.DataMigration/services" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services" + }, + "services_projects": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/services_projects_tasks_childResource" + }, + { + "$ref": "#/definitions/services_projects_files_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.DataMigration/services/projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_files": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the File" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for file properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/files" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/files" + }, + "services_projects_tasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/projects/tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "services_serviceTasks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.DataMigration/services/serviceTasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/serviceTasks" + } + }, + "definitions": { + "AzureActiveDirectoryApp": { + "type": "object", + "properties": { + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "appKey", + "applicationId", + "tenantId" + ], + "description": "Azure Active Directory Application" + }, + "BlobShare": { + "type": "object", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ], + "description": "Blob container storage information." + }, + "CheckOCIDriverTaskInput": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "description": "Version of the source server to check against. Optional." + } + }, + "description": "Input for the service task to check for OCI drivers." + }, + "CheckOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/CheckOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to check for OCI drivers." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Check.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that checks for OCI drivers." + }, + "ConnectionInfo": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "#/definitions/MiSqlConnectionInfo" + } + ], + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "description": "Defines the connection properties of a server" + }, + "ConnectToMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "taskType": { + "type": "string", + "enum": [ + "Connect.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates the connection to and provides information about a MongoDB server" + }, + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target Platform for the migration." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates MySQL database connection" + }, + "ConnectToSourceMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates MySQL database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.MySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates MySQL database connection" + }, + "ConnectToSourceOracleSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates Oracle database connection" + }, + "ConnectToSourceOracleSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceOracleSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates Oracle database connection" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.Oracle.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates Oracle database connection" + }, + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to PostgreSQL and source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.PostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration" + }, + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "properties": { + "checkPermissionsGroup": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Permission group for validations." + }, + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from source server." + }, + "collectDatabases": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect databases from source server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from source server." + }, + "collectTdeCertificateInfo": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect TDE Certificate names from source server." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validateSsisCatalogOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to validate SSIS catalog is reachable on the source server." + } + }, + "required": [ + "sourceConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToSourceSqlServerTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToSource.SqlServer" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForMySql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration" + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source." + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source." + }, + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "properties": { + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements" + }, + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "properties": { + "collectAgentJobs": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect agent jobs from target SQL MI server." + }, + "collectLogins": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to collect logins from target SQL MI server." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validateSsisCatalogOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag for whether to validate SSIS catalog is reachable on the target SQL MI server." + } + }, + "required": [ + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "ConnectToTargetSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance" + }, + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements" + }, + "taskType": { + "type": "string", + "enum": [ + "ConnectToTarget.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration" + }, + "DatabaseInfo": { + "type": "object", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ], + "description": "Project Database Details" + }, + "DataMigrationServiceProperties": { + "type": "object", + "properties": { + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualNicId": { + "type": "string", + "description": "The ID of the Microsoft.Network/networkInterfaces resource which the service have" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + } + }, + "required": [ + "virtualSubnetId" + ], + "description": "Properties of the Database Migration Service instance" + }, + "FileShare": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + }, + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + } + }, + "required": [ + "path" + ], + "description": "File share information with Path, Username, and Password." + }, + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "properties": { + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate." + } + }, + "required": [ + "backupFileShare", + "connectionInfo", + "selectedCertificates" + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "GetTdeCertificatesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets TDE certificates in Base64 encoded format." + }, + "taskType": { + "type": "string", + "enum": [ + "GetTDECertificates.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that gets TDE certificates in Base64 encoded format." + }, + "GetUserTablesOracleTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + }, + "selectedSchemas": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of Oracle schemas for which to collect tables" + } + }, + "required": [ + "connectionInfo", + "selectedSchemas" + ], + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas." + }, + "GetUserTablesOracleTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesOracleTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas." + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTablesOracle" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of Oracle schemas" + }, + "GetUserTablesPostgreSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of PostgreSQL databases for which to collect tables" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases." + }, + "GetUserTablesPostgreSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesPostgreSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases." + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTablesPostgreSql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedSourceDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source database names to collect tables for" + }, + "selectedTargetDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of target database names to collect tables for" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedSourceDatabases", + "selectedTargetDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskInput": { + "type": "object", + "properties": { + "connectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of database names to collect tables for" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "GetUserTablesSqlTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/GetUserTablesSqlTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that collects user tables for the given list of databases" + }, + "taskType": { + "type": "string", + "enum": [ + "GetUserTables.Sql" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that collects user tables for the given list of databases" + }, + "InstallOCIDriverTaskInput": { + "type": "object", + "properties": { + "driverPackageName": { + "type": "string", + "description": "Name of the uploaded driver package to install." + } + }, + "description": "Input for the service task to install an OCI driver." + }, + "InstallOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/InstallOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to install an OCI driver." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Install.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that installs an OCI driver." + }, + "MigrateMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbMigrationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates data between MongoDB data sources" + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MySqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to MySQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.MySql.AzureDbForMySql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations" + }, + "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.Oracle.AzureDbForPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations" + }, + "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "caseManipulation": { + "type": "string", + "description": "How to handle object name casing: either Preserve or ToLower" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the migration pipeline" + }, + "schemaName": { + "type": "string", + "description": "Name of the source schema" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs" + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/OracleConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to Oracle server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "properties": { + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "selectedTables": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tables selected for migration" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the table to migrate" + } + }, + "description": "Selected tables for the migration" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/PostgreSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to PostgreSQL server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations" + }, + "MigrateSchemaSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of source database" + }, + "schemaSetting": { + "oneOf": [ + { + "$ref": "#/definitions/SchemaMigrationSetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings for migrating schema from source to target" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database" + } + }, + "description": "Database input for migrate schema Sql Server to Azure SQL Server scenario" + }, + "MigrateSchemaSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "MigrateSchemaSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "taskType": { + "type": "string", + "enum": [ + "MigrateSchemaSqlServerSqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases" + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "properties": { + "makeSourceDbReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to set database read only before migration" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + } + }, + "description": "Database specific information for SQL to Azure SQL DB migration task inputs" + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "migrationSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration settings which tune the migration behavior" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "sourceSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source settings to tune source endpoint migration behavior" + }, + "tableMap": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Mapping of source to target tables" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "targetSetting": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target settings to tune target endpoint migration behavior" + } + }, + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs" + }, + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations" + }, + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "validationOptions": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationValidationOptions" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Types of validations to run after the migration" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.SqlDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database" + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "properties": { + "backupFilePaths": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of backup files to be used in case of existing backups." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ], + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs" + }, + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario" + }, + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "aadDomainName": { + "type": "string", + "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected" + }, + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases." + }, + "selectedAgentJobs": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Agent Jobs to migrate." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate." + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrateSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance" + }, + "MigrateSsisTaskInput": { + "type": "object", + "properties": { + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "ssisMigrationInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SsisMigrationInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSIS migration info with SSIS store type, overwrite policy." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "sourceConnectionInfo", + "ssisMigrationInfo", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance." + }, + "MigrateSsisTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateSsisTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance." + }, + "taskType": { + "type": "string", + "enum": [ + "Migrate.Ssis" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance." + }, + "MigrationValidationOptions": { + "type": "object", + "properties": { + "enableDataIntegrityValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + }, + "enableSchemaValidation": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows to compare the schema information between source and target." + } + }, + "description": "Types of validations to run after the migration" + }, + "MiSqlConnectionInfo": { + "type": "object", + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MiSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "managedInstanceResourceId", + "type" + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + }, + "MongoDbCollectionSettings": { + "type": "object", + "properties": { + "canDelete": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true." + }, + "shardKey": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbShardKeySetting" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a MongoDB shard key" + }, + "targetRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets." + } + }, + "description": "Describes how an individual MongoDB collection should be migrated" + }, + "MongoDbConnectionInfo": { + "type": "object", + "properties": { + "connectionString": { + "type": "string", + "description": "A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "MongoDbConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "connectionString", + "type" + ], + "description": "Describes a connection to a MongoDB data source" + }, + "MongoDbDatabaseSettings": { + "type": "object", + "properties": { + "collections": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionSettings" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The collections on the source database to migrate to the target. The keys are the unqualified names of the collections." + }, + "targetRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets." + } + }, + "required": [ + "collections" + ], + "description": "Describes how an individual MongoDB database should be migrated" + }, + "MongoDbMigrationSettings": { + "type": "object", + "properties": { + "boostRUs": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets." + }, + "databases": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseSettings" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The databases on the source cluster to migrate to the target. The keys are the names of the databases." + }, + "replication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Disabled", + "OneTime", + "Continuous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how changes will be replicated from the source to the target. The default is OneTime." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a connection to a MongoDB data source" + }, + "throttling": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbThrottlingSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies resource limits for the migration" + } + }, + "required": [ + "databases", + "source", + "target" + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "MongoDbShardKeyField": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the field" + }, + "order": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Forward", + "Reverse", + "Hashed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The field ordering." + } + }, + "required": [ + "name", + "order" + ], + "description": "Describes a field reference within a MongoDB shard key" + }, + "MongoDbShardKeySetting": { + "type": "object", + "properties": { + "fields": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The fields within the shard key" + }, + "isUnique": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields", + "isUnique" + ], + "description": "Describes a MongoDB shard key" + }, + "MongoDbThrottlingSettings": { + "type": "object", + "properties": { + "maxParallelism": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The maximum number of work items (e.g. collection copies) that will be processed in parallel" + }, + "minFreeCpu": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The percentage of CPU time that the migrator will try to avoid using, from 0 to 100" + }, + "minFreeMemoryMb": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of megabytes of RAM that the migrator will try to avoid using" + } + }, + "description": "Specifies resource limits for the migration" + }, + "MySqlConnectionInfo": { + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "type": { + "type": "string", + "enum": [ + "MySqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to MySQL server" + }, + "OracleConnectionInfo": { + "type": "object", + "properties": { + "dataSource": { + "type": "string", + "description": "EZConnect or TNSName connection string." + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "type": { + "type": "string", + "enum": [ + "OracleConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to Oracle server" + }, + "PostgreSqlConnectionInfo": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "port": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Port for Server" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "PostgreSqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "port", + "serverName", + "type" + ], + "description": "Information for connecting to PostgreSQL server" + }, + "ProjectFileProperties": { + "type": "object", + "properties": { + "extension": { + "type": "string", + "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath." + }, + "filePath": { + "type": "string", + "description": "Relative path of this file resource. This property can be set when creating or updating the file resource." + }, + "mediaType": { + "type": "string", + "description": "File content type. This property can be modified to reflect the file content type." + } + }, + "description": "Base class for file properties." + }, + "ProjectProperties": { + "type": "object", + "properties": { + "databasesInfo": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of DatabaseInfo" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "sourcePlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQL", + "MySQL", + "PostgreSql", + "MongoDb", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Source platform for the project." + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Defines the connection properties of a server" + }, + "targetPlatform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SQLDB", + "SQLMI", + "AzureDbForMySql", + "AzureDbForPostgreSql", + "MongoDb", + "Unknown" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target platform for the project." + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ], + "description": "Project-specific properties" + }, + "ProjectTaskProperties": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ConnectToSourceMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/CheckOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/UploadOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/InstallOCIDriverTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceSqlServerSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourcePostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToSourceOracleSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesOracleTaskProperties" + }, + { + "$ref": "#/definitions/GetUserTablesPostgreSqlTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ConnectToTargetAzureDbForMySqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/MigrateOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlDbSyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskProperties" + }, + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskProperties" + }, + { + "$ref": "#/definitions/ValidateMongoDbTaskProperties" + }, + { + "$ref": "#/definitions/ValidateOracleAzureDbForPostgreSqlSyncTaskProperties" + }, + { + "$ref": "#/definitions/GetTdeCertificatesSqlTaskProperties" + }, + { + "$ref": "#/definitions/MigrateSsisTaskProperties" + } + ], + "properties": { + "clientData": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Key value pairs of client data to attach meta data information to task" + } + }, + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "SchemaMigrationSetting": { + "type": "object", + "properties": { + "fileId": { + "type": "string", + "description": "Resource Identifier of a file resource containing the uploaded schema file" + }, + "schemaOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "ExtractFromSource", + "UseStorageFile" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Option on how to migrate the schema." + } + }, + "description": "Settings for migrating schema from source to target" + }, + "SelectedCertificateInput": { + "type": "object", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of certificate to be exported." + }, + "password": { + "type": "string", + "description": "Password to use for encrypting the exported certificate." + } + }, + "required": [ + "certificateName", + "password" + ], + "description": "Info for certificate to be exported for TDE enabled databases." + }, + "ServiceSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The capacity of the SKU, if it supports scaling" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'" + } + }, + "description": "An Azure SKU instance" + }, + "services_projects_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the project" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Project-specific properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "type": { + "type": "string", + "enum": [ + "projects" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects" + }, + "services_projects_files_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the File" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectFileProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for file properties." + }, + "type": { + "type": "string", + "enum": [ + "files" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/files" + }, + "services_projects_tasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "tasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/projects/tasks" + }, + "services_serviceTasks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2018-07-15-preview" + ] + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "name": { + "type": "string", + "description": "Name of the Task" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned." + }, + "type": { + "type": "string", + "enum": [ + "serviceTasks" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.DataMigration/services/serviceTasks" + }, + "SqlConnectionInfo": { + "type": "object", + "properties": { + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "authentication": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Authentication type to use for connection." + }, + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "encryptConnection": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to encrypt the connection" + }, + "password": { + "type": "string", + "description": "Password credential." + }, + "platform": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SqlOnPrem" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Server platform type for connection." + }, + "trustServerCertificate": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to trust the server certificate" + }, + "type": { + "type": "string", + "enum": [ + "SqlConnectionInfo" + ] + }, + "userName": { + "type": "string", + "description": "User name" + } + }, + "required": [ + "dataSource", + "type" + ], + "description": "Information for connecting to SQL database server" + }, + "SsisMigrationInfo": { + "type": "object", + "properties": { + "environmentOverwriteOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Ignore", + "Overwrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The overwrite option for the SSIS environment migration." + }, + "projectOverwriteOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Ignore", + "Overwrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The overwrite option for the SSIS project migration." + }, + "ssisStoreType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SsisCatalog" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SSIS store type of source, only SSIS catalog is supported now in DMS." + } + }, + "description": "SSIS migration info with SSIS store type, overwrite policy." + }, + "UploadOCIDriverTaskInput": { + "type": "object", + "properties": { + "driverShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + } + }, + "description": "Input for the service task to upload an OCI driver." + }, + "UploadOCIDriverTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/UploadOCIDriverTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the service task to upload an OCI driver." + }, + "taskType": { + "type": "string", + "enum": [ + "Service.Upload.OCI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that uploads an OCI driver." + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL sync migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.SqlDb.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations" + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "properties": { + "azureApp": { + "oneOf": [ + { + "$ref": "#/definitions/AzureActiveDirectoryApp" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Azure Active Directory Application" + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/MiSqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties required to create a connection to Azure SQL database Managed instance" + } + }, + "required": [ + "azureApp", + "selectedDatabases", + "sourceConnectionInfo", + "storageResourceId", + "targetConnectionInfo" + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario." + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario" + }, + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "properties": { + "backupBlobShare": { + "oneOf": [ + { + "$ref": "#/definitions/BlobShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Blob container storage information." + }, + "backupFileShare": { + "oneOf": [ + { + "$ref": "#/definitions/FileShare" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "File share information with Path, Username, and Password." + }, + "backupMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "CreateBackup", + "ExistingBackup" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Mode to specify whether to use existing backup or create new backup." + }, + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "selectedLogins": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Logins to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "backupBlobShare", + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance" + }, + "taskType": { + "type": "string", + "enum": [ + "ValidateMigrationInput.SqlServer.AzureSqlDbMI" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance" + }, + "ValidateMongoDbTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MongoDbMigrationSettings" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes how a MongoDB data migration should be performed" + }, + "taskType": { + "type": "string", + "enum": [ + "Validate.MongoDb" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates a migration between MongoDB data sources" + }, + "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "type": "object", + "properties": { + "input": { + "oneOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations" + }, + "taskType": { + "type": "string", + "enum": [ + "Validate.Oracle.AzureDbPostgreSql.Sync" + ] + } + }, + "required": [ + "taskType" + ], + "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations" + }, + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "properties": { + "selectedDatabases": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Databases to migrate" + }, + "sourceConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + }, + "targetConnectionInfo": { + "oneOf": [ + { + "$ref": "#/definitions/SqlConnectionInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Information for connecting to SQL database server" + } + }, + "required": [ + "selectedDatabases", + "sourceConnectionInfo", + "targetConnectionInfo" + ], + "description": "Input for task that validates migration input for SQL sync migrations" + } + } +} \ No newline at end of file diff --git a/schemas/2019-04-01/deploymentTemplate.json b/schemas/2019-04-01/deploymentTemplate.json index 3e7359c0a8..5bd136a795 100644 --- a/schemas/2019-04-01/deploymentTemplate.json +++ b/schemas/2019-04-01/deploymentTemplate.json @@ -150,6 +150,13 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2020-06-14/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_attacheddatabaseconfigurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_dataconnections" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_principalassignments" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#/resourceDefinitions/clusters_databases_principalassignments" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/alertrules" }, { "$ref": "https://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json#/resourceDefinitions/components" }, { "$ref": "https://schema.management.azure.com/schemas/2019-11-01-preview/Microsoft.Insights.json#/resourceDefinitions/dataCollectionRules" }, @@ -1456,7 +1463,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" }, { "$ref": "https://schema.management.azure.com/schemas/2017-04-19/Microsoft.Advisor.json#/resourceDefinitions/configurations" }, { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/recommendations_suppressions" }, - { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" } + { "$ref": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Advisor.json#/resourceDefinitions/configurations" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices" }, + { "$ref": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#/resourceDefinitions/cloudServices_updateDomains" } ] } ] diff --git a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json index 7d55877ade..a736963e1a 100644 --- a/schemas/2019-05-01-preview/Microsoft.AppPlatform.json +++ b/schemas/2019-05-01-preview/Microsoft.AppPlatform.json @@ -219,6 +219,17 @@ ], "description": "Deployment resource properties payload" }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Cloud" + }, "type": { "type": "string", "enum": [ @@ -1021,6 +1032,17 @@ ], "description": "Deployment resource properties payload" }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku of Azure Spring Cloud" + }, "type": { "type": "string", "enum": [ diff --git a/schemas/2019-06-01-preview/Microsoft.Sql.json b/schemas/2019-06-01-preview/Microsoft.Sql.json index b0429f3708..16f0b0e789 100644 --- a/schemas/2019-06-01-preview/Microsoft.Sql.json +++ b/schemas/2019-06-01-preview/Microsoft.Sql.json @@ -786,7 +786,9 @@ { "type": "string", "enum": [ - "SystemAssigned" + "None", + "SystemAssigned", + "UserAssigned" ] }, { 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..97283a3ee0 100644 --- a/schemas/2019-10-01-preview/Microsoft.Resources.json +++ b/schemas/2019-10-01-preview/Microsoft.Resources.json @@ -199,8 +199,9 @@ }, "timeout": { "type": "string", + "default": "P1D", "format": "duration", - "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D" } }, "required": [ @@ -333,8 +334,9 @@ }, "timeout": { "type": "string", + "default": "P1D", "format": "duration", - "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D" } }, "required": [ @@ -431,16 +433,7 @@ }, "UserAssignedIdentity": { "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "Client App Id associated with this identity." - }, - "principalId": { - "type": "string", - "description": "Azure Active Directory principal ID associated with this identity." - } - }, + "properties": {}, "description": "User-assigned managed identity." } }, diff --git a/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json new file mode 100644 index 0000000000..bbaec91627 --- /dev/null +++ b/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json @@ -0,0 +1,1145 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.HybridNetwork", + "description": "Microsoft HybridNetwork Resource Types", + "resourceDefinitions": { + "devices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Resource name for the device resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DevicePropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Device 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.HybridNetwork/devices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/devices" + }, + "networkFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Resource name for the network function resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network function 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.HybridNetwork/networkFunctions" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/networkFunctions" + } + }, + "subscription_resourceDefinitions": { + "locations_vendors_networkFunctions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The GUID for the vendor network function." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorNetworkFunctionPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vendor network function properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/locations/vendors/networkFunctions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/locations/vendors/networkFunctions" + }, + "vendors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the vendor." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Vendor properties." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vendors_vendorSkus_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors" + }, + "vendors_vendorSkus": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sku." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorSkuPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/vendors_vendorSkus_previewSubscriptions_childResource" + } + ] + } + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors/vendorSkus" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus" + }, + "vendors_vendorSkus_previewSubscriptions": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Preview subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + } + }, + "definitions": { + "CustomProfile": { + "type": "object", + "properties": { + "metadataConfigurationPath": { + "type": "string", + "description": "Path for metadata configuration." + } + }, + "description": "Specifies the custom settings for the virtual machine." + }, + "DataDisk": { + "type": "object", + "properties": { + "createOption": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Empty" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies how the virtual machine should be created." + }, + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of an empty disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image." + }, + "name": { + "type": "string", + "description": "The name of data disk." + } + }, + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "DevicePropertiesFormat": { + "type": "object", + "properties": { + "azureStackEdge": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another sub resource." + } + }, + "description": "Device properties." + }, + "ImageReference": { + "type": "object", + "properties": { + "exactVersion": { + "type": "string", + "description": "Specifies in decimal numbers, the exact version of image used to create the virtual machine." + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the image used to create the virtual machine." + }, + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + } + }, + "description": "The image reference properties." + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "ssh": { + "oneOf": [ + { + "$ref": "#/definitions/SshConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SSH configuration for Linux based VMs running on Azure" + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine." + }, + "NetworkFunctionPropertiesFormat": { + "type": "object", + "properties": { + "device": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Reference to another sub resource." + }, + "managedApplicationParameters": { + "type": "object", + "properties": {}, + "description": "The parameters for the managed application." + }, + "networkFunctionUserConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionUserConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network function configurations from the user." + }, + "skuName": { + "type": "string", + "description": "The sku name for the network function." + }, + "vendorName": { + "type": "string", + "description": "The vendor name for the network function." + } + }, + "description": "Network function properties." + }, + "NetworkFunctionRoleConfiguration": { + "type": "object", + "properties": { + "customProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CustomProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the custom settings for the virtual machine." + }, + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configurations." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "roleType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "VirtualMachine" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Role type." + }, + "storageProfile": { + "oneOf": [ + { + "$ref": "#/definitions/StorageProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the storage settings for the virtual machine disks." + }, + "userDataParameters": { + "type": "object", + "properties": {}, + "description": "The user data parameters." + }, + "userDataTemplate": { + "type": "object", + "properties": {}, + "description": "The user data template." + }, + "virtualMachineSize": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The size of the virtual machine." + } + }, + "description": "Network function role configuration." + }, + "NetworkFunctionTemplate": { + "type": "object", + "properties": { + "networkFunctionRoleConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionRoleConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of network function role definitions." + } + }, + "description": "The network function template." + }, + "NetworkFunctionUserConfiguration": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configuration." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionUserConfigurationOsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataParameters": { + "type": "object", + "properties": {}, + "description": "The user data parameters." + } + }, + "description": "The network function user configuration." + }, + "NetworkFunctionUserConfigurationOsProfile": { + "type": "object", + "properties": { + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

**Note: Do not pass any secrets or passwords in customData property**

This property cannot be updated after the VM is created.

customData is passed to the VM to be saved as a file. For more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "NetworkFunctionVendorConfiguration": { + "type": "object", + "properties": { + "networkInterfaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterface" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network interface configurations." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/OsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the operating system settings for the role instance." + }, + "roleName": { + "type": "string", + "description": "The name of the vendor network function role." + } + }, + "description": "Network function vendor configuration." + }, + "NetworkInterface": { + "type": "object", + "properties": { + "ipConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of IP configurations of the network interface." + }, + "macAddress": { + "type": "string", + "description": "The MAC address of the network interface." + }, + "networkInterfaceName": { + "type": "string", + "description": "The name of the network interface." + }, + "vmSwitchType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Management", + "Wan", + "Lan" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the VM switch." + } + }, + "description": "Network interface properties." + }, + "NetworkInterfaceIPConfiguration": { + "type": "object", + "properties": { + "dnsServers": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of DNS servers IP addresses." + }, + "gateway": { + "type": "string", + "description": "The value of the gateway." + }, + "ipAddress": { + "type": "string", + "description": "The value of the IP address." + }, + "ipAllocationMethod": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Static", + "Dynamic" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address allocation method." + }, + "ipVersion": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "IPv4" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "IP address version." + }, + "subnet": { + "type": "string", + "description": "The value of the subnet." + } + }, + "description": "Network interface IP configuration properties." + }, + "OsDisk": { + "type": "object", + "properties": { + "diskSizeGB": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri." + }, + "name": { + "type": "string", + "description": "The VHD name." + }, + "osType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Windows", + "Linux" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The OS type." + }, + "vhd": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualHardDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the uri of a disk." + } + }, + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + }, + "OsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the virtual machine. The maximum length of the binary array is 65535 bytes.

    **Note: Do not pass any secrets or passwords in customData property**

    This property cannot be updated after the VM is created.

    customData is passed to the VM to be saved as a file. For more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)

    For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + }, + "customDataRequired": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if custom data is required to deploy this role." + }, + "linuxConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/LinuxConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the Linux operating system settings on the virtual machine." + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "SshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "SshPublicKey": { + "type": "object", + "properties": { + "keyData": { + "type": "string", + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

    For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + }, + "path": { + "type": "string", + "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys" + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "StorageProfile": { + "type": "object", + "properties": { + "dataDisks": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the parameters that are used to add a data disk to a virtual machine." + }, + "imageReference": { + "oneOf": [ + { + "$ref": "#/definitions/ImageReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The image reference properties." + }, + "osDisk": { + "oneOf": [ + { + "$ref": "#/definitions/OsDisk" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another sub resource." + }, + "VendorNetworkFunctionPropertiesFormat": { + "type": "object", + "properties": { + "networkFunctionVendorConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendorConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array of network function vendor configurations." + }, + "vendorProvisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioned", + "UserDataValidationFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The vendor controlled provisioning state of the vendor network function." + } + }, + "description": "Vendor network function properties." + }, + "VendorPropertiesFormat": { + "type": "object", + "properties": {}, + "description": "Vendor properties." + }, + "VendorSkuPropertiesFormat": { + "type": "object", + "properties": { + "deploymentMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "Azure", + "PrivateEdgeZone" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku deployment mode." + }, + "managedApplicationParameters": { + "type": "object", + "properties": {}, + "description": "The parameters for the managed application." + }, + "managedApplicationTemplate": { + "type": "object", + "properties": {}, + "description": "The template for the managed application deployment." + }, + "networkFunctionTemplate": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkFunctionTemplate" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network function template." + }, + "preview": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates if the vendor sku is in preview mode." + }, + "skuType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "EvolvedPacketCore", + "SDWAN", + "Firewall" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sku type." + } + }, + "description": "Sku properties" + }, + "vendors_vendorSkus_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the sku." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VendorSkuPropertiesFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku properties" + }, + "type": { + "type": "string", + "enum": [ + "vendorSkus" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus" + }, + "vendors_vendorSkus_previewSubscriptions_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Preview subscription ID." + }, + "type": { + "type": "string", + "enum": [ + "previewSubscriptions" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.HybridNetwork/vendors/vendorSkus/previewSubscriptions" + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + } + } +} \ No newline at end of file diff --git a/schemas/2020-01-01-preview/Microsoft.Kubernetes.json b/schemas/2020-01-01-preview/Microsoft.Kubernetes.json new file mode 100644 index 0000000000..52d3d57598 --- /dev/null +++ b/schemas/2020-01-01-preview/Microsoft.Kubernetes.json @@ -0,0 +1,198 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Kubernetes.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kubernetes", + "description": "Microsoft Kubernetes Resource Types", + "resourceDefinitions": { + "connectedClusters": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the connected cluster." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "The name of the Kubernetes cluster on which get is called." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the connected cluster." + }, + "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.Kubernetes/connectedClusters" + ] + } + }, + "required": [ + "apiVersion", + "identity", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Kubernetes/connectedClusters" + } + }, + "definitions": { + "ConnectedClusterAADProfile": { + "type": "object", + "properties": { + "clientAppId": { + "type": "string", + "description": "The client app id configured on target K8 cluster " + }, + "serverAppId": { + "type": "string", + "description": "The server app id to access AD server" + }, + "tenantId": { + "type": "string", + "description": "The aad tenant id which is configured on target K8s cluster" + } + }, + "required": [ + "clientAppId", + "serverAppId", + "tenantId" + ], + "description": "AAD profile of the connected cluster" + }, + "ConnectedClusterIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the connected cluster. The type 'SystemAssigned, includes a system created identity. The type 'None' means no identity is assigned to the connected cluster." + } + }, + "required": [ + "type" + ], + "description": "Identity for the connected cluster." + }, + "ConnectedClusterProperties": { + "type": "object", + "properties": { + "aadProfile": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedClusterAADProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "AAD profile of the connected cluster" + }, + "agentPublicKeyCertificate": { + "type": "string", + "description": "Base64 encoded public certificate used by the agent to do the initial handshake to the backend services in Azure." + }, + "connectivityStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Connecting", + "Connected", + "Offline", + "Expired" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Represents the connectivity status of the connected cluster." + }, + "distribution": { + "type": "string", + "description": "The Kubernetes distribution running on this connected cluster." + }, + "infrastructure": { + "type": "string", + "description": "The infrastructure on which the Kubernetes cluster represented by this connected cluster is running on." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning", + "Updating", + "Deleting", + "Accepted" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioning state of the connected cluster resource." + } + }, + "required": [ + "aadProfile", + "agentPublicKeyCertificate" + ], + "description": "Properties of the connected cluster." + } + } +} \ No newline at end of file diff --git a/schemas/2020-01-01/Microsoft.AAD.json b/schemas/2020-01-01/Microsoft.AAD.json index 7728f65760..bde6d5be0d 100644 --- a/schemas/2020-01-01/Microsoft.AAD.json +++ b/schemas/2020-01-01/Microsoft.AAD.json @@ -246,6 +246,17 @@ ], "description": "Secure LDAP Settings" }, + "migrationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Properties" + }, "notificationSettings": { "oneOf": [ { @@ -398,6 +409,52 @@ }, "description": "Secure LDAP Settings" }, + "MigrationProgress": { + "type": "object", + "properties": { + "completionPercentage": { + "oneOf": [ + { + "type": "number" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Completion Percentage" + }, + "progressMessage": { + "type": "string", + "description": "Progress Message" + } + }, + "description": "Migration Progress" + }, + "MigrationProperties": { + "type": "object", + "properties": { + "migrationProgress": { + "oneOf": [ + { + "$ref": "#/definitions/MigrationProgress" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Migration Progress" + }, + "oldSubnetId": { + "type": "string", + "description": "Old Subnet Id" + }, + "oldVnetSiteId": { + "type": "string", + "description": "Old Vnet Site Id" + } + }, + "description": "Migration Properties" + }, "NotificationSettings": { "type": "object", "properties": { diff --git a/schemas/2020-01-01/Microsoft.Devices.json b/schemas/2020-01-01/Microsoft.Devices.json new file mode 100644 index 0000000000..c1a5f31a27 --- /dev/null +++ b/schemas/2020-01-01/Microsoft.Devices.json @@ -0,0 +1,412 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Devices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "provisioningServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "Name of provisioning service to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/provisioningServices_certificates_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of possible provisioning service SKUs." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/provisioningServices" + }, + "provisioningServices_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + } + }, + "definitions": { + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of authorization keys for a provisioning service." + }, + "iotHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IoT hubs associated with this provisioning service." + }, + "ipFilterRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP filter rules." + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current state of the provisioning service." + } + }, + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "IotDpsSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of units to provision" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "weight to apply for a given iot h." + }, + "applyAllocationPolicy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "flag for applying allocationPolicy or not for a given iot hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string og the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." + }, + "IpFilterRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accept", + "Reject" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired action for requests captured by this rule." + }, + "filterName": { + "type": "string", + "description": "The name of the IP filter rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + }, + "target": { + "oneOf": [ + { + "type": "string", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target for requests captured by this rule." + } + }, + "required": [ + "action", + "filterName", + "ipMask" + ], + "description": "The IP filter rules for the IoT dps." + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-01-01" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rights that this key has." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "Description of the shared access key." + } + } +} diff --git a/schemas/2020-01-01/Microsoft.Marketplace.json b/schemas/2020-01-01/Microsoft.Marketplace.json index afc631b453..7e095e0bc8 100644 --- a/schemas/2020-01-01/Microsoft.Marketplace.json +++ b/schemas/2020-01-01/Microsoft.Marketplace.json @@ -144,7 +144,11 @@ "iconFileUris": { "oneOf": [ { - "$ref": "#/definitions/OfferPropertiesIconFileUris" + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" @@ -193,34 +197,6 @@ } } }, - "OfferPropertiesIconFileUris": { - "type": "object", - "properties": { - "iconKind": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Small", - "Medium", - "Large", - "Wide", - "Hero" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Icon size." - }, - "uri": { - "type": "string", - "description": "Icon uri" - } - }, - "description": "Icon File Uris" - }, "Plan": { "type": "object", "properties": { diff --git a/schemas/2020-02-01-preview/Microsoft.Datadog.json b/schemas/2020-02-01-preview/Microsoft.Datadog.json new file mode 100644 index 0000000000..f2250ef32b --- /dev/null +++ b/schemas/2020-02-01-preview/Microsoft.Datadog.json @@ -0,0 +1,665 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Datadog", + "description": "Microsoft Datadog Resource Types", + "resourceDefinitions": { + "monitors": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "location": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Monitor resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitorProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties specific to the monitor resource." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/monitors_tagRules_childResource" + }, + { + "$ref": "#/definitions/monitors_singleSignOnConfigurations_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/ResourceSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors" + }, + "monitors_singleSignOnConfigurations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors/singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Rule set name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/monitors/tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + } + }, + "subscription_resourceDefinitions": { + "agreements": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogAgreementProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Datadog/agreements" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/agreements" + } + }, + "definitions": { + "DatadogAgreementProperties": { + "type": "object", + "properties": { + "accepted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If any version of the terms have been accepted, otherwise false." + }, + "licenseTextLink": { + "type": "string", + "description": "Link to HTML with Microsoft and Publisher terms." + }, + "plan": { + "type": "string", + "description": "Plan identifier string." + }, + "privacyPolicyLink": { + "type": "string", + "description": "Link to the privacy policy of the publisher." + }, + "product": { + "type": "string", + "description": "Product identifier string." + }, + "publisher": { + "type": "string", + "description": "Publisher identifier string." + }, + "retrieveDatetime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false." + }, + "signature": { + "type": "string", + "description": "Terms signature." + } + }, + "description": "Terms properties." + }, + "DatadogOrganizationProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign on." + }, + "linkingAuthCode": { + "type": "string", + "description": "The auth code used to linking to an existing datadog organization." + }, + "linkingClientId": { + "type": "string", + "description": "The client_id from an existing in exchange for an auth token to link organization." + } + }, + "description": "Datadog organization properties" + }, + "DatadogSingleSignOnProperties": { + "type": "object", + "properties": { + "enterpriseAppId": { + "type": "string", + "description": "The Id of the Enterprise App used for Single sign-on." + }, + "singleSignOnState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Initial", + "Enable", + "Disable", + "Existing" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "FilteringTag": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Include", + "Exclude" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "name": { + "type": "string", + "description": "The name (also known as the key) of the tag." + }, + "value": { + "type": "string", + "description": "The value of the tag." + } + }, + "description": "The definition of a filtering tag. Filtering tags are used for capturing resources and include/exclude them from being monitored." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "LogRules": { + "type": "object", + "properties": { + "filteringTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of filtering tags to be used for capturing logs. This only takes effect if SendResourceLogs flag is enabled. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + }, + "sendAadLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if AAD logs should be sent for the Monitor resource." + }, + "sendResourceLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if Azure resource logs should be sent for the Monitor resource." + }, + "sendSubscriptionLogs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Flag specifying if Azure subscription logs should be sent for the Monitor resource." + } + }, + "description": "Set of rules for sending logs for the Monitor resource." + }, + "MetricRules": { + "type": "object", + "properties": { + "filteringTags": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/FilteringTag" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of filtering tags to be used for capturing metrics. If empty, all resources will be captured. If only Exclude action is specified, the rules will apply to the list of all available resources. If Include actions are specified, the rules will only include resources with the associated tags." + } + }, + "description": "Set of rules for sending metrics for the Monitor resource." + }, + "MonitoringTagRulesProperties": { + "type": "object", + "properties": { + "logRules": { + "oneOf": [ + { + "$ref": "#/definitions/LogRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending logs for the Monitor resource." + }, + "metricRules": { + "oneOf": [ + { + "$ref": "#/definitions/MetricRules" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of rules for sending metrics for the Monitor resource." + } + }, + "description": "Definition of the properties for a TagRules resource." + }, + "MonitorProperties": { + "type": "object", + "properties": { + "datadogOrganizationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogOrganizationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Datadog organization properties" + }, + "liftrResourceCategory": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Unknown", + "MonitorLogs" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "marketplaceSubscriptionStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Active", + "Suspended" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "monitoringStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "userInfo": { + "oneOf": [ + { + "$ref": "#/definitions/UserInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "User info" + } + }, + "description": "Properties specific to the monitor resource." + }, + "monitors_singleSignOnConfigurations_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Configuration name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatadogSingleSignOnProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "singleSignOnConfigurations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/singleSignOnConfigurations" + }, + "monitors_tagRules_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-02-01-preview" + ] + }, + "name": { + "type": "string", + "description": "Rule set name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/MonitoringTagRulesProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Definition of the properties for a TagRules resource." + }, + "type": { + "type": "string", + "enum": [ + "tagRules" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Datadog/monitors/tagRules" + }, + "ResourceSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU." + } + }, + "required": [ + "name" + ] + }, + "UserInfo": { + "type": "object", + "properties": { + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^[A-Za-z0-9._%+-]+@(?:[A-Za-z0-9-]+\\.)+[A-Za-z]{2,}$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email of the user used by Datadog for contacting them if needed" + }, + "name": { + "type": "string", + "maxLength": 50, + "description": "Name of the user" + }, + "phoneNumber": { + "type": "string", + "maxLength": 40, + "description": "Phone number of the user used by Datadog for contacting them if needed" + } + }, + "description": "User info" + } + } +} \ No newline at end of file diff --git a/schemas/2020-02-02-preview/Microsoft.Sql.json b/schemas/2020-02-02-preview/Microsoft.Sql.json index 06a57704a4..118ecb7eaf 100644 --- a/schemas/2020-02-02-preview/Microsoft.Sql.json +++ b/schemas/2020-02-02-preview/Microsoft.Sql.json @@ -860,7 +860,9 @@ { "type": "string", "enum": [ - "SystemAssigned" + "None", + "SystemAssigned", + "UserAssigned" ] }, { diff --git a/schemas/2020-03-01-preview/Microsoft.Confluent.json b/schemas/2020-03-01-preview/Microsoft.Confluent.json new file mode 100644 index 0000000000..fcf37c97c1 --- /dev/null +++ b/schemas/2020-03-01-preview/Microsoft.Confluent.json @@ -0,0 +1,289 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Confluent", + "description": "Microsoft Confluent Resource Types", + "resourceDefinitions": { + "organizations": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Location of Organization resource" + }, + "name": { + "type": "string", + "description": "Organization resource name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesModel" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Organization resource properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Organization resource tags" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Confluent/organizations" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Confluent/organizations" + } + }, + "subscription_resourceDefinitions": { + "agreements": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-03-01-preview" + ] + }, + "name": { + "type": "string", + "enum": [ + "default" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfluentAgreementProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Terms properties for Marketplace and Confluent." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Confluent/agreements" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Confluent/agreements" + } + }, + "definitions": { + "ConfluentAgreementProperties": { + "type": "object", + "properties": { + "accepted": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If any version of the terms have been accepted, otherwise false." + }, + "licenseTextLink": { + "type": "string", + "description": "Link to HTML with Microsoft and Publisher terms." + }, + "plan": { + "type": "string", + "description": "Plan identifier string." + }, + "privacyPolicyLink": { + "type": "string", + "description": "Link to the privacy policy of the publisher." + }, + "product": { + "type": "string", + "description": "Product identifier string." + }, + "publisher": { + "type": "string", + "description": "Publisher identifier string." + }, + "retrieveDatetime": { + "type": "string", + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false." + }, + "signature": { + "type": "string", + "description": "Terms signature." + } + }, + "description": "Terms properties for Marketplace and Confluent." + }, + "OrganizationResourcePropertiesModel": { + "type": "object", + "properties": { + "offerDetail": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesOfferDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Confluent offer detail" + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provision states for confluent RP." + }, + "userDetail": { + "oneOf": [ + { + "$ref": "#/definitions/OrganizationResourcePropertiesUserDetail" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Subscriber detail" + } + }, + "description": "Organization resource properties" + }, + "OrganizationResourcePropertiesOfferDetail": { + "type": "object", + "properties": { + "id": { + "type": "string", + "maxLength": 50, + "description": "Offer Id" + }, + "planId": { + "type": "string", + "maxLength": 50, + "description": "Offer Plan Id" + }, + "planName": { + "type": "string", + "maxLength": 50, + "description": "Offer Plan Name" + }, + "publisherId": { + "type": "string", + "maxLength": 50, + "description": "Publisher Id" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Started", + "PendingFulfillmentStart", + "InProgress", + "Subscribed", + "Suspended", + "Reinstated", + "Succeeded", + "Failed", + "Unsubscribed", + "Updating" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SaaS Offer Status." + }, + "termUnit": { + "type": "string", + "maxLength": 25, + "description": "Offer Plan Term unit" + } + }, + "description": "Confluent offer detail" + }, + "OrganizationResourcePropertiesUserDetail": { + "type": "object", + "properties": { + "emailAddress": { + "oneOf": [ + { + "type": "string", + "pattern": "^\\S+@\\S+\\.\\S+$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Email address" + }, + "firstName": { + "type": "string", + "maxLength": 50, + "description": "First name" + }, + "lastName": { + "type": "string", + "maxLength": 50, + "description": "Last name" + } + }, + "description": "Subscriber detail" + } + } +} \ No newline at end of file diff --git a/schemas/2020-03-01/Microsoft.Devices.json b/schemas/2020-03-01/Microsoft.Devices.json index 0ee82decf8..b64e817a06 100644 --- a/schemas/2020-03-01/Microsoft.Devices.json +++ b/schemas/2020-03-01/Microsoft.Devices.json @@ -4,7 +4,7 @@ "title": "Microsoft.Devices", "description": "Microsoft Devices Resource Types", "resourceDefinitions": { - "IotHubs": { + "provisioningServices": { "type": "object", "properties": { "apiVersion": { @@ -23,28 +23,28 @@ }, "name": { "type": "string", - "description": "The name of the IoT hub." + "description": "Name of provisioning service to create or update." }, "properties": { "oneOf": [ { - "$ref": "#/definitions/IotHubProperties" + "$ref": "#/definitions/IotDpsPropertiesDescription" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties of an IoT hub." + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" }, "resources": { "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/IotHubs_certificates_childResource" + "$ref": "#/definitions/provisioningServices_certificates_childResource" }, { - "$ref": "#/definitions/iotHubs_privateEndpointConnections_childResource" + "$ref": "#/definitions/provisioningServices_privateEndpointConnections_childResource" } ] } @@ -52,13 +52,13 @@ "sku": { "oneOf": [ { - "$ref": "#/definitions/IotHubSkuInfo" + "$ref": "#/definitions/IotDpsSkuInfo" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Information about the SKU of the IoT hub." + "description": "List of possible provisioning service SKUs." }, "tags": { "oneOf": [ @@ -78,7 +78,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.Devices/IotHubs" + "Microsoft.Devices/provisioningServices" ] } }, @@ -90,9 +90,9 @@ "sku", "type" ], - "description": "Microsoft.Devices/IotHubs" + "description": "Microsoft.Devices/provisioningServices" }, - "IotHubs_certificates": { + "provisioningServices_certificates": { "type": "object", "properties": { "apiVersion": { @@ -103,51 +103,16 @@ }, "certificate": { "type": "string", - "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." }, "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the certificate" - }, - "type": { - "type": "string", - "enum": [ - "Microsoft.Devices/IotHubs/certificates" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Devices/IotHubs/certificates" - }, - "IotHubs_eventHubEndpoints_ConsumerGroups": { - "type": "object", - "properties": { - "apiVersion": { "type": "string", - "enum": [ - "2020-03-01" - ] - }, - "name": { - "type": "string", - "description": "The name of the consumer group to add." + "description": "The name of the certificate create or update." }, "type": { "type": "string", "enum": [ - "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" + "Microsoft.Devices/provisioningServices/certificates" ] } }, @@ -156,9 +121,9 @@ "name", "type" ], - "description": "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups" + "description": "Microsoft.Devices/provisioningServices/certificates" }, - "iotHubs_privateEndpointConnections": { + "provisioningServices_privateEndpointConnections": { "type": "object", "properties": { "apiVersion": { @@ -185,7 +150,7 @@ "type": { "type": "string", "enum": [ - "Microsoft.Devices/iotHubs/privateEndpointConnections" + "Microsoft.Devices/provisioningServices/privateEndpointConnections" ] } }, @@ -195,1196 +160,454 @@ "properties", "type" ], - "description": "Microsoft.Devices/iotHubs/privateEndpointConnections" + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" } }, - "definitions": { - "CloudToDeviceProperties": { - "type": "object", - "properties": { - "defaultTtlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "feedback": { - "oneOf": [ - { - "$ref": "#/definitions/FeedbackProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of the feedback queue for cloud-to-device messages." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - } - }, - "description": "The IoT hub cloud-to-device messaging properties." - }, - "EnrichmentProperties": { - "type": "object", - "properties": { - "endpointNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of endpoints for which the enrichment is applied to the message." - }, - "key": { - "type": "string", - "description": "The key or name for the enrichment property." - }, - "value": { - "type": "string", - "description": "The value for the enrichment property." - } - }, - "required": [ - "endpointNames", - "key", - "value" - ], - "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints." - }, - "EventHubProperties": { - "type": "object", - "properties": { - "partitionCount": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages." - }, - "retentionTimeInDays": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages" - } - }, - "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub." - }, - "FallbackRouteProperties": { - "type": "object", - "properties": { - "condition": { - "type": "string", - "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" - }, - "endpointNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used to specify whether the fallback route is enabled." - }, - "name": { - "type": "string", - "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." - }, - "source": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Invalid", - "DeviceMessages", - "TwinChangeEvents", - "DeviceLifecycleEvents", - "DeviceJobLifecycleEvents" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages." - } - }, - "required": [ - "endpointNames", - "isEnabled", - "source" - ], - "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." - }, - "FeedbackProperties": { - "type": "object", - "properties": { - "lockDurationAsIso8601": { - "type": "string", - "format": "duration", - "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - }, - "ttlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages." - } - }, - "description": "The properties of the feedback queue for cloud-to-device messages." - }, - "IotHubProperties": { - "type": "object", - "properties": { - "authorizationPolicies": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The shared access policies you can use to secure a connection to the IoT hub." - }, - "cloudToDevice": { - "oneOf": [ - { - "$ref": "#/definitions/CloudToDeviceProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The IoT hub cloud-to-device messaging properties." - }, - "comments": { - "type": "string", - "description": "IoT hub comments." - }, - "enableFileUploadNotifications": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "If True, file upload notifications are enabled." - }, - "eventHubEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/EventHubProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub." - }, - "features": { - "oneOf": [ - { - "type": "string", - "enum": [ - "None", - "DeviceManagement" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The capabilities and features enabled for the IoT hub." - }, - "ipFilterRules": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/IpFilterRule" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The IP filter rules." - }, - "messagingEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MessagingEndpointProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The messaging endpoint properties for the file upload notification queue." - }, - "minTlsVersion": { - "type": "string", - "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." - }, - "privateEndpointConnections": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnection" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Private endpoint connections created on this IotHub" - }, - "publicNetworkAccess": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Enabled", - "Disabled" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Whether requests from Public Network are allowed." - }, - "routing": { - "oneOf": [ - { - "$ref": "#/definitions/RoutingProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" - }, - "storageEndpoints": { - "oneOf": [ - { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/StorageEndpointProperties" - }, - "properties": {} - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown." - } - }, - "description": "The properties of an IoT hub." - }, - "IotHubSkuInfo": { - "type": "object", - "properties": { - "capacity": { - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits." - }, - "name": { - "oneOf": [ - { - "type": "string", - "enum": [ - "F1", - "S1", - "S2", - "S3", - "B1", - "B2", - "B3" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the SKU." - } - }, - "required": [ - "name" - ], - "description": "Information about the SKU of the IoT hub." - }, - "IotHubs_certificates_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-03-01" - ] - }, - "certificate": { - "type": "string", - "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content." - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the certificate" - }, - "type": { - "type": "string", - "enum": [ - "certificates" - ] - } - }, - "required": [ - "apiVersion", - "name", - "type" - ], - "description": "Microsoft.Devices/IotHubs/certificates" - }, - "iotHubs_privateEndpointConnections_childResource": { - "type": "object", - "properties": { - "apiVersion": { - "type": "string", - "enum": [ - "2020-03-01" - ] - }, - "name": { - "type": "string", - "description": "The name of the private endpoint connection" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateEndpointConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of a private endpoint connection" - }, - "type": { - "type": "string", - "enum": [ - "privateEndpointConnections" - ] - } - }, - "required": [ - "apiVersion", - "name", - "properties", - "type" - ], - "description": "Microsoft.Devices/iotHubs/privateEndpointConnections" - }, - "IpFilterRule": { - "type": "object", - "properties": { - "action": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Accept", - "Reject" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The desired action for requests captured by this rule." - }, - "filterName": { - "type": "string", - "description": "The name of the IP filter rule." - }, - "ipMask": { - "type": "string", - "description": "A string that contains the IP address range in CIDR notation for the rule." - } - }, - "required": [ - "action", - "filterName", - "ipMask" - ], - "description": "The IP filter rules for the IoT hub." - }, - "MessagingEndpointProperties": { - "type": "object", - "properties": { - "lockDurationAsIso8601": { - "type": "string", - "format": "duration", - "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - }, - "maxDeliveryCount": { - "oneOf": [ - { - "type": "integer", - "minimum": 1, - "maximum": 100 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - }, - "ttlAsIso8601": { - "type": "string", - "format": "duration", - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload." - } - }, - "description": "The properties of the messaging endpoints used by this IoT hub." - }, - "PrivateEndpoint": { - "type": "object", - "properties": {}, - "description": "The private endpoint property of a private endpoint connection" - }, - "PrivateEndpointConnection": { - "type": "object", - "properties": { - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateEndpointConnectionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The properties of a private endpoint connection" - } - }, - "required": [ - "properties" - ], - "description": "The private endpoint connection of an IotHub" - }, - "PrivateEndpointConnectionProperties": { - "type": "object", - "properties": { - "privateEndpoint": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateEndpoint" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The private endpoint property of a private endpoint connection" - }, - "privateLinkServiceConnectionState": { - "oneOf": [ - { - "$ref": "#/definitions/PrivateLinkServiceConnectionState" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The current state of a private endpoint connection" - } - }, - "required": [ - "privateLinkServiceConnectionState" - ], - "description": "The properties of a private endpoint connection" - }, - "PrivateLinkServiceConnectionState": { - "type": "object", - "properties": { - "actionsRequired": { - "type": "string", - "description": "Actions required for a private endpoint connection" - }, - "description": { - "type": "string", - "description": "The description for the current state of a private endpoint connection" - }, - "status": { - "oneOf": [ - { - "type": "string", - "enum": [ - "Pending", - "Approved", - "Rejected", - "Disconnected" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The status of a private endpoint connection." - } - }, - "required": [ - "description", - "status" - ], - "description": "The current state of a private endpoint connection" - }, - "RouteProperties": { - "type": "object", - "properties": { - "condition": { - "type": "string", - "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language" - }, - "endpointNames": { - "oneOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed." - }, - "isEnabled": { - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Used to specify whether a route is enabled." - }, - "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique." - }, - "source": { + "definitions": { + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { "oneOf": [ { "type": "string", "enum": [ - "Invalid", - "DeviceMessages", - "TwinChangeEvents", - "DeviceLifecycleEvents", - "DeviceJobLifecycleEvents" + "Hashed", + "GeoLatency", + "Static" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The source that the routing rule is to be applied to, such as DeviceMessages." - } - }, - "required": [ - "endpointNames", - "isEnabled", - "name", - "source" - ], - "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints." - }, - "RoutingEndpoints": { - "type": "object", - "properties": { - "eventHubs": { + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RoutingEventHubProperties" + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint." + "description": "List of authorization keys for a provisioning service." }, - "serviceBusQueues": { + "iotHubs": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + "$ref": "#/definitions/IotHubDefinitionDescription" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules." + "description": "List of IoT hubs associated with this provisioning service." }, - "serviceBusTopics": { + "ipFilterRules": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + "$ref": "#/definitions/IpFilterRule" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules." + "description": "The IP filter rules." }, - "storageContainers": { + "privateEndpointConnections": { "oneOf": [ { "type": "array", "items": { - "$ref": "#/definitions/RoutingStorageContainerProperties" + "$ref": "#/definitions/PrivateEndpointConnection" } }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules." - } - }, - "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." - }, - "RoutingEventHubProperties": { - "type": "object", - "properties": { - "authenticationType": { + "description": "Private endpoint connections created on this IotHub" + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "publicNetworkAccess": { "oneOf": [ { "type": "string", "enum": [ - "keyBased", - "identityBased" + "Enabled", + "Disabled" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Method used to authenticate against the event hub endpoint." - }, - "connectionString": { - "type": "string", - "description": "The connection string of the event hub endpoint. " - }, - "endpointUri": { - "type": "string", - "description": "The url of the event hub endpoint. It must include the protocol sb://" - }, - "entityPath": { - "type": "string", - "description": "Event hub name on the event hub namespace" - }, - "id": { - "type": "string", - "description": "Id of the event hub endpoint" + "description": "Whether requests from Public Network are allowed." }, - "name": { + "state": { "oneOf": [ { "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the event hub endpoint." - }, - "subscriptionId": { - "type": "string", - "description": "The subscription identifier of the event hub endpoint." + "description": "Current state of the provisioning service." } }, - "required": [ - "name" - ], - "description": "The properties related to an event hub endpoint." + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" }, - "RoutingProperties": { + "IotDpsSkuInfo": { "type": "object", "properties": { - "endpoints": { + "capacity": { "oneOf": [ { - "$ref": "#/definitions/RoutingEndpoints" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs." + "description": "The number of units to provision" }, - "enrichments": { + "name": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/EnrichmentProperties" - } + "type": "string", + "enum": [ + "S1" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid" - }, - "fallbackRoute": { + "description": "Sku name." + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { "oneOf": [ { - "$ref": "#/definitions/FallbackRouteProperties" + "type": "integer" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint." + "description": "weight to apply for a given iot h." }, - "routes": { + "applyAllocationPolicy": { "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/definitions/RouteProperties" - } + "type": "boolean" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs." + "description": "flag for applying allocationPolicy or not for a given iot hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." } }, - "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging" + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." }, - "RoutingServiceBusQueueEndpointProperties": { + "IpFilterRule": { "type": "object", "properties": { - "authenticationType": { + "action": { "oneOf": [ { "type": "string", "enum": [ - "keyBased", - "identityBased" + "Accept", + "Reject" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Method used to authenticate against the service bus queue endpoint." - }, - "connectionString": { - "type": "string", - "description": "The connection string of the service bus queue endpoint." - }, - "endpointUri": { - "type": "string", - "description": "The url of the service bus queue endpoint. It must include the protocol sb://" + "description": "The desired action for requests captured by this rule." }, - "entityPath": { + "filterName": { "type": "string", - "description": "Queue name on the service bus namespace" + "description": "The name of the IP filter rule." }, - "id": { + "ipMask": { "type": "string", - "description": "Id of the service bus queue endpoint" + "description": "A string that contains the IP address range in CIDR notation for the rule." }, - "name": { + "target": { "oneOf": [ { "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "enum": [ + "all", + "serviceApi", + "deviceApi" + ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the service bus queue endpoint." - }, - "subscriptionId": { - "type": "string", - "description": "The subscription identifier of the service bus queue endpoint." + "description": "Target for requests captured by this rule." } }, "required": [ - "name" + "action", + "filterName", + "ipMask" ], - "description": "The properties related to service bus queue endpoint types." + "description": "The IP filter rules for a provisioning Service." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The private endpoint property of a private endpoint connection" }, - "RoutingServiceBusTopicEndpointProperties": { + "PrivateEndpointConnection": { "type": "object", "properties": { - "authenticationType": { - "oneOf": [ - { - "type": "string", - "enum": [ - "keyBased", - "identityBased" - ] - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Method used to authenticate against the service bus topic endpoint." - }, - "connectionString": { - "type": "string", - "description": "The connection string of the service bus topic endpoint." - }, - "endpointUri": { - "type": "string", - "description": "The url of the service bus topic endpoint. It must include the protocol sb://" - }, - "entityPath": { - "type": "string", - "description": "Queue name on the service bus topic" - }, - "id": { - "type": "string", - "description": "Id of the service bus topic endpoint" - }, - "name": { + "properties": { "oneOf": [ { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "$ref": "#/definitions/PrivateEndpointConnectionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name." - }, - "resourceGroup": { - "type": "string", - "description": "The name of the resource group of the service bus topic endpoint." - }, - "subscriptionId": { - "type": "string", - "description": "The subscription identifier of the service bus topic endpoint." + "description": "The properties of a private endpoint connection" } }, "required": [ - "name" + "properties" ], - "description": "The properties related to service bus topic endpoint types." + "description": "The private endpoint connection of a provisioning service" }, - "RoutingStorageContainerProperties": { + "PrivateEndpointConnectionProperties": { "type": "object", "properties": { - "authenticationType": { + "privateEndpoint": { "oneOf": [ { - "type": "string", - "enum": [ - "keyBased", - "identityBased" - ] + "$ref": "#/definitions/PrivateEndpoint" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Method used to authenticate against the storage endpoint." + "description": "The private endpoint property of a private endpoint connection" }, - "batchFrequencyInSeconds": { + "privateLinkServiceConnectionState": { "oneOf": [ { - "type": "integer", - "minimum": 60, - "maximum": 720 + "$ref": "#/definitions/PrivateLinkServiceConnectionState" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds." - }, - "connectionString": { + "description": "The current state of a private endpoint connection" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "The properties of a private endpoint connection" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { "type": "string", - "description": "The connection string of the storage account." + "description": "Actions required for a private endpoint connection" }, - "containerName": { + "description": { "type": "string", - "description": "The name of storage container in the storage account." + "description": "The description for the current state of a private endpoint connection" }, - "encoding": { + "status": { "oneOf": [ { "type": "string", "enum": [ - "Avro", - "AvroDeflate", - "JSON" + "Pending", + "Approved", + "Rejected", + "Disconnected" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'." - }, - "endpointUri": { - "type": "string", - "description": "The url of the storage endpoint. It must include the protocol https://" - }, - "fileNameFormat": { + "description": "The status of a private endpoint connection." + } + }, + "required": [ + "description", + "status" + ], + "description": "The current state of a private endpoint connection" + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { "type": "string", - "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered." + "enum": [ + "2020-03-01" + ] }, - "id": { + "certificate": { "type": "string", - "description": "Id of the storage container endpoint" - }, - "maxChunkSizeInBytes": { - "oneOf": [ - { - "type": "integer", - "minimum": 10485760, - "maximum": 524288000 - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB)." + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." }, "name": { - "oneOf": [ - { - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ], - "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types." - }, - "resourceGroup": { "type": "string", - "description": "The name of the resource group of the storage account." + "description": "The name of the certificate create or update." }, - "subscriptionId": { + "type": { "type": "string", - "description": "The subscription identifier of the storage account." + "enum": [ + "certificates" + ] } }, "required": [ - "containerName", - "name" + "apiVersion", + "name", + "type" ], - "description": "The properties related to a storage container endpoint." + "description": "Microsoft.Devices/provisioningServices/certificates" }, - "SharedAccessSignatureAuthorizationRule": { + "provisioningServices_privateEndpointConnections_childResource": { "type": "object", "properties": { - "keyName": { + "apiVersion": { "type": "string", - "description": "The name of the shared access policy." + "enum": [ + "2020-03-01" + ] }, - "primaryKey": { + "name": { "type": "string", - "description": "The primary key." + "description": "The name of the private endpoint connection" }, - "rights": { + "properties": { "oneOf": [ { - "type": "string", - "enum": [ - "RegistryRead", - "RegistryWrite", - "ServiceConnect", - "DeviceConnect", - "RegistryRead, RegistryWrite", - "RegistryRead, ServiceConnect", - "RegistryRead, DeviceConnect", - "RegistryWrite, ServiceConnect", - "RegistryWrite, DeviceConnect", - "ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect", - "RegistryRead, RegistryWrite, DeviceConnect", - "RegistryRead, ServiceConnect, DeviceConnect", - "RegistryWrite, ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" - ] + "$ref": "#/definitions/PrivateEndpointConnectionProperties" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The permissions assigned to the shared access policy." + "description": "The properties of a private endpoint connection" }, - "secondaryKey": { + "type": { "type": "string", - "description": "The secondary key." + "enum": [ + "privateEndpointConnections" + ] } }, "required": [ - "keyName", - "rights" + "apiVersion", + "name", + "properties", + "type" ], - "description": "The properties of an IoT hub shared access policy." + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" }, - "StorageEndpointProperties": { + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { "type": "object", "properties": { - "authenticationType": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { "oneOf": [ { "type": "string", "enum": [ - "keyBased", - "identityBased" + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" ] }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Specifies authentication type being used for connecting to the storage account." - }, - "connectionString": { - "type": "string", - "description": "The connection string for the Azure Storage account to which files are uploaded." - }, - "containerName": { - "type": "string", - "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified." + "description": "Rights that this key has." }, - "sasTtlAsIso8601": { + "secondaryKey": { "type": "string", - "format": "duration", - "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options." + "description": "Secondary SAS key value." } }, "required": [ - "connectionString", - "containerName" + "keyName", + "rights" ], - "description": "The properties of the Azure Storage endpoint for file upload." + "description": "Description of the shared access key." } } -} \ No newline at end of file +} diff --git a/schemas/2020-06-30-preview/Microsoft.Automanage.json b/schemas/2020-06-30-preview/Microsoft.Automanage.json new file mode 100644 index 0000000000..723028ef3d --- /dev/null +++ b/schemas/2020-06-30-preview/Microsoft.Automanage.json @@ -0,0 +1,359 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Automanage", + "description": "Microsoft Automanage Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/AccountIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the Automanage account." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the Automanage account." + }, + "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.Automanage/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "type" + ], + "description": "Microsoft.Automanage/accounts" + }, + "configurationProfilePreferences": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "type": "string", + "description": "Name of the configuration profile preference." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile preference 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.Automanage/configurationProfilePreferences" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Automanage/configurationProfilePreferences" + } + }, + "extension_resourceDefinitions": { + "configurationProfileAssignments": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-06-30-preview" + ] + }, + "name": { + "type": "string", + "description": "Name of the configuration profile assignment. Only default is supported." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfileAssignmentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile assignment properties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Automanage/configurationProfileAssignments" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Automanage/configurationProfileAssignments" + } + }, + "definitions": { + "AccountIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "Identity for the Automanage account." + }, + "ConfigurationProfileAssignmentCompliance": { + "type": "object", + "properties": {}, + "description": "The compliance status for the configuration profile assignment." + }, + "ConfigurationProfileAssignmentProperties": { + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "The Automanage account ARM Resource URI" + }, + "compliance": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The compliance status for the configuration profile assignment." + }, + "configurationProfile": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Azure virtual machine best practices – Dev/Test", + "Azure virtual machine best practices – Production" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A value indicating configuration profile." + }, + "configurationProfilePreferenceId": { + "type": "string", + "description": "The configuration profile custom preferences ARM resource URI" + }, + "targetId": { + "type": "string", + "description": "The target VM resource URI" + } + }, + "description": "Automanage configuration profile assignment properties." + }, + "ConfigurationProfilePreferenceAntiMalware": { + "type": "object", + "properties": { + "enableRealTimeProtection": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables Real Time Protection." + }, + "exclusions": { + "type": "object", + "properties": {}, + "description": "Extensions, Paths and Processes that must be excluded from scan" + }, + "runScheduledScan": { + "oneOf": [ + { + "type": "string", + "enum": [ + "True", + "False" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enables or disables a periodic scan for antimalware." + }, + "scanDay": { + "type": "string", + "description": "Schedule scan settings day" + }, + "scanTimeInMinutes": { + "type": "string", + "description": "Schedule scan settings time" + }, + "scanType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Quick", + "Full" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Type of scheduled scan." + } + }, + "description": "Automanage configuration profile Antimalware preferences." + }, + "ConfigurationProfilePreferenceProperties": { + "type": "object", + "properties": { + "antiMalware": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile Antimalware preferences." + }, + "vmBackup": { + "oneOf": [ + { + "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Automanage configuration profile VM Backup preferences." + } + }, + "description": "Automanage configuration profile preference properties." + }, + "ConfigurationProfilePreferenceVmBackup": { + "type": "object", + "properties": { + "instantRpRetentionRangeInDays": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Instant RP retention policy range in days" + }, + "retentionPolicy": { + "type": "string", + "description": "Retention policy with the details on backup copy retention ranges." + }, + "schedulePolicy": { + "type": "string", + "description": "Backup schedule specified as part of backup policy." + }, + "timeZone": { + "type": "string", + "description": "TimeZone optional input as string. For example: Pacific Standard Time" + } + }, + "description": "Automanage configuration profile VM Backup preferences." + } + } +} \ No newline at end of file diff --git a/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json b/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json new file mode 100644 index 0000000000..89ef705048 --- /dev/null +++ b/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json @@ -0,0 +1,222 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.AutonomousDevelopmentPlatform", + "description": "Microsoft AutonomousDevelopmentPlatform Resource Types", + "resourceDefinitions": { + "accounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the ADP account." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "ADP account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/accounts_dataPools_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.AutonomousDevelopmentPlatform/accounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts" + }, + "accounts_dataPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Data Pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Pool properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": {}, + "description": "ADP account properties" + }, + "accounts_dataPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-z0-9]+(-[a-z0-9]+)*", + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Data Pool." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DataPoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Data Pool properties" + }, + "type": { + "type": "string", + "enum": [ + "dataPools" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools" + }, + "DataPoolLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The location name" + } + }, + "required": [ + "name" + ], + "description": "Location of a Data Pool" + }, + "DataPoolProperties": { + "type": "object", + "properties": { + "locations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/DataPoolLocation" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Gets or sets the collection of locations where Data Pool resources should be created." + } + }, + "description": "Data Pool properties" + } + } +} \ No newline at end of file diff --git a/schemas/2020-07-01/Microsoft.NetApp.json b/schemas/2020-07-01/Microsoft.NetApp.json new file mode 100644 index 0000000000..e0607efd46 --- /dev/null +++ b/schemas/2020-07-01/Microsoft.NetApp.json @@ -0,0 +1,1915 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.NetApp", + "description": "Microsoft NetApp Resource Types", + "resourceDefinitions": { + "netAppAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the NetApp account" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetApp account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_snapshotPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupPolicies_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts" + }, + "netAppAccounts_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_snapshots_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_backups_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_backups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": { + "activeDirectories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectory" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directories" + } + }, + "description": "NetApp account properties" + }, + "ActiveDirectory": { + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "adName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume" + }, + "aesEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "backupOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier" + }, + "dns": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "kdcIP": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." + }, + "ldapSigning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "serverRootCACertificate": { + "type": "string", + "minLength": 1, + "maxLength": 10240, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes." + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + } + }, + "description": "Active Directory" + }, + "BackupPolicyProperties": { + "type": "object", + "properties": { + "dailyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily backups count to keep" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "monthlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly backups count to keep" + }, + "volumeBackups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeBackups" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of volumes assigned to this policy" + }, + "volumesAssigned": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volumes using current backup policy" + }, + "weeklyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly backups count to keep" + }, + "yearlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly backups count to keep" + } + }, + "description": "Backup policy properties" + }, + "BackupProperties": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label for backup" + } + }, + "description": "Backup properties" + }, + "DailySchedule": { + "type": "object", + "properties": { + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Daily Schedule properties" + }, + "ExportPolicyRule": { + "type": "object", + "properties": { + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "cifs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows CIFS protocol" + }, + "hasRootAccess": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has root access to volume" + }, + "kerberos5iReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5iReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "nfsv3": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "ruleIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Order index" + }, + "unixReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read only access" + }, + "unixReadWrite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read and write access" + } + }, + "description": "Volume Export Policy Rule" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Hourly Schedule properties" + }, + "MonthlySchedule": { + "type": "object", + "properties": { + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string." + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Monthly Schedule properties" + }, + "MountTargetProperties": { + "type": "object", + "properties": { + "fileSystemId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 used to identify the MountTarget" + }, + "smbServerFqdn": { + "type": "string", + "description": "The SMB server's Fully Qualified Domain Name, FQDN" + } + }, + "required": [ + "fileSystemId" + ], + "description": "Mount target properties" + }, + "netAppAccounts_backupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes_backups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "PoolProperties": { + "type": "object", + "properties": { + "qosType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The qos type of the pool." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "size": { + "oneOf": [ + { + "type": "integer", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104)." + } + }, + "required": [ + "serviceLevel", + "size" + ], + "description": "Pool properties" + }, + "ReplicationObject": { + "type": "object", + "properties": { + "endpointType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "src", + "dst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the local volume is the source or destination for the Volume Replication." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "replicationId": { + "type": "string", + "description": "Id" + }, + "replicationSchedule": { + "oneOf": [ + { + "type": "string", + "enum": [ + "_10minutely", + "hourly", + "daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule." + } + }, + "required": [ + "remoteVolumeResourceId", + "replicationSchedule" + ], + "description": "Replication properties" + }, + "SnapshotPolicyProperties": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily Schedule properties" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly Schedule properties" + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly Schedule properties" + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + }, + "description": "Snapshot policy properties" + }, + "SnapshotProperties": { + "type": "object", + "properties": {}, + "description": "Snapshot properties" + }, + "VolumeBackupProperties": { + "type": "object", + "properties": { + "backupEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Enabled" + }, + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + } + }, + "description": "Volume Backup Properties" + }, + "VolumeBackups": { + "type": "object", + "properties": { + "backupsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Total count of backups for volume" + }, + "policyEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy enabled" + }, + "volumeName": { + "type": "string", + "description": "Volume name" + } + }, + "description": "Volume details using the backup policy" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "backupId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Backup." + }, + "creationToken": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A unique file path for the volume. Used when creating mount targets" + }, + "dataProtection": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesDataProtection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of export policy rules" + }, + "isRestoring": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restoring" + }, + "kerberosEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later" + }, + "mountTargets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MountTargetProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of mount targets" + }, + "protocolTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of protocol types" + }, + "securityStyle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ntfs", + "unix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security style of volume." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "snapshotDirectoryVisible": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "snapshotId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Snapshot." + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "throughputMibps": { + "oneOf": [ + { + "type": "number", + "multipleOf": 0.001, + "minimum": 1, + "maximum": 4500 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "usageThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": "107374182400" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes." + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this" + } + }, + "required": [ + "creationToken", + "subnetId", + "usageThreshold" + ], + "description": "Volume properties" + }, + "VolumePropertiesDataProtection": { + "type": "object", + "properties": { + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeBackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Backup Properties" + }, + "replication": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationObject" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Replication properties" + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + } + }, + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "VolumePropertiesExportPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExportPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Export policy rule" + } + }, + "description": "Set of export policy rules" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + }, + "description": "Volume Snapshot Properties" + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english" + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + } +} \ No newline at end of file diff --git a/schemas/2020-07-17-preview/Microsoft.AVS.json b/schemas/2020-07-17-preview/Microsoft.AVS.json index 60f93c1507..b22fe28e0d 100644 --- a/schemas/2020-07-17-preview/Microsoft.AVS.json +++ b/schemas/2020-07-17-preview/Microsoft.AVS.json @@ -276,6 +276,84 @@ ], "description": "Microsoft.AVS/privateClouds/workloadNetworks/dhcpConfigurations" }, + "privateClouds_workloadNetworks_dnsServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-17-preview" + ] + }, + "name": { + "type": "string", + "description": "NSX DNS Service identifier. Generally the same as the DNS Service's display name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadNetworkDnsServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NSX DNS Service Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AVS/privateClouds/workloadNetworks/dnsServices" + }, + "privateClouds_workloadNetworks_dnsZones": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-07-17-preview" + ] + }, + "name": { + "type": "string", + "description": "NSX DNS Zone identifier. Generally the same as the DNS Zone's display name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WorkloadNetworkDnsZoneProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NSX DNS Zone Properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.AVS/privateClouds/workloadNetworks/dnsZones" + }, "privateClouds_workloadNetworks_portMirroringProfiles": { "type": "object", "properties": { @@ -842,6 +920,131 @@ ], "description": "NSX DHCP Server" }, + "WorkloadNetworkDnsServiceProperties": { + "type": "object", + "properties": { + "defaultDnsZone": { + "type": "string", + "description": "Default DNS zone of the DNS Service." + }, + "displayName": { + "type": "string", + "description": "Display name of the DNS Service." + }, + "dnsServiceIp": { + "type": "string", + "description": "DNS service IP of the DNS Service." + }, + "fqdnZones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "FQDN zones of the DNS Service." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "DEBUG", + "INFO", + "WARNING", + "ERROR", + "FATAL" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS Service log level." + }, + "revision": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NSX revision number." + } + }, + "description": "NSX DNS Service Properties" + }, + "WorkloadNetworkDnsZoneProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Display name of the DNS Zone." + }, + "dnsServerIps": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DNS Server IP array of the DNS Zone." + }, + "dnsServices": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Number of DNS Services using the DNS zone." + }, + "domain": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Domain names of the DNS Zone." + }, + "revision": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NSX revision number." + }, + "sourceIp": { + "type": "string", + "description": "Source IP of the DNS Zone." + } + }, + "description": "NSX DNS Zone Properties" + }, "WorkloadNetworkPortMirroringProperties": { "type": "object", "properties": { diff --git a/schemas/2020-08-01-preview/Microsoft.Sql.json b/schemas/2020-08-01-preview/Microsoft.Sql.json index c238044019..ebf2dc181b 100644 --- a/schemas/2020-08-01-preview/Microsoft.Sql.json +++ b/schemas/2020-08-01-preview/Microsoft.Sql.json @@ -238,7 +238,7 @@ }, "maintenanceConfigurationId": { "type": "string", - "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will be rolled out." + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur." }, "maxSizeBytes": { "oneOf": [ @@ -348,7 +348,7 @@ "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "The storage account type used to store backups for this database. Currently the only supported option is GRS (GeoRedundantStorage)." + "description": "The storage account type used to store backups for this database." }, "zoneRedundant": { "oneOf": [ @@ -412,7 +412,7 @@ }, "maintenanceConfigurationId": { "type": "string", - "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will be rolled out." + "description": "Maintenance configuration id assigned to the elastic pool. This configuration defines the period when the maintenance updates will will occur." }, "maxSizeBytes": { "oneOf": [ diff --git a/schemas/2020-08-01/Microsoft.ImportExport.json b/schemas/2020-08-01/Microsoft.ImportExport.json index bbcdbc7486..3cd7e8b701 100644 --- a/schemas/2020-08-01/Microsoft.ImportExport.json +++ b/schemas/2020-08-01/Microsoft.ImportExport.json @@ -54,6 +54,39 @@ } }, "definitions": { + "DeliveryPackageInformation": { + "type": "object", + "properties": { + "carrierName": { + "type": "string", + "description": "The name of the carrier that is used to ship the import or export drives." + }, + "driveCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of drives included in the package." + }, + "shipDate": { + "type": "string", + "description": "The date when the package is shipped." + }, + "trackingNumber": { + "type": "string", + "description": "The tracking number of the package." + } + }, + "required": [ + "carrierName", + "trackingNumber" + ], + "description": "Contains information about the delivery package being shipped by the customer to the Microsoft data center." + }, "DriveStatus": { "type": "object", "properties": { @@ -250,13 +283,13 @@ "deliveryPackage": { "oneOf": [ { - "$ref": "#/definitions/PackageInformation" + "$ref": "#/definitions/DeliveryPackageInformation" }, { "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" } ], - "description": "Contains information about the package being shipped by the customer to the Microsoft data center." + "description": "Contains information about the delivery package being shipped by the customer to the Microsoft data center." }, "diagnosticsPath": { "type": "string", diff --git a/schemas/2020-08-01/Microsoft.NetApp.json b/schemas/2020-08-01/Microsoft.NetApp.json new file mode 100644 index 0000000000..f6fbe0322d --- /dev/null +++ b/schemas/2020-08-01/Microsoft.NetApp.json @@ -0,0 +1,1915 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.NetApp", + "description": "Microsoft NetApp Resource Types", + "resourceDefinitions": { + "netAppAccounts": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the NetApp account" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "NetApp account properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_snapshotPolicies_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_backupPolicies_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts" + }, + "netAppAccounts_backupPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_snapshots_childResource" + }, + { + "$ref": "#/definitions/netAppAccounts_capacityPools_volumes_backups_childResource" + } + ] + } + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_backups": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_snapshots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + } + }, + "definitions": { + "AccountProperties": { + "type": "object", + "properties": { + "activeDirectories": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectory" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Active Directories" + } + }, + "description": "NetApp account properties" + }, + "ActiveDirectory": { + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "description": "Id of the Active Directory" + }, + "adName": { + "type": "string", + "minLength": 1, + "maxLength": 64, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume" + }, + "aesEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "backupOperators": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier" + }, + "dns": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain" + }, + "domain": { + "type": "string", + "description": "Name of the Active Directory domain" + }, + "kdcIP": { + "oneOf": [ + { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume." + }, + "ldapSigning": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "organizationalUnit": { + "type": "string", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "password": { + "type": "string", + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "serverRootCACertificate": { + "type": "string", + "minLength": 1, + "maxLength": 10240, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes." + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "smbServerName": { + "type": "string", + "description": "NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + } + }, + "description": "Active Directory" + }, + "BackupPolicyProperties": { + "type": "object", + "properties": { + "dailyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily backups count to keep" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "monthlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly backups count to keep" + }, + "volumeBackups": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VolumeBackups" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A list of volumes assigned to this policy" + }, + "volumesAssigned": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volumes using current backup policy" + }, + "weeklyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly backups count to keep" + }, + "yearlyBackupsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Yearly backups count to keep" + } + }, + "description": "Backup policy properties" + }, + "BackupProperties": { + "type": "object", + "properties": { + "label": { + "type": "string", + "description": "Label for backup" + } + }, + "description": "Backup properties" + }, + "DailySchedule": { + "type": "object", + "properties": { + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Daily Schedule properties" + }, + "ExportPolicyRule": { + "type": "object", + "properties": { + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "cifs": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows CIFS protocol" + }, + "hasRootAccess": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Has root access to volume" + }, + "kerberos5iReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5iReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5pReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadOnly": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later" + }, + "kerberos5ReadWrite": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later" + }, + "nfsv3": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "ruleIndex": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Order index" + }, + "unixReadOnly": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read only access" + }, + "unixReadWrite": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read and write access" + } + }, + "description": "Volume Export Policy Rule" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Hourly Schedule properties" + }, + "MonthlySchedule": { + "type": "object", + "properties": { + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string." + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Monthly Schedule properties" + }, + "MountTargetProperties": { + "type": "object", + "properties": { + "fileSystemId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 used to identify the MountTarget" + }, + "smbServerFqdn": { + "type": "string", + "description": "The SMB server's Fully Qualified Domain Name, FQDN" + } + }, + "required": [ + "fileSystemId" + ], + "description": "Mount target properties" + }, + "netAppAccounts_backupPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "backupPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/backupPolicies" + }, + "netAppAccounts_capacityPools_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the capacity pool" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PoolProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Pool properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "capacityPools" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools" + }, + "netAppAccounts_capacityPools_volumes_backups_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the backup" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/BackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup properties" + }, + "type": { + "type": "string", + "enum": [ + "backups" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups" + }, + "netAppAccounts_capacityPools_volumes_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the volume" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "volumes" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + }, + "netAppAccounts_capacityPools_volumes_snapshots_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the mount target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot properties" + }, + "type": { + "type": "string", + "enum": [ + "snapshots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" + }, + "netAppAccounts_snapshotPolicies_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-08-01" + ] + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "name": { + "type": "string", + "description": "The name of the snapshot policy target" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/SnapshotPolicyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Snapshot policy properties" + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Tags are a list of key-value pairs that describe the resource" + }, + "type": { + "type": "string", + "enum": [ + "snapshotPolicies" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.NetApp/netAppAccounts/snapshotPolicies" + }, + "PoolProperties": { + "type": "object", + "properties": { + "qosType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The qos type of the pool." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "size": { + "oneOf": [ + { + "type": "integer", + "minimum": 4398046511104, + "maximum": 549755813888000 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104)." + } + }, + "required": [ + "serviceLevel", + "size" + ], + "description": "Pool properties" + }, + "ReplicationObject": { + "type": "object", + "properties": { + "endpointType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "src", + "dst" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the local volume is the source or destination for the Volume Replication." + }, + "remoteVolumeRegion": { + "type": "string", + "description": "The remote region for the other end of the Volume Replication." + }, + "remoteVolumeResourceId": { + "type": "string", + "description": "The resource ID of the remote volume." + }, + "replicationId": { + "type": "string", + "description": "Id" + }, + "replicationSchedule": { + "oneOf": [ + { + "type": "string", + "enum": [ + "_10minutely", + "hourly", + "daily" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Schedule." + } + }, + "required": [ + "remoteVolumeResourceId", + "replicationSchedule" + ], + "description": "Replication properties" + }, + "SnapshotPolicyProperties": { + "type": "object", + "properties": { + "dailySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/DailySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Daily Schedule properties" + }, + "enabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The property to decide policy is enabled or not" + }, + "hourlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/HourlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Hourly Schedule properties" + }, + "monthlySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/MonthlySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Monthly Schedule properties" + }, + "weeklySchedule": { + "oneOf": [ + { + "$ref": "#/definitions/WeeklySchedule" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + }, + "description": "Snapshot policy properties" + }, + "SnapshotProperties": { + "type": "object", + "properties": {}, + "description": "Snapshot properties" + }, + "VolumeBackupProperties": { + "type": "object", + "properties": { + "backupEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Backup Enabled" + }, + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + } + }, + "description": "Volume Backup Properties" + }, + "VolumeBackups": { + "type": "object", + "properties": { + "backupsCount": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Total count of backups for volume" + }, + "policyEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Policy enabled" + }, + "volumeName": { + "type": "string", + "description": "Volume name" + } + }, + "description": "Volume details using the backup policy" + }, + "VolumeProperties": { + "type": "object", + "properties": { + "backupId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Backup." + }, + "creationToken": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A unique file path for the volume. Used when creating mount targets" + }, + "dataProtection": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesDataProtection" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "exportPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/VolumePropertiesExportPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of export policy rules" + }, + "isRestoring": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Restoring" + }, + "kerberosEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later" + }, + "mountTargets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/MountTargetProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of mount targets" + }, + "protocolTypes": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Set of protocol types" + }, + "securityStyle": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ntfs", + "unix" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The security style of volume." + }, + "serviceLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Premium", + "Ultra" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The service level of the file system." + }, + "snapshotDirectoryVisible": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "snapshotId": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\\\?([^\\/]*[\\/])*)([^\\/]+)$", + "minLength": 36, + "maxLength": 36 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "UUID v4 or resource identifier used to identify the Snapshot." + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + }, + "throughputMibps": { + "oneOf": [ + { + "type": "number", + "multipleOf": 0.001, + "minimum": 1, + "maximum": 4500 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "usageThreshold": { + "oneOf": [ + { + "type": "integer", + "minimum": 107374182400, + "maximum": 109951162777600, + "default": "107374182400" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes." + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this" + } + }, + "required": [ + "creationToken", + "subnetId", + "usageThreshold" + ], + "description": "Volume properties" + }, + "VolumePropertiesDataProtection": { + "type": "object", + "properties": { + "backup": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeBackupProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Backup Properties" + }, + "replication": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationObject" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Replication properties" + }, + "snapshot": { + "oneOf": [ + { + "$ref": "#/definitions/VolumeSnapshotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Volume Snapshot Properties" + } + }, + "description": "DataProtection type volumes include an object containing details of the replication" + }, + "VolumePropertiesExportPolicy": { + "type": "object", + "properties": { + "rules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/ExportPolicyRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Export policy rule" + } + }, + "description": "Set of export policy rules" + }, + "VolumeSnapshotProperties": { + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + }, + "description": "Volume Snapshot Properties" + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english" + }, + "hour": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which hour in UTC timezone a snapshot should be taken" + }, + "minute": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates which minute snapshot should be taken" + }, + "snapshotsToKeep": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Weekly snapshot count to keep" + }, + "usedBytes": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource size in bytes, current storage usage for the volume in bytes" + } + }, + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days" + } + } +} \ No newline at end of file diff --git a/schemas/2020-09-01-preview/Microsoft.Devices.json b/schemas/2020-09-01-preview/Microsoft.Devices.json new file mode 100644 index 0000000000..dd849381df --- /dev/null +++ b/schemas/2020-09-01-preview/Microsoft.Devices.json @@ -0,0 +1,720 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-09-01-preview/Microsoft.Devices.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Devices", + "description": "Microsoft Devices Resource Types", + "resourceDefinitions": { + "provisioningServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01-preview" + ] + }, + "etag": { + "type": "string", + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/ArmIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of ARM identities associated with the IoT DPS resource." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "name": { + "type": "string", + "description": "Name of provisioning service to create or update." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/provisioningServices_certificates_childResource" + }, + { + "$ref": "#/definitions/provisioningServices_privateEndpointConnections_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/IotDpsSkuInfo" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of possible provisioning service SKUs." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource tags." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.Devices/provisioningServices" + }, + "provisioningServices_certificates": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01-preview" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "provisioningServices_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Devices/provisioningServices/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" + } + }, + "definitions": { + "ArmIdentity": { + "type": "object", + "properties": { + "identityType": { + "type": "string", + "description": "Identity type. Only allowed values are SystemAssigned and UserAssigned. Comma separated if both for ex: SystemAssigned,UserAssigned." + }, + "userAssignedIdentities": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ArmUserIdentity" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The set of UserAssigned identities associated with the IoT DPS resource." + } + }, + "description": "The set of ARM identities associated with the IoT DPS resource." + }, + "ArmUserIdentity": { + "type": "object", + "properties": {}, + "description": "The ARM UserAssigned identity information" + }, + "EncryptionKeyIdentity": { + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity." + } + }, + "description": "The properties of the identity used to access the key encryption key in KeyVault." + }, + "EncryptionPropertiesDescription": { + "type": "object", + "properties": { + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionKeyIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the identity used to access the key encryption key in KeyVault." + }, + "keySource": { + "type": "string", + "description": "The source of the encryption key. Typically, Microsoft.KeyVault" + }, + "keyVaultProperties": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKeyProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the encryption key configured in KeyVault." + } + }, + "description": "The customer-managed encryption key (CMK) properties for the IoT DPS instance." + }, + "IotDpsPropertiesDescription": { + "type": "object", + "properties": { + "allocationPolicy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Allocation policy to be used by this provisioning service." + }, + "authorizationPolicies": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of authorization keys for a provisioning service." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionPropertiesDescription" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The customer-managed encryption key (CMK) properties for the IoT DPS instance." + }, + "iotHubs": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IoT hubs associated with this provisioning service." + }, + "ipFilterRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP filter rules." + }, + "privateEndpointConnections": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Private endpoint connections created on this IotHub" + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether requests from Public Network are allowed." + }, + "state": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Current state of the provisioning service." + } + }, + "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope" + }, + "IotDpsSkuInfo": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of units to provision" + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Sku name." + } + }, + "description": "List of possible provisioning service SKUs." + }, + "IotHubDefinitionDescription": { + "type": "object", + "properties": { + "allocationWeight": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "weight to apply for a given iot h." + }, + "applyAllocationPolicy": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "flag for applying allocationPolicy or not for a given iot hub." + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ], + "description": "Description of the IoT hub." + }, + "IpFilterRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Accept", + "Reject" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The desired action for requests captured by this rule." + }, + "filterName": { + "type": "string", + "description": "The name of the IP filter rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + }, + "target": { + "oneOf": [ + { + "type": "string", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Target for requests captured by this rule." + } + }, + "required": [ + "action", + "filterName", + "ipMask" + ], + "description": "The IP filter rules for a provisioning Service." + }, + "KeyVaultKeyProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "The identifier of the key." + } + }, + "description": "The properties of the KeyVault key." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The private endpoint property of a private endpoint connection" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + } + }, + "required": [ + "properties" + ], + "description": "The private endpoint connection of a provisioning service" + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private endpoint property of a private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current state of a private endpoint connection" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "The properties of a private endpoint connection" + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of a private endpoint connection." + } + }, + "required": [ + "description", + "status" + ], + "description": "The current state of a private endpoint connection" + }, + "provisioningServices_certificates_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01-preview" + ] + }, + "certificate": { + "type": "string", + "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content." + }, + "name": { + "type": "string", + "description": "The name of the certificate create or update." + }, + "type": { + "type": "string", + "enum": [ + "certificates" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/certificates" + }, + "provisioningServices_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection" + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.Devices/provisioningServices/privateEndpointConnections" + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "rights": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Rights that this key has." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + } + }, + "required": [ + "keyName", + "rights" + ], + "description": "Description of the shared access key." + } + } +} diff --git a/schemas/2020-09-18/Microsoft.Kusto.json b/schemas/2020-09-18/Microsoft.Kusto.json new file mode 100644 index 0000000000..66a86c5389 --- /dev/null +++ b/schemas/2020-09-18/Microsoft.Kusto.json @@ -0,0 +1,1210 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-09-18/Microsoft.Kusto.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Kusto", + "description": "Microsoft Kusto Resource Types", + "resourceDefinitions": { + "clusters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Kusto cluster." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/AzureSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of the Kusto cluster." + }, + "zones": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "An array represents the availability zones of the cluster." + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/Identity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Identity for the resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/resourceDefinitions/clusters_databases" + }, + { + "$ref": "#/resourceDefinitions/clusters_attacheddatabaseconfigurations" + }, + { + "$ref": "#/resourceDefinitions/clusters_principalassignments" + } + ] + } + } + }, + "required": [ + "name", + "type", + "apiVersion", + "location", + "sku" + ], + "description": "Microsoft.Kusto/clusters" + }, + "clusters_databases": { + "type": "object", + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabase" + } + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the database in the Kusto cluster." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/resourceDefinitions/clusters_databases_dataconnections" + }, + { + "$ref": "#/resourceDefinitions/clusters_databases_principalassignments" + } + ] + } + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/databases" + }, + "clusters_dataconnections": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/dataConnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnection" + }, + { + "$ref": "#/definitions/GenevaLegacyDataConnection" + } + ], + "description": "Properties supplied to the data connection create or update Kusto operation." + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/dataConnections" + }, + "clusters_databases_dataconnections": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The data connection name" + }, + "type": { + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnection" + }, + { + "$ref": "#/definitions/EventGridDataConnection" + }, + { + "$ref": "#/definitions/IotHubDataConnection" + } + ], + "description": "Properties supplied to the Data Connection Create Or Update Kusto operation." + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Microsoft.Kusto/clusters/databases/dataConnections" + }, + "clusters_attacheddatabaseconfigurations": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the attached database configurations." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/AttachedDatabaseConfigurations" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/AttachedDatabaseConfigurationsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing an attached database configurations." + }, + "clusters_principalassignments": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the cluster principal assignment" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ClusterPrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing a cluster principal assignment." + }, + "clusters_databases_principalassignments": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the database principal assignment" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ] + }, + "apiVersion": { + "type": "string", + "enum": [ + "2020-09-18" + ] + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/DatabasePrincipalProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "name", + "type", + "apiVersion", + "properties" + ], + "description": "Class representing a database principal assignment." + } + }, + "definitions": { + "AzureSku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_L8s", + "Standard_L16s", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_L4s", + "Dev(No SLA)_Standard_D11_v2", + "Standard_E64i_v3", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Dev(No SLA)_Standard_E2a_v4" + ], + "x-ms-enum": { + "name": "AzureSkuName", + "modelAsString": true + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU name. Possible values include: 'Standard_DS13_v2+1TB_PS', 'Standard_DS13_v2+2TB_PS', 'Standard_DS14_v2+3TB_PS', 'Standard_DS14_v2+4TB_PS', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_L8s', 'Standard_L16s', 'Standard_D11_v2', 'Standard_D12_v2', 'Standard_L4s', 'Dev(No SLA)_Standard_D11_v2', 'Standard_E2a_v4', 'Standard_E4a_v4', 'Standard_E8a_v4', 'Standard_E16a_v4', 'Standard_E8as_v4+1TB_PS', 'Standard_E8as_v4+2TB_PS', 'Standard_E16as_v4+3TB_PS', 'Standard_E16as_v4+4TB_PS', 'Dev(No SLA)_Standard_E2a_v4'" + }, + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of instances of the cluster." + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "SKU tier." + } + }, + "required": [ + "name", + "tier" + ], + "description": "Azure SKU definition." + }, + "ClusterProperties": { + "type": "object", + "properties": { + "trustedExternalTenants": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "oneOf": [ + { + "$ref": "#/definitions/OptimizedAutoscale" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains the optimized auto scale definition." + }, + "enableDiskEncryption": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the cluster's disks are encrypted." + }, + "enableStreamingIngest": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the streaming ingest is enabled." + }, + "virtualNetworkConfiguration": { + "oneOf": [ + { + "$ref": "#/definitions/VirtualNetworkConfiguration" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A class that contains virtual network definition." + }, + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "KeyVault properties for the cluster encryption." + }, + "enablePurge": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicates if the purge operations are enabled." + }, + "enableDoubleEncryption": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not Double-Encryption is enabled on storage account." + }, + "engineType": { + "oneOf": [ + { + "type": "string" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A string value that indicates the Azure Data Explorer engine type." + } + } + }, + "ReadWriteDatabaseProperties": { + "type": "object", + "properties": { + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + } + } + }, + "ReadWriteDatabase": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReadWriteDatabaseProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Read write database properties" + }, + "kind": { + "type": "string", + "enum": [ + "ReadWrite" + ], + "description": "Kind of the database" + } + }, + "required": [ + "kind", + "properties" + ], + "description": "Information about the readWrite database" + }, + "AttachedDatabaseConfigurationsProperties": { + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "description": "The default principals modification kind" + } + } + }, + "EventGridDataConnectionProperties": { + "type": "object", + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "ignoreFirstRecord": { + "type": "boolean", + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file." + }, + "blobStorageEventType": { + "oneOf": [ + { + "$ref": "#/definitions/BlobStorageEventType" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of blob storage event type to process." + } + }, + "required": [ + "storageAccountResourceId", + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "DatabasePrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewers", + "Viewer" + ] + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + } + }, + "required": [ + "principalId", + "role", + "principalType" + ], + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ] + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ] + } + }, + "required": [ + "principalId", + "role", + "principalType" + ], + "description": "A class representing cluster principal property." + }, + "EventGridDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventGridDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "kind": { + "type": "string", + "enum": [ + "EventGrid" + ] + } + }, + "required": [ + "kind" + ], + "description": "Class representing an Event Grid data connection." + }, + "EventHubDataConnectionProperties": { + "type": "object", + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EventSystemProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "System properties of the event hub" + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "EventHubDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/EventHubDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Event hub data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "EventHub" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the event hub data connection" + }, + "Identity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "IotHubDataConnectionProperties": { + "type": "object", + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "oneOf": [ + { + "$ref": "#/definitions/DataFormat" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "oneOf": [ + { + "$ref": "#/definitions/EventSystemProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The iot hub system properties." + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the shared access policy." + } + }, + "required": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "IotHubDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/IotHubDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Iot hub data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "IotHub" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Iot hub data connection" + }, + "GenevaDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + } + }, + "required": [ + "genevaEnvironment" + ], + "description": "Class representing the Kusto Geneva (GDS) connection properties." + }, + "GenevaDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva (DGS) data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "Geneva" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva (GDS) data connection" + }, + "GenevaLegacyDataConnectionProperties": { + "type": "object", + "properties": { + "genevaEnvironment": { + "type": "string", + "description": "The Geneva environment of the geneva data connection." + }, + "mdsAccounts": { + "type:": "array", + "description": "The list of mds accounts of the geneva data connection." + }, + "isScrubbed": { + "type:": "boolean", + "description": "Indicates whether the data is scrubbed." + } + }, + "required": [ + "genevaEnvironment", + "mdsAccounts", + "isScrubbed" + ], + "description": "Class representing the Kusto Geneva legacy connection properties." + }, + "GenevaLegacyDataConnection": { + "type": "object", + "properties": { + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/GenevaLegacyDataConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Geneva legacy data connection properties" + }, + "kind": { + "type": "string", + "enum": [ + "GenevaLegacy" + ] + } + }, + "required": [ + "kind" + ], + "description": "Information about the Geneva (GDS) data connection" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key.", + "x-ms-client-name": "UserIdentity" + } + }, + "required": [ + "keyName", + "keyVaultUri" + ], + "description": "Properties of the key vault." + }, + "OptimizedAutoscale": { + "type": "object", + "properties": { + "version": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The version of the template defined, for instance 1." + }, + "isEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not." + }, + "minimum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Minimum allowed instances count." + }, + "maximum": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Maximum allowed instances count." + } + }, + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "description": "A class that contains the optimized auto scale definition." + }, + "TrustedExternalTenant": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "description": "The subnet resource id." + }, + "enginePublicIpId": { + "type": "string", + "description": "Engine service's public IP address resource id." + }, + "dataManagementPublicIpId": { + "type": "string", + "description": "Data management's service public IP address resource id." + } + }, + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "description": "A class that contains virtual network definition." + }, + "DataFormat": { + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "description": "The data format of the message. Optionally the data format can be added to each message.", + "x-ms-enum": { + "name": "dataFormat", + "modelAsString": true + } + }, + "EventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The resource system properties." + }, + "BlobStorageEventType": { + "description": "The name of blob storage event type to process.", + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ], + "x-ms-enum": { + "name": "blobStorageEventType", + "modelAsString": true + } + } + } +} diff --git a/schemas/2020-10-01-preview/Microsoft.Compute.json b/schemas/2020-10-01-preview/Microsoft.Compute.json new file mode 100644 index 0000000000..2272e5c9c7 --- /dev/null +++ b/schemas/2020-10-01-preview/Microsoft.Compute.json @@ -0,0 +1,612 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-01-preview/Microsoft.Compute.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.Compute", + "description": "Microsoft Compute Resource Types", + "resourceDefinitions": { + "cloudServices": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "name": { + "type": "string", + "description": "Name of the cloud service." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Cloud service properties" + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/cloudServices_updateDomains_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.Compute/cloudServices" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.Compute/cloudServices" + }, + "cloudServices_updateDomains": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Compute/cloudServices/updateDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Compute/cloudServices/updateDomains" + } + }, + "definitions": { + "CloudServiceExtensionProfile": { + "type": "object", + "properties": { + "extensions": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/Extension" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of extensions for the cloud service." + } + }, + "description": "Describes a cloud service extension profile." + }, + "CloudServiceExtensionProperties": { + "type": "object", + "properties": { + "autoUpgradeMinorVersion": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available." + }, + "forceUpdateTag": { + "type": "string", + "description": "Tag to force apply the provided public and protected settings.\r\nChanging the tag value allows for re-running the extension without changing any of the public or protected settings.\r\nIf forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler.\r\nIf neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and\r\nit is up to handler implementation whether to re-run it or not" + }, + "protectedSettings": { + "type": "string", + "description": "Protected settings for the extension which are encrypted before sent to the role instance." + }, + "protectedSettingsFromKeyVault": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceVaultAndSecretReference" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." + }, + "rolesAppliedTo": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service." + }, + "settings": { + "type": "string", + "description": "Public settings for the extension. For JSON extensions, this is the JSON settings for the extension. For XML Extension (like RDP), this is the XML setting for the extension." + }, + "type": { + "type": "string", + "description": "Specifies the type of the extension." + }, + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the extension. Specifies the version of the extension. If this element is not specified or an asterisk (*) is used as the value, the latest version of the extension is used. If the value is specified with a major version number and an asterisk as the minor version number (X.), the latest minor version of the specified major version is selected. If a major version number and a minor version number are specified (X.Y), the specific extension version is selected. If a version is specified, an auto-upgrade is performed on the role instance." + } + }, + "description": "Extension Properties." + }, + "CloudServiceNetworkProfile": { + "type": "object", + "properties": { + "loadBalancerConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of load balancer configurations for the cloud service." + }, + "swappableCloudService": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Network Profile for the cloud service." + }, + "CloudServiceOsProfile": { + "type": "object", + "properties": { + "secrets": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceVaultSecretGroup" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies set of certificates that should be installed onto the role instances." + } + }, + "description": "Describes the OS profile for the cloud service." + }, + "CloudServiceProperties": { + "type": "object", + "properties": { + "configuration": { + "type": "string", + "description": "Specifies the XML service configuration (.cscfg) for the cloud service." + }, + "configurationUrl": { + "type": "string", + "description": "Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.\r\nThis is a write-only property and is not returned in GET calls." + }, + "extensionProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceExtensionProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a cloud service extension profile." + }, + "networkProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceNetworkProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Network Profile for the cloud service." + }, + "osProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceOsProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the OS profile for the cloud service." + }, + "packageUrl": { + "type": "string", + "description": "Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account.\r\nThis is a write-only property and is not returned in GET calls." + }, + "roleProfile": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceRoleProfile" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the role profile for the cloud service." + }, + "startCloudService": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "(Optional) Indicates whether to start the cloud service immediately after it is created. The default value is `true`.\r\nIf false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff." + }, + "upgradeMode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Auto", + "Manual", + "Simultaneous" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Cloud service properties" + }, + "CloudServiceRoleProfile": { + "type": "object", + "properties": { + "roles": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceRoleProfileProperties" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of roles for the cloud service." + } + }, + "description": "Describes the role profile for the cloud service." + }, + "CloudServiceRoleProfileProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceRoleSku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes the cloud service role sku." + } + }, + "description": "Describes the role properties." + }, + "CloudServiceRoleSku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies the number of role instances in the cloud service." + }, + "name": { + "type": "string", + "description": "The sku name. NOTE: If the new SKU is not supported on the hardware the cloud service is currently on, you need to delete and recreate the cloud service or move back to the old sku." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the cloud service. Possible Values are

    **Standard**

    **Basic**" + } + }, + "description": "Describes the cloud service role sku." + }, + "cloudServices_updateDomains_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies an integer value that identifies the update domain. Update domains are identified with a zero-based index: the first update domain has an ID of 0, the second has an ID of 1, and so on." + }, + "type": { + "type": "string", + "enum": [ + "updateDomains" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.Compute/cloudServices/updateDomains" + }, + "CloudServiceVaultAndSecretReference": { + "type": "object", + "properties": { + "secretUrl": { + "type": "string" + }, + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "CloudServiceVaultCertificate": { + "type": "object", + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the role instance." + }, + "CloudServiceVaultSecretGroup": { + "type": "object", + "properties": { + "sourceVault": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "vaultCertificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/CloudServiceVaultCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "Extension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/CloudServiceExtensionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Extension Properties." + } + }, + "description": "Describes a cloud service Extension." + }, + "LoadBalancerConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource Name" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes the load balancer configuration." + }, + "LoadBalancerConfigurationProperties": { + "type": "object", + "properties": { + "frontendIPConfigurations": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerFrontendIPConfiguration" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of IP" + } + } + }, + "LoadBalancerFrontendIPConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/LoadBalancerFrontendIPConfigurationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Describes a cloud service IP Configuration" + } + } + }, + "LoadBalancerFrontendIPConfigurationProperties": { + "type": "object", + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address referenced by the cloud service." + }, + "publicIPAddress": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "subnet": { + "oneOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "Describes a cloud service IP Configuration" + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + } + } + } +} \ No newline at end of file diff --git a/schemas/2020-10-01/Microsoft.OperationalInsights.json b/schemas/2020-10-01/Microsoft.OperationalInsights.json index 7361656ce1..b3e20f6f3d 100644 --- a/schemas/2020-10-01/Microsoft.OperationalInsights.json +++ b/schemas/2020-10-01/Microsoft.OperationalInsights.json @@ -170,9 +170,33 @@ } }, "definitions": { + "AssociatedWorkspace": { + "type": "object", + "properties": {}, + "description": "The list of Log Analytics workspaces associated with the cluster." + }, + "CapacityReservationProperties": { + "type": "object", + "properties": {}, + "description": "The Capacity Reservation properties." + }, "ClusterProperties": { "type": "object", "properties": { + "associatedWorkspaces": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/AssociatedWorkspace" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of Log Analytics workspaces associated with the cluster" + }, "billingType": { "oneOf": [ { @@ -188,6 +212,17 @@ ], "description": "Configures whether billing will be only on the cluster or each workspace will be billed by its proportional use. This does not change the overall billing, only how it will be distributed. Default value is 'Cluster'." }, + "capacityReservationProperties": { + "oneOf": [ + { + "$ref": "#/definitions/CapacityReservationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Capacity Reservation properties." + }, "isAvailabilityZonesEnabled": { "oneOf": [ { @@ -473,7 +508,8 @@ "PerNode", "PerGB2018", "Standalone", - "CapacityReservation" + "CapacityReservation", + "LACluster" ] }, { diff --git a/schemas/2020-10-01/Microsoft.Resources.json b/schemas/2020-10-01/Microsoft.Resources.json index dc02599405..b90bd68941 100644 --- a/schemas/2020-10-01/Microsoft.Resources.json +++ b/schemas/2020-10-01/Microsoft.Resources.json @@ -198,8 +198,9 @@ }, "timeout": { "type": "string", + "default": "P1D", "format": "duration", - "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D" } }, "required": [ @@ -332,8 +333,9 @@ }, "timeout": { "type": "string", + "default": "P1D", "format": "duration", - "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D" } }, "required": [ @@ -426,16 +428,7 @@ }, "UserAssignedIdentity": { "type": "object", - "properties": { - "clientId": { - "type": "string", - "description": "Client App Id associated with this identity." - }, - "principalId": { - "type": "string", - "description": "Azure Active Directory principal ID associated with this identity." - } - }, + "properties": {}, "description": "User-assigned managed identity." } }, diff --git a/schemas/2020-10-20-preview/Microsoft.HealthBot.json b/schemas/2020-10-20-preview/Microsoft.HealthBot.json new file mode 100644 index 0000000000..7eecde31d7 --- /dev/null +++ b/schemas/2020-10-20-preview/Microsoft.HealthBot.json @@ -0,0 +1,153 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-20-preview/Microsoft.HealthBot.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.HealthBot", + "description": "Microsoft HealthBot Resource Types", + "resourceDefinitions": { + "healthBots": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-20-preview" + ] + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "minLength": 2, + "maxLength": 64 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the Bot resource." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/HealthBotProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs." + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The resource model definition representing SKU" + }, + "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.HealthBot/healthBots" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.HealthBot/healthBots" + } + }, + "definitions": { + "HealthBotProperties": { + "type": "object", + "properties": {}, + "description": "The properties of a HealthBot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs." + }, + "Sku": { + "type": "object", + "properties": { + "capacity": { + "oneOf": [ + { + "type": "integer" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "F0", + "S1" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the HealthBot SKU." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "tier": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Free", + "Standard" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + } + }, + "required": [ + "name" + ], + "description": "The resource model definition representing SKU" + } + } +} \ No newline at end of file diff --git a/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json new file mode 100644 index 0000000000..f9e1c985e0 --- /dev/null +++ b/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json @@ -0,0 +1,511 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.PowerPlatform", + "description": "Microsoft PowerPlatform Resource Types", + "resourceDefinitions": { + "enterprisePolicies": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/EnterprisePolicyIdentity" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The identity of the EnterprisePolicy." + }, + "name": { + "type": "string", + "description": "Name of the EnterprisePolicy." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/Properties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties that define configuration for the enterprise policy." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/enterprisePolicies_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/enterprisePolicies_subnets_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.PowerPlatform/enterprisePolicies" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies" + }, + "enterprisePolicies_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + }, + "enterprisePolicies_subnets": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.PowerPlatform/enterprisePolicies/subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/subnets" + } + }, + "definitions": { + "enterprisePolicies_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/privateEndpointConnections" + }, + "enterprisePolicies_subnets_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-10-30-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the subnet." + }, + "type": { + "type": "string", + "enum": [ + "subnets" + ] + } + }, + "required": [ + "apiVersion", + "name", + "type" + ], + "description": "Microsoft.PowerPlatform/enterprisePolicies/subnets" + }, + "EnterprisePolicyIdentity": { + "type": "object", + "properties": { + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity used for the EnterprisePolicy. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity." + } + }, + "description": "The identity of the EnterprisePolicy." + }, + "KeyProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The identifier of the key vault key used to encrypt data." + }, + "version": { + "type": "string", + "description": "The version of the identity which will be used to access key vault." + } + }, + "description": "Url and version of the KeyVault Secret" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Uri of KeyVault" + }, + "key": { + "oneOf": [ + { + "$ref": "#/definitions/KeyProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Url and version of the KeyVault Secret" + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of onboarding, which only appears in the response." + } + }, + "description": "Settings concerning key vault encryption for a configuration store." + }, + "PrivateEndpoint": { + "type": "object", + "properties": {}, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "Properties": { + "type": "object", + "properties": { + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/PropertiesEncryption" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The encryption settings for a configuration store." + }, + "lockbox": { + "oneOf": [ + { + "$ref": "#/definitions/PropertiesLockbox" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings concerning lockbox." + }, + "systemData": { + "oneOf": [ + { + "$ref": "#/definitions/SystemData" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "description": "The properties that define configuration for the enterprise policy." + }, + "PropertiesEncryption": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Settings concerning key vault encryption for a configuration store." + } + }, + "description": "The encryption settings for a configuration store." + }, + "PropertiesLockbox": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled", + "NotConfigured" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "lockbox configuration." + } + }, + "description": "Settings concerning lockbox." + }, + "SystemData": { + "type": "object", + "properties": { + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that created the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "oneOf": [ + { + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of identity that last modified the resource." + } + }, + "description": "Metadata pertaining to creation and last modification of the resource." + } + } +} \ No newline at end of file diff --git a/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json b/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json new file mode 100644 index 0000000000..1a76990996 --- /dev/null +++ b/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json @@ -0,0 +1,2434 @@ +{ + "id": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Microsoft.ContainerRegistry", + "description": "Microsoft ContainerRegistry Resource Types", + "resourceDefinitions": { + "registries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the container registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/RegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a container registry." + }, + "resources": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/definitions/registries_connectedRegistries_childResource" + }, + { + "$ref": "#/definitions/registries_exportPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_importPipelines_childResource" + }, + { + "$ref": "#/definitions/registries_pipelineRuns_childResource" + }, + { + "$ref": "#/definitions/registries_privateEndpointConnections_childResource" + }, + { + "$ref": "#/definitions/registries_replications_childResource" + }, + { + "$ref": "#/definitions/registries_scopeMaps_childResource" + }, + { + "$ref": "#/definitions/registries_tokens_childResource" + }, + { + "$ref": "#/definitions/registries_webhooks_childResource" + } + ] + } + }, + "sku": { + "oneOf": [ + { + "$ref": "#/definitions/Sku" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU of a container registry." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "sku", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries" + }, + "registries_connectedRegistries": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_exportPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_pipelineRuns": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.ContainerRegistry/registries/webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + } + }, + "definitions": { + "ConnectedRegistryProperties": { + "type": "object", + "properties": { + "clientTokenIds": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry." + }, + "logging": { + "oneOf": [ + { + "$ref": "#/definitions/LoggingProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The logging properties of the connected registry." + }, + "loginServer": { + "oneOf": [ + { + "$ref": "#/definitions/LoginServerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The login server properties of the connected registry." + }, + "mode": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Registry", + "Mirror" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The mode of the connected registry resource that indicates the permissions of the registry." + }, + "parent": { + "oneOf": [ + { + "$ref": "#/definitions/ParentProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the connected registry parent." + } + }, + "required": [ + "mode", + "parent" + ], + "description": "The properties of a connected registry." + }, + "EncryptionProperty": { + "type": "object", + "properties": { + "keyVaultProperties": { + "oneOf": [ + { + "$ref": "#/definitions/KeyVaultProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether or not the encryption is enabled for container registry." + } + } + }, + "ExportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the export pipeline target." + } + }, + "required": [ + "target" + ], + "description": "The properties of an export pipeline." + }, + "ExportPipelineTargetProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the target storage SAS token." + }, + "type": { + "type": "string", + "description": "The type of target for the export pipeline." + }, + "uri": { + "type": "string", + "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the export pipeline target." + }, + "IdentityProperties": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "type": "string", + "description": "The tenant ID of resource." + }, + "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/UserIdentityProperties" + }, + "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 \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Managed identity for the resource." + }, + "ImportPipelineProperties": { + "type": "object", + "properties": { + "options": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "OverwriteTags", + "OverwriteBlobs", + "DeleteSourceBlobOnSuccess", + "ContinueOnErrors" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of all options configured for the pipeline." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the import pipeline source." + }, + "trigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "required": [ + "source" + ], + "description": "The properties of an import pipeline." + }, + "ImportPipelineSourceProperties": { + "type": "object", + "properties": { + "keyVaultUri": { + "type": "string", + "description": "They key vault secret uri to obtain the source storage SAS token." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlobContainer" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of source for the import pipeline." + }, + "uri": { + "type": "string", + "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"" + } + }, + "required": [ + "keyVaultUri" + ], + "description": "The properties of the import pipeline source." + }, + "IPRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of IP ACL rule." + }, + "value": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "identity": { + "type": "string", + "description": "The client id of the identity which will be used to access key vault." + }, + "keyIdentifier": { + "type": "string", + "description": "Key vault uri to access the encryption key." + } + } + }, + "LoggingProperties": { + "type": "object", + "properties": { + "auditLogStatus": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Indicates whether audit logs are enabled on the connected registry." + }, + "logLevel": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Debug", + "Information", + "Warning", + "Error", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The verbosity of logs persisted on the connected registry." + } + }, + "description": "The logging properties of the connected registry." + }, + "LoginServerProperties": { + "type": "object", + "properties": {}, + "description": "The login server properties of the connected registry." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "defaultAction": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow", + "Deny" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The default action of allow or deny when no other rules match." + }, + "ipRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The IP ACL rules." + }, + "virtualNetworkRules": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The virtual network rules." + } + }, + "required": [ + "defaultAction" + ], + "description": "The network rule set for a container registry." + }, + "ParentProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the parent to which the connected registry will be associated." + }, + "syncProperties": { + "oneOf": [ + { + "$ref": "#/definitions/SyncProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The sync properties of the connected registry with its parent." + } + }, + "required": [ + "syncProperties" + ], + "description": "The properties of the connected registry parent." + }, + "PipelineRunProperties": { + "type": "object", + "properties": { + "forceUpdateTag": { + "type": "string", + "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed." + }, + "request": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunRequest" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The request properties provided for a pipeline run." + } + }, + "description": "The properties of a pipeline run." + }, + "PipelineRunRequest": { + "type": "object", + "properties": { + "artifacts": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123')." + }, + "catalogDigest": { + "type": "string", + "description": "The digest of the tar used to transfer the artifacts." + }, + "pipelineResourceId": { + "type": "string", + "description": "The resource ID of the pipeline to run." + }, + "source": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunSourceProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "target": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunTargetProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The request properties provided for a pipeline run." + }, + "PipelineRunSourceProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the source." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the source." + } + } + }, + "PipelineRunTargetProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the target." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureStorageBlob" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of the target." + } + } + }, + "PipelineSourceTriggerProperties": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The current status of the source trigger." + } + }, + "required": [ + "status" + ] + }, + "PipelineTriggerProperties": { + "type": "object", + "properties": { + "sourceTrigger": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineSourceTriggerProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + } + }, + "Policies": { + "type": "object", + "properties": { + "quarantinePolicy": { + "oneOf": [ + { + "$ref": "#/definitions/QuarantinePolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The quarantine policy for a container registry." + }, + "retentionPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/RetentionPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The retention policy for a container registry." + }, + "trustPolicy": { + "oneOf": [ + { + "$ref": "#/definitions/TrustPolicy" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The content trust policy for a container registry." + } + }, + "description": "The policies for a container registry." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "This is private endpoint resource created with Microsoft.Network resource provider." + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpoint" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The Private Endpoint resource." + }, + "privateLinkServiceConnectionState": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The state of a private link service connection." + } + }, + "description": "The properties of a private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "actionsRequired": { + "oneOf": [ + { + "type": "string", + "enum": [ + "None", + "Recreate" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "A message indicating if changes on the service provider require any updates on the consumer." + }, + "description": { + "type": "string", + "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The private link service connection status." + } + }, + "description": "The state of a private link service connection." + }, + "QuarantinePolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The quarantine policy for a container registry." + }, + "registries_connectedRegistries_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the connected registry." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ConnectedRegistryProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a connected registry." + }, + "type": { + "type": "string", + "enum": [ + "connectedRegistries" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/connectedRegistries" + }, + "registries_exportPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the export pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the export pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ExportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an export pipeline." + }, + "type": { + "type": "string", + "enum": [ + "exportPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/exportPipelines" + }, + "registries_importPipelines_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "identity": { + "oneOf": [ + { + "$ref": "#/definitions/IdentityProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Managed identity for the resource." + }, + "location": { + "type": "string", + "description": "The location of the import pipeline." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the import pipeline." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ImportPipelineProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of an import pipeline." + }, + "type": { + "type": "string", + "enum": [ + "importPipelines" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/importPipelines" + }, + "registries_pipelineRuns_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the pipeline run." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PipelineRunProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a pipeline run." + }, + "type": { + "type": "string", + "enum": [ + "pipelineRuns" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/pipelineRuns" + }, + "registries_privateEndpointConnections_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "type": "string", + "description": "The name of the private endpoint connection." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a private endpoint connection." + }, + "type": { + "type": "string", + "enum": [ + "privateEndpointConnections" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/privateEndpointConnections" + }, + "registries_replications_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the resource. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the replication." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ReplicationProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a replication." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags of the resource." + }, + "type": { + "type": "string", + "enum": [ + "replications" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/replications" + }, + "registries_scopeMaps_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-_]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the scope map." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/ScopeMapProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a scope map." + }, + "type": { + "type": "string", + "enum": [ + "scopeMaps" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/scopeMaps" + }, + "registries_tokens_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9-]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the token." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/TokenProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a token." + }, + "type": { + "type": "string", + "enum": [ + "tokens" + ] + } + }, + "required": [ + "apiVersion", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/tokens" + }, + "registries_webhooks_childResource": { + "type": "object", + "properties": { + "apiVersion": { + "type": "string", + "enum": [ + "2020-11-01-preview" + ] + }, + "location": { + "type": "string", + "description": "The location of the webhook. This cannot be changed after the resource is created." + }, + "name": { + "oneOf": [ + { + "type": "string", + "pattern": "^[a-zA-Z0-9]*$", + "minLength": 5, + "maxLength": 50 + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The name of the webhook." + }, + "properties": { + "oneOf": [ + { + "$ref": "#/definitions/WebhookPropertiesCreateParameters" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The parameters for creating the properties of a webhook." + }, + "tags": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The tags for the webhook." + }, + "type": { + "type": "string", + "enum": [ + "webhooks" + ] + } + }, + "required": [ + "apiVersion", + "location", + "name", + "properties", + "type" + ], + "description": "Microsoft.ContainerRegistry/registries/webhooks" + }, + "RegistryProperties": { + "type": "object", + "properties": { + "adminUserEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": false + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the admin user is enabled." + }, + "dataEndpointEnabled": { + "oneOf": [ + { + "type": "boolean" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Enable a single data endpoint per region for serving data." + }, + "encryption": { + "oneOf": [ + { + "$ref": "#/definitions/EncryptionProperty" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "networkRuleBypassOptions": { + "oneOf": [ + { + "type": "string", + "enum": [ + "AzureServices", + "None" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether to allow trusted Azure services to access a network restricted registry." + }, + "networkRuleSet": { + "oneOf": [ + { + "$ref": "#/definitions/NetworkRuleSet" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The network rule set for a container registry." + }, + "policies": { + "oneOf": [ + { + "$ref": "#/definitions/Policies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The policies for a container registry." + }, + "publicNetworkAccess": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not public network access is allowed for the container registry." + }, + "storageAccount": { + "oneOf": [ + { + "$ref": "#/definitions/StorageAccountProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry." + } + }, + "description": "The properties of a container registry." + }, + "ReplicationProperties": { + "type": "object", + "properties": { + "regionEndpointEnabled": { + "oneOf": [ + { + "type": "boolean", + "default": true + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications." + }, + "zoneRedundancy": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Whether or not zone redundancy is enabled for this container registry replication." + } + }, + "description": "The properties of a replication." + }, + "RetentionPolicy": { + "type": "object", + "properties": { + "days": { + "oneOf": [ + { + "type": "integer", + "default": "7" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The number of days to retain an untagged manifest after which it gets purged." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + } + }, + "description": "The retention policy for a container registry." + }, + "ScopeMapProperties": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write" + }, + "description": { + "type": "string", + "description": "The user friendly description of the scope map." + } + }, + "required": [ + "actions" + ], + "description": "The properties of a scope map." + }, + "Sku": { + "type": "object", + "properties": { + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Classic", + "Basic", + "Standard", + "Premium" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The SKU name of the container registry. Required for registry creation." + } + }, + "required": [ + "name" + ], + "description": "The SKU of a container registry." + }, + "StorageAccountProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the storage account." + } + }, + "required": [ + "id" + ], + "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU." + }, + "SyncProperties": { + "type": "object", + "properties": { + "messageTtl": { + "type": "string", + "format": "duration", + "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "schedule": { + "type": "string", + "description": "The cron expression indicating the schedule that the connected registry will sync with its parent." + }, + "syncWindow": { + "type": "string", + "format": "duration", + "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601." + }, + "tokenId": { + "type": "string", + "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync." + } + }, + "required": [ + "messageTtl", + "tokenId" + ], + "description": "The sync properties of the connected registry with its parent." + }, + "TokenCertificate": { + "type": "object", + "properties": { + "encodedPemCertificate": { + "type": "string", + "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the certificate." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "certificate1", + "certificate2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "thumbprint": { + "type": "string", + "description": "The thumbprint of the certificate." + } + }, + "description": "The properties of a certificate used for authenticating a token." + }, + "TokenCredentialsProperties": { + "type": "object", + "properties": { + "certificates": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenCertificate" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + }, + "passwords": { + "oneOf": [ + { + "type": "array", + "items": { + "$ref": "#/definitions/TokenPassword" + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ] + } + }, + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "TokenPassword": { + "type": "object", + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime of the password." + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The expiry datetime of the password." + }, + "name": { + "oneOf": [ + { + "type": "string", + "enum": [ + "password1", + "password2" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The password name \"password1\" or \"password2\"." + } + }, + "description": "The password that will be used for authenticating the token of a container registry." + }, + "TokenProperties": { + "type": "object", + "properties": { + "credentials": { + "oneOf": [ + { + "$ref": "#/definitions/TokenCredentialsProperties" + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The properties of the credentials that can be used for authenticating the token." + }, + "scopeMapId": { + "type": "string", + "description": "The resource ID of the scope map to which the token will be associated with." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the token example enabled or disabled." + } + }, + "description": "The properties of a token." + }, + "TrustPolicy": { + "type": "object", + "properties": { + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The value that indicates whether the policy is enabled or not." + }, + "type": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Notary" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The type of trust policy." + } + }, + "description": "The content trust policy for a container registry." + }, + "UserIdentityProperties": { + "type": "object", + "properties": { + "clientId": { + "type": "string", + "description": "The client id of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + } + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "action": { + "oneOf": [ + { + "type": "string", + "enum": [ + "Allow" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The action of virtual network rule." + }, + "id": { + "type": "string", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + } + }, + "required": [ + "id" + ], + "description": "Virtual network rule." + }, + "WebhookPropertiesCreateParameters": { + "type": "object", + "properties": { + "actions": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "push", + "delete", + "quarantine", + "chart_push", + "chart_delete" + ] + } + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The list of actions that trigger the webhook to post notifications." + }, + "customHeaders": { + "oneOf": [ + { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "properties": {} + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "Custom headers that will be added to the webhook notifications." + }, + "scope": { + "type": "string", + "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events." + }, + "serviceUri": { + "type": "string", + "description": "The service URI for the webhook to post notifications." + }, + "status": { + "oneOf": [ + { + "type": "string", + "enum": [ + "enabled", + "disabled" + ] + }, + { + "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" + } + ], + "description": "The status of the webhook at the time the operation was called." + } + }, + "required": [ + "actions", + "serviceUri" + ], + "description": "The parameters for creating the properties of a webhook." + } + } +} \ No newline at end of file diff --git a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json index c436777731..a0253f81c2 100644 --- a/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json +++ b/schemas/2020-11-02-preview/Microsoft.DesktopVirtualization.json @@ -20,7 +20,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the application group" }, "properties": { @@ -132,7 +132,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the host pool within the specified resource group" }, "properties": { @@ -244,7 +244,7 @@ "name": { "type": "string", "minLength": 3, - "maxLength": 24, + "maxLength": 64, "description": "The name of the workspace" }, "properties": { diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index 73893a3f0d..c849ec25d9 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1117,6 +1117,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2018-09-01-preview/Microsoft.Attestation.json#/resourceDefinitions/attestationProviders" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-01/Microsoft.Attestation.json#/resourceDefinitions/attestationProviders" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-06-30-preview/Microsoft.Automanage.json#/resourceDefinitions/configurationProfilePreferences" + }, { "$ref": "https://schema.management.azure.com/schemas/2015-10-31/Microsoft.Automation.json#/resourceDefinitions/automationAccounts" }, @@ -1198,6 +1207,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-01-13-preview/Microsoft.Automation.json#/resourceDefinitions/automationAccounts_privateEndpointConnections" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#/resourceDefinitions/accounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01-preview/Microsoft.AutonomousDevelopmentPlatform.json#/resourceDefinitions/accounts_dataPools" + }, { "$ref": "https://schema.management.azure.com/schemas/2019-08-09-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds" }, @@ -1234,6 +1249,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-07-17-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds_workloadNetworks_dhcpConfigurations" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-17-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds_workloadNetworks_dnsServices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-17-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds_workloadNetworks_dnsZones" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-07-17-preview/Microsoft.AVS.json#/resourceDefinitions/privateClouds_workloadNetworks_portMirroringProfiles" }, @@ -1669,6 +1690,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-08-20-preview/Microsoft.Communication.json#/resourceDefinitions/communicationServices" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-03-01-preview/Microsoft.Confluent.json#/resourceDefinitions/organizations" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-01-31/Microsoft.Consumption.json#/resourceDefinitions/budgets" }, @@ -1810,6 +1834,36 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-12-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_connectedRegistries" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_exportPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_importPipelines" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_pipelineRuns" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_replications" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_scopeMaps" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_tokens" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-11-01-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries_webhooks" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.ContainerService.json#/resourceDefinitions/containerServices" }, @@ -2071,6 +2125,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-03-30/Microsoft.DataCatalog.json#/resourceDefinitions/catalogs" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_singleSignOnConfigurations" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-02-01-preview/Microsoft.Datadog.json#/resourceDefinitions/monitors_tagRules" + }, { "$ref": "https://schema.management.azure.com/schemas/2017-09-01-preview/Microsoft.DataFactory.json#/resourceDefinitions/factories" }, @@ -2158,6 +2221,57 @@ { "$ref": "https://schema.management.azure.com/schemas/2016-11-01/Microsoft.DataLakeStore.json#/resourceDefinitions/accounts_virtualNetworkRules" }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2017-11-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-03-31-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-04-19/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_files" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_projects_tasks" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2018-07-15-preview/Microsoft.DataMigration.json#/resourceDefinitions/services_serviceTasks" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-11-01-preview/Microsoft.DataShare.json#/resourceDefinitions/accounts" }, @@ -3607,6 +3721,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2018-06-01-preview/Microsoft.HDInsight.json#/resourceDefinitions/clusters_extensions" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-20-preview/Microsoft.HealthBot.json#/resourceDefinitions/healthBots" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-08-20-preview/Microsoft.HealthcareApis.json#/resourceDefinitions/services" }, @@ -3682,6 +3799,12 @@ { "$ref": "https://schema.management.azure.com/schemas/2019-06-01/Microsoft.HybridData.json#/resourceDefinitions/dataManagers_dataStores" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/resourceDefinitions/devices" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.HybridNetwork.json#/resourceDefinitions/networkFunctions" + }, { "$ref": "https://schema.management.azure.com/schemas/2016-11-01/Microsoft.ImportExport.json#/resourceDefinitions/jobs" }, @@ -3694,6 +3817,9 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-10-01-preview/Microsoft.IoTSpaces.json#/resourceDefinitions/Graph" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-01-01-preview/Microsoft.Kubernetes.json#/resourceDefinitions/connectedClusters" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-10-15/Microsoft.LabServices.json#/resourceDefinitions/labaccounts" }, @@ -3937,6 +4063,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" }, @@ -4054,6 +4186,48 @@ { "$ref": "https://schema.management.azure.com/schemas/2020-06-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_backups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-07-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_backupPolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_backups" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_capacityPools_volumes_snapshots" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-08-01/Microsoft.NetApp.json#/resourceDefinitions/netAppAccounts_snapshotPolicies" + }, { "$ref": "https://schema.management.azure.com/schemas/2018-08-01/Microsoft.Network.FrontDoor.json#/resourceDefinitions/frontDoors" }, @@ -4336,6 +4510,15 @@ { "$ref": "https://schema.management.azure.com/schemas/2017-10-01/Microsoft.PowerBIDedicated.json#/resourceDefinitions/capacities" }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies_privateEndpointConnections" + }, + { + "$ref": "https://schema.management.azure.com/schemas/2020-10-30-preview/Microsoft.PowerPlatform.json#/resourceDefinitions/enterprisePolicies_subnets" + }, { "$ref": "https://schema.management.azure.com/schemas/2020-04-30/Microsoft.RedHatOpenShift.json#/resourceDefinitions/openShiftClusters" },