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/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-07-15-preview/Microsoft.DataMigration.json b/schemas/2018-07-15-preview/Microsoft.DataMigration.json new file mode 100644 index 0000000000..83baf4d3f6 --- /dev/null +++ b/schemas/2018-07-15-preview/Microsoft.DataMigration.json @@ -0,0 +1,4304 @@ +{ + "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" + }, + "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" + }, + "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" + }, + "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.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/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index cd5b1cf8d6..3e02c75547 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -1954,6 +1954,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" },