diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json index e53d4fade7bc..33d8ccd6428b 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json @@ -96,6 +96,59 @@ "MigrateSyncCompleteCommandOutput": { "type": "object", "description": "Output for command that completes sync migration for a database.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "errors": { + "description": "List of errors that happened during the command execution", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateMISyncCompleteCommandProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete", + "type": "object", + "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "input": { + "description": "Command input", + "$ref": "#/definitions/MigrateMISyncCompleteCommandInput" + }, + "output": { + "description": "Command output. This is ignored if submitted.", + "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/CommandProperties" + } + ] + }, + "MigrateMISyncCompleteCommandInput": { + "type": "object", + "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "sourceDatabaseName": { + "description": "Name of managed instance database", + "type": "string" + } + }, + "required": [ + "sourceDatabaseName" + ] + }, + "MigrateMISyncCompleteCommandOutput": { + "type": "object", + "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.", "properties": { "errors": { "description": "List of errors that happened during the command execution", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json index 25a341d55f38..9330c766a5a6 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json @@ -317,7 +317,7 @@ }, "platform": { "$ref": "#/definitions/SqlServerSourcePlatform", - "description": "Server platform type for connection" + "description": "Server platform type for connection" } }, "required": [ @@ -332,7 +332,7 @@ ], "x-ms-enum": { "name": "SqlSourcePlatform", - "modelAsString": true + "modelAsString": true } }, "MySqlConnectionInfo": { @@ -359,8 +359,8 @@ "port" ] }, - "PostgreSqlConnectionInfo": { - "x-ms-discriminator-value": "PostgreSqlConnectionInfo", + "PostgreSqlConnectionInfo": { + "x-ms-discriminator-value": "PostgreSqlConnectionInfo", "type": "object", "description": "Information for connecting to PostgreSQL server", "properties": { @@ -386,11 +386,12 @@ "serverName", "port" ] - }, + }, "MySqlTargetPlatform": { "type": "string", "description": "An enumeration of possible target types when migrating from MySQL", "enum": [ + "SqlServer", "AzureDbForMySQL" ], "x-ms-enum": { @@ -408,9 +409,170 @@ "MigrationFromMySQLToAzureDBForMySQL" ], "x-ms-enum": { - "name": "ServerLevelPermissionsGroup", + "name": "ServerLevelPermissionsGroup" + } + }, + "AzureActiveDirectoryApp": { + "type": "object", + "description": "Azure Active Directory Application", + "properties": { + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "applicationId", + "appKey", + "tenantId" + ] + }, + "MiSqlConnectionInfo": { + "x-ms-discriminator-value": "MiSqlConnectionInfo", + "type": "object", + "description": "Properties required to create a connection to Azure SQL database Managed instance", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + } + }, + "required": [ + "managedInstanceResourceId" + ] + }, + "BackupSetInfo": { + "type": "object", + "description": "Information of backup set", + "properties": { + "backupSetId": { + "type": "string", + "description": "Id for the set of backup files" + }, + "firstLsn": { + "type": "string", + "description": "First log sequence number of the backup file" + }, + "lastLsn": { + "type": "string", + "description": "Last log sequence number of the backup file" + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time of the backup file in share location" + }, + "backupType": { + "$ref": "#/definitions/BackupType", + "description": "Enum of the different backup types" + }, + "listOfBackupFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupFileInfo" + }, + "description": "List of files in the backup set" + }, + "databaseName": { + "type": "string", + "description": "Name of the database to which the backup set belongs" + }, + "backupStartDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation began" + }, + "backupFinishedDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation finished" + }, + "isBackupRestored": { + "type": "boolean", + "description": "Whether the backup set is restored or not" + } + }, + "readOnly": true + }, + "BackupType": { + "type": "string", + "description": "Enum of the different backup types.", + "enum": [ + "Database", + "TransactionLog", + "File", + "DifferentialDatabase", + "DifferentialFile", + "Partial", + "DifferentialPartial" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true + } + }, + "BackupFileInfo": { + "type": "object", + "description": "Information of the backup file", + "properties": { + "fileLocation": { + "type": "string", + "description": "Location of the backup file in shared folder" + }, + "familySequenceNumber": { + "type": "integer", + "description": "Sequence number of the backup file in the backup set" + }, + "status": { + "$ref": "#/definitions/BackupFileStatus", + "description": "Status of the backup file during migration" + } + }, + "readOnly": true + }, + "BackupFileStatus": { + "type": "string", + "description": "An enumeration of Status of the log backup file.", + "enum": [ + "Arrived", + "Queued", + "Uploading", + "Uploaded", + "Restoring", + "Restored", + "Cancelled" + ], + "x-ms-enum": { + "name": "BackupFileStatus", "modelAsString": true } + }, + "OrphanedUserInfo": { + "type": "object", + "description": "Information of orphaned users on the SQL server database.", + "properties": { + "name": { + "type": "string", + "description": "Name of the orphaned user" + }, + "databaseName": { + "type": "string", + "description": "Parent database of the user" + } + } } } } diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json new file mode 100644 index 000000000000..3ca21da2dff4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourcePostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on source server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..4b5d6d290d0f --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json new file mode 100644 index 000000000000..8289213fcd21 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp": { + "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account", + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp" + } + }, + "required": [ + "targetConnectionInfo", + "azureApp" + ] + }, + "ConnectToTargetSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json index 2c588bdc5f45..1b17b6440d70 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json @@ -333,6 +333,27 @@ "targetDatabaseName": { "type": "string", "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } } } } diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json index 510011b864ba..ba74ceddaafd 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json @@ -336,6 +336,27 @@ "targetDatabaseName": { "type": "string", "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } } } } diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json index f91c175ab0ef..5e213067b488 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json @@ -139,11 +139,11 @@ }, "readOnly": true }, - "orphanedUsers": { - "type": "string", - "description": "Map of users to database name of orphaned users.", - "additionalProperties": { - "type": "string" + "orphanedUsersInfo": { + "type": "array", + "description": "List of orphaned users.", + "items": { + "$ref": "./Common.json#/definitions/OrphanedUserInfo" }, "readOnly": true }, diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..9febcfab16e1 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json @@ -0,0 +1,212 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "databaseCount": { + "type": "integer", + "description": "Count of databases", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "databaseErrorCount": { + "type": "integer", + "description": "Number of database level errors", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationState", + "description": "Current state of database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration end time", + "readOnly": true + }, + "fullBackupSetInfo": { + "type": "object", + "description": "Details of full backup set", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "lastRestoredBackupSetInfo":{ + "type": "object", + "description": "Last applied backup set information", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "activeBackupSets":{ + "description": "Backup sets that are currently active (Either being uploaded or getting restored)", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/BackupSetInfo" + }, + "readOnly": true + }, + "containerName": { + "description": "Name of container created in the Azure Storage account where backups are copied to", + "type": "string", + "readOnly": true + }, + "errorPrefix": { + "description": "prefix string to use for querying errors for this database", + "type": "string", + "readOnly": true + }, + "isFullBackupRestored": { + "description": "Whether full backup has been applied to the target database or not", + "type": "boolean", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json index dd4ec856c195..8496860bbae8 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "title": "Azure Data Migration Service Resource Provider", + "title": "Azure Database Migration Service Resource Provider", "version": "2018-07-15-preview" }, "securityDefinitions": { diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json index 7a27c3a1a67a..cb1e78aed82b 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json @@ -171,6 +171,30 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "ConnectToTargetSqlDbTaskProperties": { "x-ms-discriminator-value": "ConnectToTarget.SqlDb", @@ -219,6 +243,30 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "GetUserTablesSqlTaskProperties": { "x-ms-discriminator-value": "GetUserTables.Sql", @@ -291,6 +339,30 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "ConnectToTargetAzureDbForMySqlTaskProperties": { "x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql", @@ -361,6 +433,30 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "MigrateSqlServerSqlDbTaskProperties": { "x-ms-discriminator-value": "Migrate.SqlServer.SqlDb", @@ -505,6 +601,30 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "ValidateMongoDbTaskProperties": { "x-ms-discriminator-value": "Validate.MongoDb", diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json index 42e959a5e852..5a49380c1e9c 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json @@ -304,6 +304,46 @@ "projectName", "projectLocation" ] + }, + "SqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Connection information for source SQL Server" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp":{ + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp", + "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account" + } + }, + "required": [ + "selectedDatabases", + "azureApp", + "sourceConnectionInfo", + "targetConnectionInfo", + "storageResourceId" + ] }, "MigrationState": { "type": "string", @@ -1122,6 +1162,26 @@ "name": "BackupType", "modelAsString": true } + }, + "DatabaseMigrationState": { + "type": "string", + "description": "Database level migration state.", + "enum": [ + "UNDEFINED", + "INITIAL", + "FULL_BACKUP_UPLOAD_START", + "LOG_SHIPPING_START", + "UPLOAD_LOG_FILES_START", + "CUTOVER_START", + "POST_CUTOVER_COMPLETE", + "COMPLETED", + "CANCELLED", + "FAILED" + ], + "x-ms-enum": { + "name": "DatabaseMigrationState", + "modelAsString": true + } } } } \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..fe872c46c5bf --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json @@ -0,0 +1,54 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Azure SQL Database Managed Instance online migration", + "properties": { + "id": { + "type": "string", + "description": "Database identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json new file mode 100644 index 000000000000..78c25f8767d4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json @@ -0,0 +1,163 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "CommandProperties": { + "type": "object", + "description": "Base class for all types of DMS command properties. If command is not supported by current client, this object is returned.", + "x-ms-discriminator-value": "Unknown", + "properties": { + "commandType": { + "description": "Command type.", + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ODataError" + }, + "description": "Array of errors. This is ignored if submitted.", + "readOnly": true + }, + "state": { + "type": "string", + "description": "The state of the command. This is ignored if submitted.", + "enum": [ + "Unknown", + "Accepted", + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "CommandState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ "commandType" ], + "discriminator": "commandType" + }, + "MigrateSyncCompleteCommandProperties": { + "x-ms-discriminator-value": "Migrate.Sync.Complete.Database", + "type": "object", + "description": "Properties for the command that completes sync migration for a database.", + "properties": { + "input": { + "description": "Command input", + "$ref": "#/definitions/MigrateSyncCompleteCommandInput" + }, + "output": { + "description": "Command output. This is ignored if submitted.", + "$ref": "#/definitions/MigrateSyncCompleteCommandOutput", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/CommandProperties" + } + ] + }, + "MigrateSyncCompleteCommandInput": { + "type": "object", + "description": "Input for command that completes sync migration for a database.", + "properties": { + "databaseName": { + "description": "Name of database", + "type": "string" + }, + "commitTimeStamp": { + "type": "string", + "format": "date-time", + "description": "Time stamp to complete" + } + }, + "required": [ + "databaseName" + ] + }, + "MigrateSyncCompleteCommandOutput": { + "type": "object", + "description": "Output for command that completes sync migration for a database.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "errors": { + "description": "List of errors that happened during the command execution", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateMISyncCompleteCommandProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete", + "type": "object", + "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "input": { + "description": "Command input", + "$ref": "#/definitions/MigrateMISyncCompleteCommandInput" + }, + "output": { + "description": "Command output. This is ignored if submitted.", + "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/CommandProperties" + } + ] + }, + "MigrateMISyncCompleteCommandInput": { + "type": "object", + "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "sourceDatabaseName": { + "description": "Name of managed instance database", + "type": "string" + } + }, + "required": [ + "sourceDatabaseName" + ] + }, + "MigrateMISyncCompleteCommandOutput": { + "type": "object", + "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "errors": { + "description": "List of errors that happened during the command execution", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json index 4fa419b122ee..274bb71c32a5 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json @@ -157,6 +157,10 @@ "readOnly": true, "type": "string", "description": "Error message" + }, + "actionableMessage": { + "type": "string", + "description": "Actionable steps for this exception" }, "filePath": { "readOnly": true, @@ -252,7 +256,9 @@ "description": "Password credential." } }, - "required": [ "type" ], + "required": [ + "type" + ], "discriminator": "type" }, "AuthenticationType": { @@ -301,21 +307,265 @@ "type": "boolean", "description": "Whether to trust the server certificate", "default": false + }, + "platform": { + "$ref": "#/definitions/SqlServerSourcePlatform", + "description": "Server platform type for connection" + } + }, + "required": [ + "dataSource" + ] + }, + "SqlServerSourcePlatform": { + "type": "string", + "description": "An enumeration of source platform types", + "enum": [ + "SqlOnPrem" + ], + "x-ms-enum": { + "name": "SqlSourcePlatform", + "modelAsString": true + } + }, + "MySqlConnectionInfo": { + "x-ms-discriminator-value": "MySqlConnectionInfo", + "type": "object", + "description": "Information for connecting to MySQL server", + "properties": { + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "port": { + "type": "integer", + "description": "Port for Server" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "serverName", + "port" + ] + }, + "PostgreSqlConnectionInfo": { + "x-ms-discriminator-value": "PostgreSqlConnectionInfo", + "type": "object", + "description": "Information for connecting to PostgreSQL server", + "properties": { + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "port": { + "type": "integer", + "description": "Port for Server" } }, - "required": [ "dataSource" ] + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "serverName", + "port" + ] + }, + "MySqlTargetPlatform": { + "type": "string", + "description": "An enumeration of possible target types when migrating from MySQL", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ], + "x-ms-enum": { + "name": "MySqlTargetPlatformType", + "modelAsString": true + } }, "ServerLevelPermissionsGroup": { "type": "string", "description": "Permission group for validations. These groups will run a set of permissions for validating user activity. Select the permission group for the activity that you are performing.", "enum": [ "Default", - "MigrationFromSqlServerToAzureDB" + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ], + "x-ms-enum": { + "name": "ServerLevelPermissionsGroup" + } + }, + "AzureActiveDirectoryApp": { + "type": "object", + "description": "Azure Active Directory Application", + "properties": { + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + } + }, + "required": [ + "applicationId", + "appKey", + "tenantId" + ] + }, + "MiSqlConnectionInfo": { + "x-ms-discriminator-value": "MiSqlConnectionInfo", + "type": "object", + "description": "Properties required to create a connection to Azure SQL database Managed instance", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + } + }, + "required": [ + "managedInstanceResourceId" + ] + }, + "BackupSetInfo": { + "type": "object", + "description": "Information of backup set", + "properties": { + "backupSetId": { + "type": "string", + "description": "Id for the set of backup files" + }, + "firstLsn": { + "type": "string", + "description": "First log sequence number of the backup file" + }, + "lastLsn": { + "type": "string", + "description": "Last log sequence number of the backup file" + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time of the backup file in share location" + }, + "backupType": { + "$ref": "#/definitions/BackupType", + "description": "Enum of the different backup types" + }, + "listOfBackupFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupFileInfo" + }, + "description": "List of files in the backup set" + }, + "databaseName": { + "type": "string", + "description": "Name of the database to which the backup set belongs" + }, + "backupStartDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation began" + }, + "backupFinishedDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation finished" + }, + "isBackupRestored": { + "type": "boolean", + "description": "Whether the backup set is restored or not" + } + }, + "readOnly": true + }, + "BackupType": { + "type": "string", + "description": "Enum of the different backup types.", + "enum": [ + "Database", + "TransactionLog", + "File", + "DifferentialDatabase", + "DifferentialFile", + "Partial", + "DifferentialPartial" ], "x-ms-enum": { - "name": "ServerLevelPermissionsGroup", + "name": "BackupType", "modelAsString": true } + }, + "BackupFileInfo": { + "type": "object", + "description": "Information of the backup file", + "properties": { + "fileLocation": { + "type": "string", + "description": "Location of the backup file in shared folder" + }, + "familySequenceNumber": { + "type": "integer", + "description": "Sequence number of the backup file in the backup set" + }, + "status": { + "$ref": "#/definitions/BackupFileStatus", + "description": "Status of the backup file during migration" + } + }, + "readOnly": true + }, + "BackupFileStatus": { + "type": "string", + "description": "An enumeration of Status of the log backup file.", + "enum": [ + "Arrived", + "Queued", + "Uploading", + "Uploaded", + "Restoring", + "Restored", + "Cancelled" + ], + "x-ms-enum": { + "name": "BackupFileStatus", + "modelAsString": true + } + }, + "OrphanedUserInfo": { + "type": "object", + "description": "Information of orphaned users on the SQL server database.", + "properties": { + "name": { + "type": "string", + "description": "Name of the orphaned user" + }, + "databaseName": { + "type": "string", + "description": "Parent database of the user" + } + } } } } diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json new file mode 100644 index 000000000000..3d68cdc1eaa0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json @@ -0,0 +1,66 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceMySqlTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.MySql", + "type": "object", + "description": "Properties for the task that validates MySQL database connection", + "properties": { + "input": { + "description": "Task input", + "$ref": "#/definitions/ConnectToSourceMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/ConnectToSourceNonSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "description": "Input for the task that validates MySQL database connection", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/MySqlConnectionInfo", + "description": "Information for connecting to MySQL source" + }, + "targetPlatform": { + "$ref": "./Common.json#/definitions/MySqlTargetPlatform", + "description": "Target Platform for the migration" + }, + "checkPermissionsGroup": { + "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", + "description": "Permission group for validations" + } + }, + "required": [ + "sourceConnectionInfo" + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json new file mode 100644 index 000000000000..7ebfe6572720 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourcePostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on source server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json new file mode 100644 index 000000000000..165665988fd2 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source MySQL server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for MySQL server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "ConnectToTargetAzureDbForMySqlTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "serverVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..125af8cb47aa --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json new file mode 100644 index 000000000000..b2c859e754dc --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json @@ -0,0 +1,79 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlMITaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "logins": { + "type": "array", + "description": "List of logins on the target server.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "agentJobs": { + "type": "array", + "description": "List of agent jobs on the target server.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json new file mode 100644 index 000000000000..fef71c4b3fff --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp": { + "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account", + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp" + } + }, + "required": [ + "targetConnectionInfo", + "azureApp" + ] + }, + "ConnectToTargetSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json new file mode 100644 index 000000000000..e2d2aa742694 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json @@ -0,0 +1,39 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-07-15-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json new file mode 100644 index 000000000000..4ea9e72610b0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "description": "Input for the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for file share to be used for temporarily storing files." + }, + "selectedCertificates": { + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate.", + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + } + }, + "required": [ + "connectionInfo", + "backupFileShare", + "selectedCertificates" + ] + }, + "GetTdeCertificatesSqlTaskOutput": { + "type": "object", + "description": "Output of the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "base64EncodedCertificates": { + "type": "string", + "description": "Mapping from certificate name to base 64 encoded format.", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "SelectedCertificateInput": { + "type": "object", + "description": "Info for ertificate to be exported for TDE enabled databases.", + "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" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json new file mode 100644 index 000000000000..ef028f0aecde --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json @@ -0,0 +1,102 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedSourceDatabases": { + "type": "array", + "description": "List of source database names to collect tables for", + "items": { + "type": "string" + } + }, + "selectedTargetDatabases": { + "type": "array", + "description": "List of target database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedSourceDatabases", + "selectedTargetDatabases" + ] + }, + "GetUserTablesSqlSyncTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "databasesToSourceTables": { + "type": "string", + "description": "Mapping from database name to list of source tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "databasesToTargetTables": { + "type": "string", + "description": "Mapping from database name to list of target tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "tableValidationErrors": { + "type": "string", + "description": "Mapping from database name to list of validation errors", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json new file mode 100644 index 000000000000..2ff54f18f5ae --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json @@ -0,0 +1,361 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "string", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "string", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "string", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs", + "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." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..252bc334a032 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,364 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs", + "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." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json new file mode 100644 index 000000000000..6556a88fd5c3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json @@ -0,0 +1,333 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + "validationOptions": { + "description": "Validation options", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "databaseCount": { + "type": "integer", + "description": "Count of databases", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json new file mode 100644 index 000000000000..ca1bec7d4ea3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json @@ -0,0 +1,374 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ], + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "selectedLogins": { + "type": "array", + "description": "Logins to migrate.", + "items": { + "type": "string" + } + }, + "selectedAgentJobs": { + "description": "Agent Jobs to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + }, + "backupMode": { + "$ref": "./TasksCommon.json#/definitions/BackupMode", + "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." + } + }, + "required": [ + "selectedDatabases", + "backupBlobShare" + ] + }, + "MigrateSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMITaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "agentJobs": { + "type": "string", + "description": "Selected agent jobs as a map from name to id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "logins": { + "type": "string", + "description": "Selected logins as a map from name to id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "serverRoleResults": { + "type": "string", + "description": "Map of server role migration results.", + "additionalProperties": { + "type": "object", + "description": "Server role migration result object.", + "$ref": "TasksCommon.json#/definitions/StartMigrationScenarioServerRoleResult" + }, + "readOnly": true + }, + "orphanedUsersInfo": { + "type": "array", + "description": "List of orphaned users.", + "items": { + "$ref": "./Common.json#/definitions/OrphanedUserInfo" + }, + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Current stage of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputAgentJobLevel": { + "type": "object", + "x-ms-discriminator-value": "AgentJobLevelOutput", + "properties": { + "name": { + "type": "string", + "description": "Agent Job name.", + "readOnly": true + }, + "isEnabled" : { + "type": "boolean", + "description": "The state of the original Agent Job.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration errors and warnings per job", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputLoginLevel": { + "type": "object", + "x-ms-discriminator-value": "LoginLevelOutput", + "properties": { + "loginName": { + "type": "string", + "description": "Login name.", + "readOnly": true + }, + "state" : { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of login", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/LoginMigrationStage", + "description": "Current stage of login", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Login migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Login migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Login migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Login migration errors and warnings per login", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..a377c6b0a32e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json @@ -0,0 +1,212 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string", + "readOnly": true + } + }, + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "databaseCount": { + "type": "integer", + "description": "Count of databases", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "databaseErrorCount": { + "type": "integer", + "description": "Number of database level errors", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationState", + "description": "Current state of database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration end time", + "readOnly": true + }, + "fullBackupSetInfo": { + "type": "object", + "description": "Details of full backup set", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "lastRestoredBackupSetInfo":{ + "type": "object", + "description": "Last applied backup set information", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "activeBackupSets":{ + "description": "Backup sets that are currently active (Either being uploaded or getting restored)", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/BackupSetInfo" + }, + "readOnly": true + }, + "containerName": { + "description": "Name of container created in the Azure Storage account where backups are copied to", + "type": "string", + "readOnly": true + }, + "errorPrefix": { + "description": "prefix string to use for querying errors for this database", + "type": "string", + "readOnly": true + }, + "isFullBackupRestored": { + "description": "Whether full backup has been applied to the target database or not", + "type": "boolean", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json index 7110a241237d..7e5fae465868 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json @@ -31,7 +31,8 @@ "items": { "$ref": "./Common.json#/definitions/ODataError" }, - "description": "Array of errors. This is ignored if submitted." + "description": "Array of errors. This is ignored if submitted.", + "readOnly": true }, "state": { "type": "string", @@ -51,7 +52,15 @@ "modelAsString": true }, "readOnly": true - } + }, + "commands": { + "description": "Array of command properties.", + "type": "array", + "items": { + "$ref": "./Commands.json#/definitions/CommandProperties" + }, + "readOnly": true + } }, "required": [ "taskType" ], "discriminator": "taskType" @@ -115,6 +124,54 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.SqlServer.Sync", + "type": "object", + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "ConnectToTargetSqlDbTaskProperties": { "x-ms-discriminator-value": "ConnectToTarget.SqlDb", @@ -139,6 +196,54 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.SqlDb.Sync", + "type": "object", + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlSqlDbSyncTask.json#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "GetUserTablesSqlTaskProperties": { "x-ms-discriminator-value": "GetUserTables.Sql", @@ -163,6 +268,150 @@ "$ref": "#/definitions/ProjectTaskProperties" } ] + }, + "GetUserTablesSqlSyncTaskProperties": { + "x-ms-discriminator-value": "GetUserTables.AzureSqlDb.Sync", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlMITaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] }, "MigrateSqlServerSqlDbTaskProperties": { "x-ms-discriminator-value": "Migrate.SqlServer.SqlDb", @@ -182,6 +431,174 @@ "readOnly": true } }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDb.Sync", + "type": "object", + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql.Sync", + "type": "object", + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.PostgreSql.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.SqlDb.Sync", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetTdeCertificatesSqlTaskProperties": { + "x-ms-discriminator-value": "GetTDECertificates.Sql", + "type": "object", + "description": "Properties for the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskOutput" + }, + "readOnly": true + } + }, "allOf": [ { "$ref": "#/definitions/ProjectTaskProperties" diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json index 72e5f0b4b33e..1be5627d0562 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json @@ -287,6 +287,80 @@ } } } + }, + "DatabaseTable": { + "type": "object", + "description": "Table properties", + "properties": { + "hasRows": { + "type": "boolean", + "description": "Indicates whether table is empty or not", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Schema-qualified name of the table", + "readOnly": true + } + } + }, + "GetProjectDetailsNonSqlTaskInput": { + "type": "object", + "description": "Input for the task that reads configuration from project artifacts", + "properties": { + "projectName": { + "type": "string", + "description": "Name of the migration project" + }, + "projectLocation": { + "type": "string", + "description": "A URL that points to the location to access project artifacts" + } + }, + "required": [ + "projectName", + "projectLocation" + ] + }, + "SqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Connection information for source SQL Server" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp":{ + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp", + "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account" + } + }, + "required": [ + "selectedDatabases", + "azureApp", + "sourceConnectionInfo", + "targetConnectionInfo", + "storageResourceId" + ] }, "MigrationState": { "type": "string", @@ -342,6 +416,81 @@ "sourceConnectionInfo", "targetConnectionInfo" ] + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB migration task inputs", + "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": { + "type": "boolean", + "description": "Whether to set database read only before migration" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + } + } + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } }, "MigrationTableMetadata": { "type": "object", @@ -358,6 +507,162 @@ "readOnly": true } } + }, + "NonSqlMigrationTaskInput": { + "type": "object", + "description": "Base class for non sql migration task input", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "projectName": { + "type": "string", + "description": "Name of the migration project" + }, + "projectLocation": { + "type": "string", + "description": "A URL that points to the drop location to access project artifacts" + }, + "selectedTables": { + "type": "array", + "description": "Metadata of the tables selected for migration", + "items": { + "$ref": "#/definitions/NonSqlDataMigrationTable" + } + } + }, + "required": [ + "targetConnectionInfo", + "targetDatabaseName", + "projectName", + "projectLocation", + "selectedTables" + ] + }, + "NonSqlDataMigrationTable": { + "type": "object", + "description": "Defines metadata for table to be migrated", + "properties": { + "sourceName": { + "type": "string", + "description": "Source table name" + } + } + }, + "NonSqlMigrationTaskOutput": { + "type": "object", + "description": "Base class for non sql migration task output", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/MigrationStatus", + "description": "Current state of migration", + "readOnly": true + }, + "dataMigrationTableResults": { + "type": "string", + "description": "Results of the migration. The key contains the table name and the value the table result object", + "additionalProperties": { + "$ref": "#/definitions/NonSqlDataMigrationTableResult" + }, + "readOnly": true + }, + "progressMessage": { + "type": "string", + "description": "Message about the progress of the migration", + "readOnly": true + }, + "sourceServerName": { + "type": "string", + "description": "Name of source server", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Name of target server", + "readOnly": true + } + } + }, + "NonSqlDataMigrationTableResult": { + "type": "object", + "description": "Object used to report the data migration results of a table", + "properties": { + "resultCode": { + "type": "string", + "description": "Result code of the data migration", + "enum": [ + "Initial", + "Completed", + "ObjectNotExistsInSource", + "ObjectNotExistsInTarget", + "TargetObjectIsInaccessible", + "FatalError" + ], + "x-ms-enum": { + "name": "DataMigrationResultCode", + "modelAsString": true + }, + "readOnly": true + }, + "sourceName": { + "type": "string", + "description": "Name of the source table", + "readOnly": true + }, + "targetName": { + "type": "string", + "description": "Name of the target table", + "readOnly": true + }, + "sourceRowCount": { + "type": "integer", + "format": "int64", + "description": "Number of rows in the source table", + "readOnly": true + }, + "targetRowCount": { + "type": "integer", + "format": "int64", + "description": "Number of rows in the target table", + "readOnly": true + }, + "elapsedTimeInMiliseconds": { + "type": "number", + "format": "double", + "description": "Time taken to migrate the data", + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/DataMigrationError" + }, + "description": "List of errors, if any, during migration", + "readOnly": true + } + } }, "DataMigrationError": { "type": "object", @@ -387,9 +692,9 @@ "modelAsString": true } }, - "MigrateSqlServerSqlServerDatabaseInput": { + "MigrateSqlServerSqlMIDatabaseInput": { "type": "object", - "description": "Database specific information for SQL to SQL migration task inputs", + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs", "properties": { "name": { "type": "string", @@ -401,7 +706,36 @@ }, "backupFileShare": { "$ref": "#/definitions/FileShare", - "description": "Backup file share information for this database." + "description": "Backup file share information for backing up this database." + }, + "backupFilePaths": { + "type": "array", + "description": "The list of backup files to be used in case of existing backups.", + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "restoreDatabaseName" + ] + }, + "MigrateSqlServerSqlServerDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to SQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupAndRestoreFolder": { + "type": "string", + "description": "The backup and restore folder" }, "databaseFiles": { "type": "array", @@ -487,6 +821,79 @@ "name": "DatabaseFileType", "modelAsString": true } + }, + "ConnectToSourceNonSqlTaskOutput": { + "type": "object", + "description": "Output for connect to Oracle, MySQL type source", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Server brand version", + "readOnly": true + }, + "serverProperties": { + "$ref": "#/definitions/ServerProperties", + "description": "Server properties", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on the server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ServerProperties": { + "type": "object", + "description": "Server properties for Oracle, MySQL type source", + "properties": { + "serverPlatform": { + "type": "string", + "description": "Name of the server platform", + "readOnly": true + }, + "serverName": { + "type": "string", + "description": "Name of the server", + "readOnly": true + }, + "serverVersion": { + "type": "string", + "description": "Version of the database server", + "readOnly": true + }, + "serverEdition": { + "type": "string", + "description": "Edition of the database server", + "readOnly": true + }, + "serverOperatingSystemVersion": { + "type": "string", + "description": "Version of the operating system", + "readOnly": true + }, + "serverDatabaseCount": { + "type": "integer", + "description": "Number of databases in the server", + "readOnly": true + } + } }, "DatabaseMigrationStage": { "type": "string", @@ -503,6 +910,26 @@ "name": "DatabaseMigrationStage", "modelAsString": true } + }, + "SchemaMigrationStage": { + "type": "string", + "description": "Current stage of schema migration", + "enum": [ + "NotStarted", + "ValidatingInputs", + "CollectingObjects", + "DownloadingScript", + "GeneratingScript", + "UploadingScript", + "DeployingSchema", + "Completed", + "CompletedWithWarnings", + "Failed" + ], + "x-ms-enum": { + "name": "SchemaMigrationStage", + "modelAsString": true + } }, "BlobShare": { "type": "object", @@ -540,7 +967,7 @@ }, "StartMigrationScenarioServerRoleResult": { "type": "object", - "description": "Migration results from a server role.", + "description": "Server role migration result", "properties": { "name": { "type": "string", @@ -575,7 +1002,8 @@ "ExternalGroup" ], "x-ms-enum": { - "name": "LoginType" + "name": "LoginType", + "modelAsString": true } }, "LoginMigrationStage": { @@ -593,7 +1021,8 @@ "Completed" ], "x-ms-enum": { - "name": "LoginMigrationStage" + "name": "LoginMigrationStage", + "modelAsString": true } }, "MigrationEligibilityInfo": { @@ -614,6 +1043,163 @@ "readOnly": true } } + }, + "SyncDatabaseMigrationReportingState": { + "type": "string", + "description": "Enum of the different state of database level online migration.", + "enum": [ + "UNDEFINED", + "CONFIGURING", + "INITIALIAZING", + "STARTING", + "RUNNING", + "READY_TO_COMPLETE", + "COMPLETING", + "COMPLETE", + "CANCELLING", + "CANCELLED", + "FAILED" + ], + "x-ms-enum": { + "name": "SyncDatabaseMigrationReportingState", + "modelAsString": true + } + }, + "SyncTableMigrationState": { + "type": "string", + "description": "Enum of the different state of table level online migration.", + "enum": [ + "BEFORE_LOAD", + "FULL_LOAD", + "COMPLETED", + "CANCELED", + "ERROR", + "FAILED" + ], + "x-ms-enum": { + "name": "SyncTableMigrationState", + "modelAsString": true + } + }, + "SyncMigrationDatabaseErrorEvent": { + "type": "object", + "description": "Database migration errors for online migration", + "properties": { + "timestampString": { + "type": "string", + "description": "String value of timestamp.", + "readOnly": true + }, + "eventTypeString": { + "description": "Event type.", + "type": "string", + "readOnly": true + }, + "eventText": { + "description": "Event text.", + "type": "string", + "readOnly": true + } + } + }, + "BackupMode": { + "type": "string", + "description": "An enumeration of backup modes", + "enum": [ + "CreateBackup", + "ExistingBackup" + ], + "x-ms-enum": { + "name": "BackupMode", + "modelAsString": true + } + }, + "DatabaseBackupInfo": { + "type": "object", + "description": "Information about backup files when existing backup mode is used.", + "properties": { + "databaseName": { + "type": "string", + "description": "Database name.", + "readOnly": true + }, + "backupType": { + "description": "Backup Type.", + "$ref": "#/definitions/BackupType", + "readOnly": true + }, + "backupFiles": { + "type": "array", + "description": "The list of backup files for the current database.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "position": { + "description": "Position of current database backup in the file.", + "type": "integer", + "readOnly": true + }, + "isDamaged": { + "type": "boolean", + "description": "Database was damaged when backed up, but the backup operation was requested to continue despite errors.", + "readOnly": true + }, + "isCompressed": { + "type": "boolean", + "description": "Whether the backup set is compressed", + "readOnly": true + }, + "familyCount": { + "type": "integer", + "description": "Number of files in the backup set.", + "readOnly": true + }, + "backupFinishDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the backup operation finished.", + "readOnly": true + } + } + }, + "BackupType": { + "type": "string", + "description": "Enum of the different backup types.", + "enum": [ + "Database", + "TransactionLog", + "File", + "DifferentialDatabase", + "DifferentialFile", + "Partial", + "DifferentialPartial" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true + } + }, + "DatabaseMigrationState": { + "type": "string", + "description": "Database level migration state.", + "enum": [ + "UNDEFINED", + "INITIAL", + "FULL_BACKUP_UPLOAD_START", + "LOG_SHIPPING_START", + "UPLOAD_LOG_FILES_START", + "CUTOVER_START", + "POST_CUTOVER_COMPLETE", + "COMPLETED", + "CANCELLED", + "FAILED" + ], + "x-ms-enum": { + "name": "DatabaseMigrationState", + "modelAsString": true + } } } -} +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json new file mode 100644 index 000000000000..672a54b1cbcf --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "selectedLogins": { + "type": "array", + "description": "Logins to migrate", + "items": { + "type": "string" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + }, + "backupMode": { + "$ref": "./TasksCommon.json#/definitions/BackupMode", + "description": "Backup Mode to specify whether to use existing backup or create new backup." + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases", + "backupBlobShare" + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "restoreDatabaseNameErrors": { + "description": "Errors associated with the RestoreDatabaseName", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupFolderErrors": { + "description": "Errors associated with the BackupFolder path", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupShareCredentialsErrors": { + "description": "Errors associated with backup share user name and password credentials", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupStorageAccountErrors": { + "description": "Errors associated with the storage account provided.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "existingBackupErrors": { + "description": "Errors associated with existing backup files.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "databaseBackupInfo": { + "$ref": "./TasksCommon.json#/definitions/DatabaseBackupInfo", + "description": "Information about backup files when existing backup mode is used." + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..1dc1ec762509 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json @@ -0,0 +1,54 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Azure SQL Database Managed Instance online migration", + "properties": { + "id": { + "type": "string", + "description": "Database identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} \ No newline at end of file diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json new file mode 100644 index 000000000000..0210c0ebcd7e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2018-04-19" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "description": "Input for task that validates migration input for SQL sync migrations", + "properties": { + "sourceConnectionInfo": { + "description": "Information for connecting to source SQL server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Information for connecting to target", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "ValidateSyncMigrationInputSqlServerTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for SQL sync migrations", + "properties": { + "id": { + "type": "string", + "description": "Database identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 8a0cf304bde5..46f1fbd3cfcc 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -38,16 +38,34 @@ These settings apply only when `--tag=package-2018-04-19` is specified on the co ``` yaml $(tag) == 'package-2018-04-19' input-file: - Microsoft.DataMigration/stable/2018-04-19/datamigration.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json - Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json - Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json - Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json - Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json - Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json +- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json ``` ### Tag: package-2018-07-15-preview @@ -61,10 +79,13 @@ input-file: - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json @@ -72,6 +93,7 @@ input-file: - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json @@ -82,6 +104,7 @@ input-file: - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json +- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json ``` ### Tag: package-2018-03-31-preview