From 31617d3525ce51a1f4288e00ecdc35a5b31d3d2b Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Mon, 19 Jul 2021 17:56:55 -0700 Subject: [PATCH 1/7] Created new api version and refactoring changes (such as fixing new build restrictions) --- custom-words.txt | 2 + .../stable/2021-06-30/datamigration.json | 1944 +++++++++++++++++ .../2021-06-30/definitions/Commands.json | 164 ++ .../stable/2021-06-30/definitions/Common.json | 617 ++++++ .../definitions/ConnectToSourceMySqlTask.json | 42 + .../ConnectToSourcePostgreSqlSyncTask.json | 71 + .../ConnectToSourceSqlServerTask.json | 273 +++ .../ConnectToTargetAzureDbForMySqlTask.json | 76 + ...tToTargetAzureDbForPostgreSqlSyncTask.json | 76 + .../definitions/ConnectToTargetSqlDbTask.json | 63 + .../definitions/ConnectToTargetSqlMITask.json | 94 + .../ConnectToTargetSqlMiSyncTask.json | 63 + .../ConnectToTargetSqlSqlDbSyncTask.json | 39 + .../stable/2021-06-30/definitions/Files.json | 108 + .../GetTdeCertificatesSqlTask.json | 90 + .../definitions/GetUserTablesSqlSyncTask.json | 102 + .../definitions/GetUserTablesSqlTask.json | 72 + .../MigrateMySqlAzureDbForMySqlSyncTask.json | 370 ++++ ...ostgreSqlAzureDbForPostgreSqlSyncTask.json | 398 ++++ .../MigrateSchemaSqlServerSqlDbTask.json | 280 +++ .../MigrateSqlServerSqlDbSyncTask.json | 335 +++ .../MigrateSqlServerSqlDbTask.json | 373 ++++ .../MigrateSqlServerSqlMITask.json | 380 ++++ .../MigrateSqlServerSqlMiSyncTask.json | 214 ++ .../definitions/MigrateSsisTask.json | 180 ++ .../definitions/MigrationValidation.json | 413 ++++ .../2021-06-30/definitions/MongoDbTasks.json | 609 ++++++ .../OracleAzureDbPostgreSqlSyncTask.json | 599 +++++ .../2021-06-30/definitions/Projects.json | 155 ++ .../2021-06-30/definitions/ResourceSkus.json | 231 ++ .../definitions/ServiceFeatureOCITask.json | 141 ++ .../2021-06-30/definitions/ServiceTasks.json | 90 + .../2021-06-30/definitions/Services.json | 294 +++ .../stable/2021-06-30/definitions/Tasks.json | 881 ++++++++ .../2021-06-30/definitions/TasksCommon.json | 1303 +++++++++++ ...idateMigrationInputSqlServerSqlMITask.json | 127 ++ ...eMigrationInputSqlServerSqlMiSyncTask.json | 54 + ...lidateSyncMigrationInputSqlServerTask.json | 71 + .../examples/Files_CreateOrUpdate.json | 41 + .../2021-06-30/examples/Files_Delete.json | 14 + .../stable/2021-06-30/examples/Files_Get.json | 26 + .../2021-06-30/examples/Files_List.json | 41 + .../2021-06-30/examples/Files_Read.json | 20 + .../2021-06-30/examples/Files_ReadWrite.json | 20 + .../2021-06-30/examples/Files_Update.json | 29 + .../2021-06-30/examples/Operations_List.json | 22 + .../examples/Projects_CreateOrUpdate.json | 46 + .../2021-06-30/examples/Projects_Delete.json | 13 + .../2021-06-30/examples/Projects_Get.json | 25 + .../2021-06-30/examples/Projects_List.json | 40 + .../2021-06-30/examples/Projects_Update.json | 31 + .../examples/ResourceSkus_ListSkus.json | 50 + .../examples/ServiceTasks_Cancel.json | 26 + .../examples/ServiceTasks_CreateOrUpdate.json | 49 + .../examples/ServiceTasks_Delete.json | 13 + .../2021-06-30/examples/ServiceTasks_Get.json | 26 + .../examples/ServiceTasks_List.json | 29 + .../examples/ServiceTasks_Update.json | 34 + ...ervices_CheckChildrenNameAvailability.json | 21 + .../Services_CheckNameAvailability.json | 20 + .../examples/Services_CheckStatus.json | 41 + .../examples/Services_CreateOrUpdate.json | 56 + .../2021-06-30/examples/Services_Delete.json | 13 + .../2021-06-30/examples/Services_Get.json | 29 + .../2021-06-30/examples/Services_List.json | 36 + .../Services_ListByResourceGroup.json | 37 + .../examples/Services_ListSkus.json | 24 + .../2021-06-30/examples/Services_Start.json | 12 + .../2021-06-30/examples/Services_Stop.json | 12 + .../2021-06-30/examples/Services_Update.json | 34 + .../2021-06-30/examples/Tasks_Cancel.json | 34 + .../2021-06-30/examples/Tasks_Command.json | 29 + .../examples/Tasks_CreateOrUpdate.json | 72 + .../2021-06-30/examples/Tasks_Delete.json | 14 + .../stable/2021-06-30/examples/Tasks_Get.json | 34 + .../2021-06-30/examples/Tasks_List.json | 37 + .../2021-06-30/examples/Tasks_Update.json | 50 + .../2021-06-30/examples/Usages_List.json | 25 + .../datamigration/resource-manager/readme.md | 52 +- 79 files changed, 12666 insertions(+), 5 deletions(-) create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/datamigration.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Commands.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourcePostgreSqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceSqlServerTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlDbTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMITask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMiSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlSqlDbSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Files.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetTdeCertificatesSqlTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSchemaSqlServerSqlDbTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMITask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMiSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSsisTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrationValidation.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MongoDbTasks.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/OracleAzureDbPostgreSqlSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Projects.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ResourceSkus.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceFeatureOCITask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceTasks.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Services.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/TasksCommon.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMITask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateSyncMigrationInputSqlServerTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_CreateOrUpdate.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Delete.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Get.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Read.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_ReadWrite.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Update.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Operations_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_CreateOrUpdate.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Delete.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Get.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ResourceSkus_ListSkus.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Cancel.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_CreateOrUpdate.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Delete.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Get.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Update.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckChildrenNameAvailability.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckNameAvailability.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckStatus.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CreateOrUpdate.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Delete.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Get.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListByResourceGroup.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListSkus.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Start.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Stop.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Cancel.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_CreateOrUpdate.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Delete.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Get.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_List.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Update.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Usages_List.json diff --git a/custom-words.txt b/custom-words.txt index 192727525971..9ae67a34ce77 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -865,6 +865,7 @@ Informations Informix Ingestor ingressed +INITIALIAZING inittime inkrecognizer inlinecount @@ -1122,6 +1123,7 @@ microservices microsofttranslator migratemysql migratetoaad +Miliseconds mincoordinates minidump minimalmetadata diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/datamigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/datamigration.json new file mode 100644 index 000000000000..50f6b094cbf8 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/datamigration.json @@ -0,0 +1,1944 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30", + "description": "The Database Migration Service helps people migrate their data from on-premise database servers to Azure, or from older database software to newer software. The service manages one or more workers that are joined to a customer's virtual network, which is assumed to provide connectivity to their databases. To avoid frequent updates to the resource provider, data migration tasks are implemented by the resource provider in a generic way as task resources, each of which has a task type (which identifies the type of work to run), input, and output. The client is responsible for providing appropriate task type and inputs, which will be passed through unexamined to the machines that implement the functionality, and for understanding the output, which is passed back unexamined to the client.", + "x-ms-code-generation-settings": { + "name": "DataMigrationServiceClient", + "useDateTimeOffset": true + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus": { + "get": { + "summary": "Get supported SKUs", + "description": "The skus action returns the list of SKUs that DMS supports.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "ResourceSkus_ListSkus", + "x-ms-examples": { + "ListSkus": { + "$ref": "./examples/ResourceSkus_ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/ResourceSkus.json#/definitions/ResourceSkusResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update DMS Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The PUT method creates a new service or updates an existing one. When a service is updated, existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, \"vm\", which refers to a VM-based service, although other kinds may be added in the future. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\"). The provider will reply when successful with 200 OK or 201 Created. Long-running operations use the provisioningState property.", + "tags": [ + "Service resource", + "Standard operation", + "PUT" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "201": { + "description": "Service created (use provisioningState)", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The GET method retrieves information about a service instance.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Get.json" + } + }, + "responses": { + "200": { + "description": "A service instance resource", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The DELETE method deletes a service. Any running tasks will be canceled.", + "tags": [ + "Service resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource deleted" + }, + "202": { + "description": "Deletion accepted" + }, + "204": { + "description": "Service not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The PATCH method updates an existing service. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\").", + "tags": [ + "Service resource", + "Standard operation", + "PATCH" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus": { + "post": { + "summary": "Check service health status", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action performs a health check and returns the status of the service and virtual machine size.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_CheckStatus", + "x-ms-examples": { + "Services_CheckStatus": { + "$ref": "./examples/Services_CheckStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Health checked", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceStatusResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start": { + "post": { + "summary": "Start service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action starts the service and the service can be used for data migration.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Start", + "x-ms-examples": { + "Services_Start": { + "$ref": "./examples/Services_Start.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been started." + }, + "202": { + "description": "The request to start service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop": { + "post": { + "summary": "Stop service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action stops the service and the service cannot be used for data migration. The service owner won't be billed when the service is stopped.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Stop", + "x-ms-examples": { + "Services_Stop": { + "$ref": "./examples/Services_Stop.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been stopped." + }, + "202": { + "description": "The request to stop service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus": { + "get": { + "summary": "Get compatible SKUs", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The skus action returns the list of SKUs that a service resource can be updated to.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListSkus", + "x-ms-examples": { + "Services_ListSkus": { + "$ref": "./examples/Services_ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/Services.json#/definitions/ServiceSkuList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks": { + "get": { + "summary": "Get tasks in a service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_List", + "x-ms-examples": { + "Tasks_List": { + "$ref": "./examples/Tasks_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks": { + "get": { + "summary": "Get service level tasks for a service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service level tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_List", + "x-ms-examples": { + "ServiceTasks_List": { + "$ref": "./examples/ServiceTasks_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got service tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": { + "post": { + "summary": "Check nested resource name validity and availability", + "description": "This method checks whether a proposed nested resource name is valid and available.", + "tags": [ + "Custom operation", + "POST" + ], + "operationId": "Services_CheckChildrenNameAvailability", + "x-ms-examples": { + "Services_CheckChildrenNameAvailability": { + "$ref": "./examples/Services_CheckChildrenNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in resource group", + "description": "The Services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service resources in a resource group.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "Services_ListByResourceGroup": { + "$ref": "./examples/Services_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in subscription", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service resources in a subscription.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_List", + "x-ms-examples": { + "Services_List": { + "$ref": "./examples/Services_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new task or updates an existing one, although since tasks have no mutable custom properties, there is little reason to update an existing one.", + "tags": [ + "Task resource", + "Standard operation", + "PUT" + ], + "operationId": "Tasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { + "$ref": "./examples/Tasks_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get task information", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a task.", + "tags": [ + "Task resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_Get", + "x-ms-examples": { + "Tasks_Get": { + "$ref": "./examples/Tasks_Get.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a task, canceling it first if it's running.", + "tags": [ + "Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Tasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { + "$ref": "./examples/Tasks_Delete.json" + } + }, + "responses": { + "200": { + "description": "Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing task, but since tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "Tasks_Update", + "x-ms-examples": { + "Tasks_Update": { + "$ref": "./examples/Tasks_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new service task or updates an existing one, although since service tasks have no mutable custom properties, there is little reason to update an existing one.", + "tags": [ + "Service Task resource", + "Standard operation", + "PUT" + ], + "operationId": "ServiceTasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { + "$ref": "./examples/ServiceTasks_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Service task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get service task information", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a service task.", + "tags": [ + "Service Task resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_Get", + "x-ms-examples": { + "Tasks_Get": { + "$ref": "./examples/ServiceTasks_Get.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A service task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a service task, canceling it first if it's running.", + "tags": [ + "Service Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "ServiceTasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { + "$ref": "./examples/ServiceTasks_Delete.json" + } + }, + "responses": { + "200": { + "description": "Service Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing service task, but since service tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Service Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "ServiceTasks_Update", + "x-ms-examples": { + "Tasks_Update": { + "$ref": "./examples/ServiceTasks_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a task if it's currently queued or running.", + "tags": [ + "Task resource", + "Custom operation", + "POST" + ], + "operationId": "Tasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { + "$ref": "./examples/Tasks_Cancel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a service task if it's currently queued or running.", + "tags": [ + "Service Task resource", + "Custom operation", + "POST" + ], + "operationId": "ServiceTasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { + "$ref": "./examples/ServiceTasks_Cancel.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Service Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command": { + "post": { + "summary": "Execute a command on a task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method executes a command on a running task.", + "tags": [ + "Task resource", + "Custom operation", + "POST" + ], + "operationId": "Tasks_Command", + "x-ms-examples": { + "Tasks_Command": { + "$ref": "./examples/Tasks_Command.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/command" + } + ], + "responses": { + "200": { + "description": "Command executed", + "schema": { + "$ref": "./definitions/Commands.json#/definitions/CommandProperties" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects": { + "get": { + "summary": "Get projects in a service", + "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of projects owned by a service resource.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_List", + "x-ms-examples": { + "Projects_List": { + "$ref": "./examples/Projects_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "List of projects", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/ProjectList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update project", + "description": "The project resource is a nested resource representing a stored migration project. The PUT method creates a new project or updates an existing one.", + "tags": [ + "Project resource", + "Standard operation", + "PUT" + ], + "operationId": "Projects_CreateOrUpdate", + "x-ms-examples": { + "Projects_CreateOrUpdate": { + "$ref": "./examples/Projects_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "201": { + "description": "Project created", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get project information", + "description": "The project resource is a nested resource representing a stored migration project. The GET method retrieves information about a project.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_Get", + "x-ms-examples": { + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" + } + }, + "responses": { + "200": { + "description": "A project resource", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete project", + "description": "The project resource is a nested resource representing a stored migration project. The DELETE method deletes a project.", + "tags": [ + "Project resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Projects_Delete", + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" + } + }, + "responses": { + "200": { + "description": "Project resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Update project", + "description": "The project resource is a nested resource representing a stored migration project. The PATCH method updates an existing project.", + "tags": [ + "Project resource", + "Standard operation", + "PATCH" + ], + "operationId": "Projects_Update", + "x-ms-examples": { + "Projects_Update": { + "$ref": "./examples/Projects_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project resource updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability": { + "post": { + "summary": "Check name validity and availability", + "description": "This method checks whether a proposed top-level resource name is valid and available.", + "tags": [ + "Standard operation", + "POST" + ], + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Services_CheckNameAvailability": { + "$ref": "./examples/Services_CheckNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages": { + "get": { + "summary": "Get resource quotas and usage information", + "description": "This method returns region-specific quotas and resource usage information for the Database Migration Service.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "Usages_List", + "x-ms-examples": { + "Services_Usages": { + "$ref": "./examples/Usages_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Quotas returned", + "schema": { + "$ref": "./definitions/Common.json#/definitions/QuotaList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/providers/Microsoft.DataMigration/operations": { + "get": { + "summary": "Get available resource provider actions (operations)", + "description": "Lists all available actions exposed by the Database Migration Service resource provider.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got action list", + "schema": { + "$ref": "./definitions/Services.json#/definitions/ServiceOperationList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files": { + "get": { + "summary": "Get files in a project", + "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of files owned by a project resource.", + "tags": [ + "File resource", + "Standard operation", + "GET" + ], + "operationId": "Files_List", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "List of files", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "get": { + "summary": "Get file information", + "description": "The files resource is a nested, proxy-only resource representing a file stored under the project resource. This method retrieves information about a file.", + "tags": [ + "File resource", + "Standard operation", + "GET" + ], + "operationId": "Files_Get", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_Get.json" + } + }, + "responses": { + "200": { + "description": "A file resource", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "put": { + "summary": "Create a file resource", + "description": "The PUT method creates a new file or updates an existing one.", + "tags": [ + "Fie resource", + "Standard operation", + "PUT" + ], + "operationId": "Files_CreateOrUpdate", + "x-ms-examples": { + "Files_CreateOrUpdate": { + "$ref": "./examples/Files_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectFile" + } + ], + "responses": { + "200": { + "description": "File updated", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "201": { + "description": "File created", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete file", + "description": "This method deletes a file.", + "tags": [ + "File resource", + "Standard operation", + "DELETE" + ], + "operationId": "Files_Delete", + "x-ms-examples": { + "Files_Delete": { + "$ref": "./examples/Files_Delete.json" + } + }, + "responses": { + "200": { + "description": "File resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Update a file", + "description": "This method updates an existing file.", + "tags": [ + "File resource", + "Standard operation", + "PATCH" + ], + "operationId": "Files_Update", + "x-ms-examples": { + "Files_Update": { + "$ref": "./examples/Files_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectFile" + } + ], + "responses": { + "200": { + "description": "File resource updated", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read": { + "post": { + "summary": "Request storage information for downloading the file content", + "description": "This method is used for requesting storage information using which contents of the file can be downloaded.", + "tags": [ + "File resource", + "Standard operation", + "POST" + ], + "operationId": "Files_Read", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_Read.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "An object describing how to access the file content", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileStorageInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite": { + "post": { + "summary": "Request information for reading and writing file content.", + "description": "This method is used for requesting information for reading and writing the file content.", + "tags": [ + "File resource", + "Standard operation", + "POST" + ], + "operationId": "Files_ReadWrite", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_ReadWrite.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "An object describing how to access the file content", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileStorageInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "Version of the API", + "in": "query", + "required": true, + "type": "string" + }, + "deleteRunningTasks": { + "name": "deleteRunningTasks", + "description": "Delete the resource even if it contains running tasks", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "groupName": { + "name": "groupName", + "description": "Name of the resource group", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "description": "The Azure region of the operation", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "project": { + "name": "parameters", + "description": "Information about the project", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + }, + "x-ms-parameter-location": "method" + }, + "projectName": { + "name": "projectName", + "description": "Name of the project", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "requestedName": { + "name": "parameters", + "description": "Requested name to validate", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "taskName": { + "name": "taskName", + "description": "Name of the Task", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "taskType": { + "name": "taskType", + "description": "Filter tasks by task type", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "service": { + "name": "parameters", + "description": "Information about the service", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + }, + "x-ms-parameter-location": "method" + }, + "serviceName": { + "name": "serviceName", + "description": "Name of the service", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "description": "Identifier of the subscription", + "in": "path", + "required": true, + "type": "string" + }, + "projectTask": { + "name": "parameters", + "description": "Information about the task", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + }, + "x-ms-parameter-location": "method" + }, + "timeoutMs": { + "name": "timeoutMs", + "description": "The number of milliseconds the task is allowed to run, up to 20000", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "command": { + "name": "parameters", + "description": "Command to execute", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Commands.json#/definitions/CommandProperties" + }, + "x-ms-parameter-location": "method" + }, + "projectFile": { + "name": "parameters", + "description": "Information about the file", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + }, + "x-ms-parameter-location": "method" + }, + "fileName": { + "name": "fileName", + "description": "Name of the File", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Commands.json new file mode 100644 index 000000000000..393c8be5e138 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Commands.json @@ -0,0 +1,164 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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.", + "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/2021-06-30/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json new file mode 100644 index 000000000000..610d88eae069 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json @@ -0,0 +1,617 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ApiError": { + "type": "object", + "description": "Error information.", + "properties": { + "error": { + "description": "Error information in OData format", + "$ref": "#/definitions/ODataError" + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + } + }, + "NameAvailabilityResponse": { + "type": "object", + "description": "Indicates whether a proposed resource name is available", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "If true, the name is valid and available. If false, 'reason' describes why not." + }, + "reason": { + "type": "string", + "description": "The reason why the name is not available, if nameAvailable is false", + "enum": [ + "AlreadyExists", + "Invalid" + ], + "x-ms-enum": { + "name": "NameCheckFailureReason", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "The localized reason why the name is not available, if nameAvailable is false" + } + } + }, + "NameAvailabilityRequest": { + "type": "object", + "description": "A resource type and proposed name", + "properties": { + "name": { + "type": "string", + "description": "The proposed resource name" + }, + "type": { + "type": "string", + "description": "The resource type chain (e.g. virtualMachines/extensions)" + } + } + }, + "ODataError": { + "type": "object", + "description": "Error information in OData format.", + "properties": { + "code": { + "type": "string", + "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'" + }, + "message": { + "type": "string", + "description": "The human-readable description of the error" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "Inner errors that caused this error" + } + } + }, + "Quota": { + "type": "object", + "description": "Describes a quota for or usage details about a resource", + "properties": { + "currentValue": { + "type": "number", + "format": "double", + "description": "The current value of the quota. If null or missing, the current value cannot be determined in the context of the request." + }, + "id": { + "type": "string", + "description": "The resource ID of the quota object" + }, + "limit": { + "type": "number", + "format": "double", + "description": "The maximum value of the quota. If null or missing, the quota has no maximum, in which case it merely tracks usage." + }, + "name": { + "type": "object", + "description": "The name of the quota", + "properties": { + "localizedValue": { + "type": "string", + "description": "The localized name of the quota" + }, + "value": { + "type": "string", + "description": "The unlocalized name (or ID) of the quota" + } + } + }, + "unit": { + "type": "string", + "description": "The unit for the quota, such as Count, Bytes, BytesPerSecond, etc." + } + } + }, + "QuotaList": { + "type": "object", + "description": "OData page of quota objects", + "properties": { + "value": { + "type": "array", + "description": "List of quotas", + "items": { + "$ref": "#/definitions/Quota" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of quotas, or null or missing if this is the last page" + } + } + }, + "ReportableException": { + "type": "object", + "description": "Exception object for all custom exceptions", + "properties": { + "message": { + "type": "string", + "description": "Error message" + }, + "actionableMessage": { + "type": "string", + "description": "Actionable steps for this exception" + }, + "filePath": { + "type": "string", + "description": "The path to the file where exception occurred" + }, + "lineNumber": { + "type": "string", + "description": "The line number where exception occurred" + }, + "hResult": { + "type": "integer", + "description": "Coded numerical value that is assigned to a specific exception" + }, + "stackTrace": { + "type": "string", + "description": "Stack trace" + } + } + }, + "Resource": { + "description": "ARM resource.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "x-ms-azure-resource": true + }, + "TrackedResource": { + "type": "object", + "description": "ARM tracked top level resource.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource location." + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "ConnectionInfo": { + "type": "object", + "description": "Defines the connection properties of a server", + "properties": { + "type": { + "type": "string", + "description": "Type of connection info" + }, + "userName": { + "type": "string", + "description": "User name" + }, + "password": { + "type": "string", + "description": "Password credential." + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "AuthenticationType": { + "type": "string", + "description": "An enumeration of possible authentication types when connecting", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ], + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "MongoDbConnectionInfo": { + "type": "object", + "description": "Describes a connection to a MongoDB data source", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "connectionString": { + "type": "string", + "description": "A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties" + } + }, + "required": [ + "connectionString" + ] + }, + "SqlConnectionInfo": { + "x-ms-discriminator-value": "SqlConnectionInfo", + "type": "object", + "description": "Information for connecting to SQL database server", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "authentication": { + "$ref": "#/definitions/AuthenticationType", + "description": "Authentication type to use for connection" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "trustServerCertificate": { + "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" + ] + }, + "OracleConnectionInfo": { + "x-ms-discriminator-value": "OracleConnectionInfo", + "type": "object", + "description": "Information for connecting to Oracle server", + "properties": { + "dataSource": { + "type": "string", + "description": "EZConnect or TNSName connection string." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "dataSource" + ] + }, + "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" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "trustServerCertificate": { + "type": "boolean", + "description": "Whether to trust the server certificate", + "default": false + } + }, + "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", + "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": "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/2021-06-30/definitions/ConnectToSourceMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json new file mode 100644 index 000000000000..c1ef0395e287 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json @@ -0,0 +1,42 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "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" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourcePostgreSqlSyncTask.json new file mode 100644 index 000000000000..483a6d760bc1 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourcePostgreSqlSyncTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/2021-06-30/definitions/ConnectToSourceSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceSqlServerTask.json new file mode 100644 index 000000000000..954e9ecaffb5 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceSqlServerTask.json @@ -0,0 +1,273 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for Source SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "checkPermissionsGroup": { + "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", + "description": "Permission group for validations" + }, + "collectDatabases": { + "type": "boolean", + "description": "Flag for whether to collect databases from source server.", + "default": true + }, + "collectLogins": { + "type": "boolean", + "description": "Flag for whether to collect logins from source server.", + "default": false + }, + "collectAgentJobs": { + "type": "boolean", + "description": "Flag for whether to collect agent jobs from source server.", + "default": false + }, + "collectTdeCertificateInfo": { + "type": "boolean", + "description": "Flag for whether to collect TDE Certificate names from source server.", + "default": false + }, + "validateSsisCatalogOnly": { + "type": "boolean", + "description": "Flag for whether to validate SSIS catalog is reachable on the source server.", + "default": false + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceSqlServerTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Type of result - database level or task level", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "ConnectToSourceSqlServerTaskOutputTaskLevel": { + "x-ms-discriminator-value": "TaskLevelOutput", + "type": "object", + "description": "Task level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "logins": { + "type": "string", + "description": "Source logins as a map from login name to login id.", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "agentJobs": { + "type": "string", + "description": "Source agent jobs as a map from agent job name to id.", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "databaseTdeCertificateMapping": { + "type": "string", + "description": "Mapping from database name to TDE certificate name, if applicable", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputDatabaseLevel": { + "x-ms-discriminator-value": "DatabaseLevelOutput", + "type": "object", + "description": "Database level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Database name", + "readOnly": true + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes", + "readOnly": true + }, + "databaseFiles": { + "type": "array", + "description": "The list of database files", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseFileInfo" + }, + "readOnly": true + }, + "compatibilityLevel": { + "$ref": "./TasksCommon.json#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database", + "readOnly": true + }, + "databaseState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseState", + "description": "State of the database", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputLoginLevel": { + "x-ms-discriminator-value": "LoginLevelOutput", + "type": "object", + "description": "Login level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Login name.", + "readOnly": true + }, + "loginType": { + "$ref": "./TasksCommon.json#/definitions/LoginType", + "description": "The type of login.", + "readOnly": true + }, + "defaultDatabase": { + "type": "string", + "description": "The default database for the login.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "The state of the login.", + "readOnly": true + }, + "migrationEligibility": { + "$ref": "./TasksCommon.json#/definitions/MigrationEligibilityInfo", + "description": "Information about eligibility of login for migration.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputAgentJobLevel": { + "x-ms-discriminator-value": "AgentJobLevelOutput", + "type": "object", + "description": "Agent Job level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Agent Job name", + "readOnly": true + }, + "jobCategory": { + "type": "string", + "description": "The type of Agent Job.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "The state of the original Agent Job.", + "readOnly": true + }, + "jobOwner": { + "type": "string", + "description": "The owner of the Agent Job", + "readOnly": true + }, + "lastExecutedOn": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "UTC Date and time when the Agent Job was last executed." + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "migrationEligibility": { + "$ref": "./TasksCommon.json#/definitions/MigrationEligibilityInfo", + "description": "Information about eligibility of agent job for migration.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json new file mode 100644 index 000000000000..c91e6438f6d9 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/2021-06-30/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..325555942ffb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/2021-06-30/definitions/ConnectToTargetSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlDbTask.json new file mode 100644 index 000000000000..93bc26132e1d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlDbTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL DB and target server requirements", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL DB and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMITask.json new file mode 100644 index 000000000000..9cdbb9e7fc33 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMITask.json @@ -0,0 +1,94 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + }, + "collectLogins": { + "type": "boolean", + "description": "Flag for whether to collect logins from target SQL MI server.", + "default": true + }, + "collectAgentJobs": { + "type": "boolean", + "description": "Flag for whether to collect agent jobs from target SQL MI server.", + "default": true + }, + "validateSsisCatalogOnly": { + "type": "boolean", + "description": "Flag for whether to validate SSIS catalog is reachable on the target SQL MI server.", + "default": false + } + }, + "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/2021-06-30/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMiSyncTask.json new file mode 100644 index 000000000000..15f8504c8b14 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMiSyncTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/2021-06-30/definitions/ConnectToTargetSqlSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlSqlDbSyncTask.json new file mode 100644 index 000000000000..b4d1ae194e7a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlSqlDbSyncTask.json @@ -0,0 +1,39 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Files.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Files.json new file mode 100644 index 000000000000..cd18ea6b9020 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Files.json @@ -0,0 +1,108 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ProjectFileProperties": { + "type": "object", + "description": "Base class for file properties.", + "properties": { + "extension": { + "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath.", + "type": "string" + }, + "filePath": { + "description": "Relative path of this file resource. This property can be set when creating or updating the file resource.", + "type": "string" + }, + "lastModified": { + "description": "Modification DateTime.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "mediaType": { + "description": "File content type. This property can be modified to reflect the file content type.", + "type": "string" + }, + "size": { + "description": "File size.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "ProjectFile": { + "type": "object", + "description": "A file resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "properties": { + "description": "Custom file properties", + "$ref": "#/definitions/ProjectFileProperties" + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/Resource" + } + ] + }, + "FileList": { + "type": "object", + "description": "OData page of files", + "properties": { + "value": { + "type": "array", + "description": "List of files", + "items": { + "$ref": "#/definitions/ProjectFile" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of files" + } + } + }, + "FileStorageInfo": { + "type": "object", + "description": "File storage information.", + "properties": { + "uri": { + "description": "A URI that can be used to access the file content.", + "type": "string" + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetTdeCertificatesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetTdeCertificatesSqlTask.json new file mode 100644 index 000000000000..62fd69b86026 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetTdeCertificatesSqlTask.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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 certificate 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/2021-06-30/definitions/GetUserTablesSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlSyncTask.json new file mode 100644 index 000000000000..2459aa96cf44 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlSyncTask.json @@ -0,0 +1,102 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/2021-06-30/definitions/GetUserTablesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlTask.json new file mode 100644 index 000000000000..3de2cd580573 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlTask.json @@ -0,0 +1,72 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "GetUserTablesSqlTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "List of database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesSqlTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databasesToTables": { + "type": "string", + "description": "Mapping from database name to list of tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "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/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json new file mode 100644 index 000000000000..a63e754de361 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json @@ -0,0 +1,370 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + } + }, + "required": [ + "resultType" + ], + "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" + } + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..0a0c79267721 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,398 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + } + }, + "required": [ + "resultType" + ], + "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 + }, + "sourceServerType": { + "$ref": "./TasksCommon.json#/definitions/ScenarioSource", + "description": "Source server type.", + "readOnly": true + }, + "targetServerType": { + "$ref": "./TasksCommon.json#/definitions/ScenarioTarget", + "description": "Target server type.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/ReplicateMigrationState", + "description": "Migration status", + "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" + } + }, + "selectedTables": { + "type": "array", + "description": "Tables selected for migration", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput" + } + } + } + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { + "type": "object", + "description": "Selected tables for the migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the table to migrate" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSchemaSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSchemaSqlServerSqlDbTask.json new file mode 100644 index 000000000000..5a995aa6b0f6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSchemaSqlServerSqlDbTask.json @@ -0,0 +1,280 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MigrateSchemaSqlServerSqlDbTaskProperties": { + "x-ms-discriminator-value": "MigrateSchemaSqlServerSqlDb", + "type": "object", + "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskInput": { + "type": "object", + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbDatabaseInput" + } + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbDatabaseInput": { + "type": "object", + "description": "Database input for migrate schema Sql Server to Azure SQL Server scenario", + "properties": { + "name": { + "type": "string", + "description": "Name of source database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database" + }, + "schemaSetting": { + "$ref": "#/definitions/SchemaMigrationSetting", + "description": "Database schema migration settings" + } + } + }, + "SchemaMigrationSetting": { + "type": "object", + "description": "Settings for migrating schema from source to target", + "properties": { + "schemaOption": { + "$ref": "#/definitions/SchemaMigrationOption", + "description": "Option on how to migrate the schema" + }, + "fileId": { + "type": "string", + "description": "Resource Identifier of a file resource containing the uploaded schema file" + } + } + }, + "SchemaMigrationOption": { + "type": "string", + "description": "Option for how schema is extracted and applied to target", + "enum": [ + "None", + "ExtractFromSource", + "UseStorageFile" + ], + "x-ms-enum": { + "name": "SchemaMigrationOption", + "modelAsString": true + } + }, + "MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Overall state of the schema 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 + }, + "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 + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel": { + "x-ms-discriminator-value": "DatabaseLevelOutput", + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "State of the schema migration for this database", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/SchemaMigrationStage", + "description": "Schema migration stage for this 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 + }, + "databaseErrorResultPrefix": { + "type": "string", + "description": "Prefix string to use for querying errors for this database", + "readOnly": true + }, + "schemaErrorResultPrefix": { + "type": "string", + "description": "Prefix string to use for querying schema errors for this database", + "readOnly": true + }, + "numberOfSuccessfulOperations": { + "type": "integer", + "format": "int64", + "description": "Number of successful operations for this database", + "readOnly": true + }, + "numberOfFailedOperations": { + "type": "integer", + "format": "int64", + "description": "Number of failed operations for this database", + "readOnly": true + }, + "fileId": { + "type": "string", + "description": "Identifier for the file resource containing the schema of this database", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutputError": { + "x-ms-discriminator-value": "SchemaErrorOutput", + "type": "object", + "properties": { + "commandText": { + "type": "string", + "description": "Schema command which failed", + "readOnly": true + }, + "errorText": { + "type": "string", + "description": "Reason of failure", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbSyncTask.json new file mode 100644 index 000000000000..21aec3eca5ed --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbSyncTask.json @@ -0,0 +1,335 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + } + }, + "required": [ + "resultType" + ], + "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/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json new file mode 100644 index 000000000000..df307197217f --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json @@ -0,0 +1,373 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + "validationOptions": { + "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database.", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlDbTaskOutputMigrationLevel": { + "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 + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration of task execution in seconds.", + "readOnly": true + }, + "status": { + "$ref": "./TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Migration status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "databaseSummary": { + "type": "string", + "description": "Summary of database results in the migration", + "additionalProperties": { + "$ref": "#/definitions/DatabaseSummaryResult" + }, + "readOnly": true + }, + "migrationValidationResult": { + "type": "object", + "description": "Migration Validation Results", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult" + }, + "migrationReportResult": { + "type": "object", + "description": "Migration Report Result, provides unique url for downloading your migration report.", + "$ref": "./MigrationValidation.json#/definitions/MigrationReportResult" + }, + "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/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the item", + "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 + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Migration stage that this database is in", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "numberOfObjects": { + "type": "integer", + "format": "int64", + "description": "Number of objects", + "readOnly": true + }, + "numberOfObjectsCompleted": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed objects", + "readOnly": true + }, + "errorCount": { + "type": "integer", + "format": "int64", + "description": "Number of database/object errors.", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "objectSummary": { + "type": "string", + "description": "Summary of object results in the migration", + "additionalProperties": { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the item", + "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 + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputError": { + "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/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "DatabaseSummaryResult": { + "type": "object", + "description": "Summary of database results in the migration", + "properties": { + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputValidationResult": { + "x-ms-discriminator-value": "MigrationValidationOutput", + "type": "object", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult": { + "x-ms-discriminator-value": "MigrationDatabaseLevelValidationOutput", + "type": "object", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMITask.json new file mode 100644 index 000000000000..ba9f65c32d6a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMITask.json @@ -0,0 +1,380 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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." + }, + "aadDomainName": { + "type": "string", + "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected" + } + }, + "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" + } + }, + "required": [ + "resultType" + ], + "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/2021-06-30/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..b5ec918a8792 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMiSyncTask.json @@ -0,0 +1,214 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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" + } + }, + "required": [ + "resultType" + ], + "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/2021-06-30/definitions/MigrateSsisTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSsisTask.json new file mode 100644 index 000000000000..ec2bd8281559 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSsisTask.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MigrateSsisTaskInput": { + "type": "object", + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance.", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ], + "properties": { + "ssisMigrationInfo": { + "$ref": "./TasksCommon.json#/definitions/SsisMigrationInfo", + "description": "SSIS package migration information." + } + }, + "required": [ + "ssisMigrationInfo" + ] + }, + "MigrateSsisTaskOutput": { + "type": "object", + "description": "Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSsisTaskOutputMigrationLevel": { + "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 + }, + "message": { + "type": "string", + "description": "Migration progress message", + "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 + }, + "stage": { + "description": "Stage of SSIS migration.", + "$ref": "./TasksCommon.json#/definitions/SsisMigrationStage", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSsisTaskOutput" + } + ] + }, + "MigrateSsisTaskOutputProjectLevel": { + "type": "object", + "x-ms-discriminator-value": "SsisProjectLevelOutput", + "properties": { + "folderName": { + "type": "string", + "description": "Name of the folder", + "readOnly": true + }, + "projectName": { + "type": "string", + "description": "Name of the project", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "description": "Stage of SSIS migration.", + "$ref": "./TasksCommon.json#/definitions/SsisMigrationStage", + "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/MigrateSsisTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrationValidation.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrationValidation.json new file mode 100644 index 000000000000..117230a1952e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrationValidation.json @@ -0,0 +1,413 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MigrationValidationOptions": { + "type": "object", + "description": "Types of validations to run after the migration", + "properties": { + "enableSchemaValidation": { + "type": "boolean", + "description": "Allows to compare the schema information between source and target." + }, + "enableDataIntegrityValidation": { + "type": "boolean", + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "type": "boolean", + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + } + } + }, + "MigrationReportResult": { + "type": "object", + "description": "Migration validation report result, contains the url for downloading the generated report.", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier" + }, + "reportUrl": { + "type": "string", + "description": "The url of the report." + } + } + }, + "MigrationValidationResult": { + "type": "object", + "description": "Migration Validation Result", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "summaryResults": { + "type": "object", + "description": "Validation summary results for each database", + "additionalProperties": { + "$ref": "#/definitions/MigrationValidationDatabaseSummaryResult" + } + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the migration level. Status from the database validation result status will be aggregated here.", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseSummaryResult": { + "type": "object", + "description": "Migration Validation Database level summary result", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseLevelResult": { + "type": "object", + "description": "Database level validation results", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "dataIntegrityValidationResult": { + "description": "Provides data integrity validation result between the source and target tables that are migrated.", + "$ref": "#/definitions/DataIntegrityValidationResult", + "readOnly": true + }, + "schemaValidationResult": { + "description": "Provides schema comparison result between source and target database", + "$ref": "#/definitions/SchemaComparisonValidationResult", + "readOnly": true + }, + "queryAnalysisValidationResult": { + "description": "Results of some of the query execution result between source and target database", + "$ref": "#/definitions/QueryAnalysisValidationResult", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "DataIntegrityValidationResult": { + "type": "object", + "description": "Results for checksum based Data Integrity validation results", + "properties": { + "failedObjects": { + "type": "object", + "description": "List of failed table names of source and target pair", + "additionalProperties": { + "type": "string" + } + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing data integrity validation", + "$ref": "#/definitions/ValidationError" + } + } + }, + "SchemaComparisonValidationResult": { + "type": "object", + "description": "Results for schema comparison between the source and target", + "properties": { + "schemaDifferences": { + "type": "array", + "description": "List of schema differences between the source and target databases", + "$ref": "#/definitions/SchemaComparisonValidationResultType" + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing schema compare validation", + "$ref": "#/definitions/ValidationError" + }, + "sourceDatabaseObjectCount": { + "type": "object", + "description": "Count of source database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + }, + "targetDatabaseObjectCount": { + "type": "object", + "description": "Count of target database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + } + } + }, + "SchemaComparisonValidationResultType": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the object that has the difference" + }, + "objectType": { + "type": "object", + "$ref": "./TasksCommon.json#/definitions/DatabaseObjectType", + "description": "Type of the object that has the difference. e.g (Table/View/StoredProcedure)" + }, + "updateAction": { + "type": "string", + "description": "Update action type with respect to target", + "$ref": "#/definitions/UpdateActionType" + } + } + }, + "UpdateActionType": { + "type": "string", + "description": "Type of the actual difference for the compared object, while performing schema comparison", + "enum": [ + "DeletedOnTarget", + "ChangedOnTarget", + "AddedOnTarget" + ], + "x-ms-enum": { + "name": "UpdateActionType", + "modelAsString": true + } + }, + "QueryAnalysisValidationResult": { + "type": "object", + "description": "Results for query analysis comparison between the source and target", + "properties": { + "queryResults": { + "type": "array", + "description": "List of queries executed and it's execution results in source and target", + "$ref": "#/definitions/QueryExecutionResult" + }, + "validationErrors": { + "type": "array", + "description": "Errors that are part of the execution", + "$ref": "#/definitions/ValidationError" + } + } + }, + "QueryExecutionResult": { + "type": "object", + "description": "Describes query analysis results for execution in source and target", + "properties": { + "queryText": { + "type": "string", + "description": "Query text retrieved from the source server" + }, + "statementsInBatch": { + "type": "integer", + "format": "int64", + "description": "Total no. of statements in the batch" + }, + "sourceResult": { + "type": "object", + "description": "Query analysis result from the source", + "$ref": "#/definitions/ExecutionStatistics" + }, + "targetResult": { + "type": "object", + "description": "Query analysis result from the target", + "$ref": "#/definitions/ExecutionStatistics" + } + } + }, + "ExecutionStatistics": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "executionCount": { + "type": "integer", + "format": "int64", + "description": "No. of query executions" + }, + "cpuTimeMs": { + "type": "number", + "format": "float", + "description": "CPU Time in millisecond(s) for the query execution" + }, + "elapsedTimeMs": { + "type": "number", + "format": "float", + "description": "Time taken in millisecond(s) for executing the query" + }, + "waitStats": { + "type": "object", + "description": "Dictionary of sql query execution wait types and the respective statistics", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/WaitStatistics" + } + }, + "hasErrors": { + "type": "boolean", + "description": "Indicates whether the query resulted in an error" + }, + "sqlErrors": { + "type": "array", + "description": "List of sql Errors", + "items": { + "type": "string" + } + } + } + }, + "WaitStatistics": { + "type": "object", + "description": "Wait statistics gathered during query batch execution", + "properties": { + "waitType": { + "type": "string", + "description": "Type of the Wait" + }, + "waitTimeMs": { + "type": "number", + "format": "float", + "default": 0, + "description": "Total wait time in millisecond(s) " + }, + "waitCount": { + "type": "integer", + "format": "int64", + "description": "Total no. of waits" + } + } + }, + "Severity": { + "type": "string", + "description": "Severity of the validation error", + "enum": [ + "Message", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "ValidationError": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "text": { + "type": "string", + "description": "Error Text" + }, + "severity": { + "type": "string", + "description": "Severity of the error", + "$ref": "#/definitions/Severity" + } + } + }, + "ValidationStatus": { + "type": "string", + "description": "Current status of the validation", + "enum": [ + "Default", + "NotStarted", + "Initialized", + "InProgress", + "Completed", + "CompletedWithIssues", + "Stopped", + "Failed" + ], + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MongoDbTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MongoDbTasks.json new file mode 100644 index 000000000000..b9f0472bd455 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MongoDbTasks.json @@ -0,0 +1,609 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MongoDbCancelCommand": { + "x-ms-discriminator-value": "cancel", + "type": "object", + "description": "Properties for the command that cancels a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbClusterInfo": { + "type": "object", + "description": "Describes a MongoDB data source", + "properties": { + "databases": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbDatabaseInfo" + }, + "description": "A list of non-system databases in the cluster" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the cluster supports sharded collections" + }, + "type": { + "type": "string", + "description": "The type of data source", + "enum": [ + "BlobContainer", + "CosmosDb", + "MongoDb" + ], + "x-ms-enum": { + "name": "MongoDbClusterType", + "modelAsString": true + } + }, + "version": { + "type": "string", + "description": "The version of the data source in the form x.y.z (e.g. 3.6.7). Not used if Type is BlobContainer." + } + }, + "required": [ + "databases", + "supportsSharding", + "type", + "version" + ] + }, + "MongoDbCollectionInfo": { + "type": "object", + "description": "Describes a supported collection within a MongoDB database", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database containing the collection" + }, + "isCapped": { + "type": "boolean", + "description": "Whether the collection is a capped collection (i.e. whether it has a fixed size and acts like a circular buffer)" + }, + "isSystemCollection": { + "type": "boolean", + "description": "Whether the collection is system collection" + }, + "isView": { + "type": "boolean", + "description": "Whether the collection is a view of another collection" + }, + "shardKey": { + "$ref": "#/definitions/MongoDbShardKeyInfo", + "description": "The shard key on the collection, or null if the collection is not sharded" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the database has sharding enabled. Note that the migration task will enable sharding on the target if necessary." + }, + "viewOf": { + "type": "string", + "description": "The name of the collection that this is a view of, if IsView is true" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbObjectInfo" + } + ], + "required": [ + "databaseName", + "isCapped", + "isSystemCollection", + "isView", + "supportsSharding" + ] + }, + "MongoDbCollectionProgress": { + "x-ms-discriminator-value": "Collection", + "type": "object", + "description": "Describes the progress of a collection", + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbCollectionSettings": { + "type": "object", + "description": "Describes how an individual MongoDB collection should be migrated", + "properties": { + "canDelete": { + "type": "boolean", + "description": "Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true." + }, + "shardKey": { + "$ref": "#/definitions/MongoDbShardKeySetting" + }, + "targetRUs": { + "type": "integer", + "format": "int32", + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets." + } + } + }, + "MongoDbCommandInput": { + "type": "object", + "description": "Describes the input to the 'cancel' and 'restart' MongoDB migration commands", + "properties": { + "objectName": { + "type": "string", + "description": "The qualified name of a database or collection to act upon, or null to act upon the entire migration" + } + } + }, + "MongoDbDatabaseInfo": { + "type": "object", + "description": "Describes a database within a MongoDB data source", + "properties": { + "collections": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbCollectionInfo" + }, + "description": "A list of supported collections in a MongoDB database" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the database has sharding enabled. Note that the migration task will enable sharding on the target if necessary." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbObjectInfo" + } + ], + "required": [ + "collections", + "supportsSharding" + ] + }, + "MongoDbDatabaseProgress": { + "x-ms-discriminator-value": "Database", + "type": "object", + "description": "Describes the progress of a database", + "properties": { + "collections": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionProgress" + }, + "description": "The progress of the collections in the database. The keys are the unqualified names of the collections" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbDatabaseSettings": { + "type": "object", + "description": "Describes how an individual MongoDB database should be migrated", + "properties": { + "collections": { + "type": "object", + "description": "The collections on the source database to migrate to the target. The keys are the unqualified names of the collections.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionSettings" + } + }, + "targetRUs": { + "type": "integer", + "format": "int32", + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets." + } + }, + "required": [ + "collections" + ] + }, + "MongoDbError": { + "type": "object", + "description": "Describes an error or warning that occurred during a MongoDB migration", + "properties": { + "code": { + "type": "string", + "description": "The non-localized, machine-readable code that describes the error or warning" + }, + "count": { + "type": "integer", + "format": "int32", + "description": "The number of times the error or warning has occurred" + }, + "message": { + "type": "string", + "description": "The localized, human-readable message that describes the error or warning" + }, + "type": { + "type": "string", + "description": "The type of error or warning", + "enum": [ + "Error", + "ValidationError", + "Warning" + ], + "x-ms-enum": { + "name": "MongoDbErrorType", + "modelAsString": true + } + } + } + }, + "MongoDbFinishCommand": { + "x-ms-discriminator-value": "finish", + "type": "object", + "description": "Properties for the command that finishes a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbFinishCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbFinishCommandInput": { + "type": "object", + "description": "Describes the input to the 'finish' MongoDB migration command", + "properties": { + "immediate": { + "type": "boolean", + "description": "If true, replication for the affected objects will be stopped immediately. If false, the migrator will finish replaying queued events before finishing the replication." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbCommandInput" + } + ], + "required": [ + "immediate" + ] + }, + "MongoDbMigrationSettings": { + "type": "object", + "description": "Describes how a MongoDB data migration should be performed", + "properties": { + "boostRUs": { + "type": "integer", + "format": "int32", + "description": "The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets." + }, + "databases": { + "type": "object", + "description": "The databases on the source cluster to migrate to the target. The keys are the names of the databases.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseSettings" + } + }, + "replication": { + "type": "string", + "description": "Describes how changes will be replicated from the source to the target. The default is OneTime.", + "enum": [ + "Disabled", + "OneTime", + "Continuous" + ], + "x-ms-enum": { + "name": "MongoDbReplication", + "modelAsString": true + } + }, + "source": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo", + "description": "Settings used to connect to the source cluster" + }, + "target": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo", + "description": "Settings used to connect to the target cluster" + }, + "throttling": { + "$ref": "#/definitions/MongoDbThrottlingSettings", + "description": "Settings used to limit the resource usage of the migration" + } + }, + "required": [ + "databases", + "source", + "target" + ] + }, + "MongoDbProgress": { + "type": "object", + "description": "Base class for MongoDB migration outputs", + "properties": { + "bytesCopied": { + "type": "integer", + "format": "int64", + "description": "The number of document bytes copied during the Copying stage" + }, + "documentsCopied": { + "type": "integer", + "format": "int64", + "description": "The number of documents copied during the Copying stage" + }, + "elapsedTime": { + "type": "string", + "description": "The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. TimeSpan format)" + }, + "errors": { + "type": "object", + "description": "The errors and warnings that have occurred for the current object. The keys are the error codes.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbError" + } + }, + "eventsPending": { + "type": "integer", + "format": "int64", + "description": "The number of oplog events awaiting replay" + }, + "eventsReplayed": { + "type": "integer", + "format": "int64", + "description": "The number of oplog events replayed so far" + }, + "lastEventTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the last oplog event received, or null if no oplog event has been received yet" + }, + "lastReplayTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the last oplog event replayed, or null if no oplog event has been replayed yet" + }, + "name": { + "type": "string", + "description": "The name of the progress object. For a collection, this is the unqualified collection name. For a database, this is the database name. For the overall migration, this is null." + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the progress object. For a collection, this is the database-qualified name. For a database, this is the database name. For the overall migration, this is null." + }, + "resultType": { + "type": "string", + "description": "The type of progress object", + "enum": [ + "Migration", + "Database", + "Collection" + ] + }, + "state": { + "type": "string", + "enum": [ + "NotStarted", + "ValidatingInput", + "Initializing", + "Restarting", + "Copying", + "InitialReplay", + "Replaying", + "Finalizing", + "Complete", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "MongoDbMigrationState", + "modelAsString": true + } + }, + "totalBytes": { + "type": "integer", + "format": "int64", + "description": "The total number of document bytes on the source at the beginning of the Copying stage, or -1 if the total size was unknown" + }, + "totalDocuments": { + "type": "integer", + "format": "int64", + "description": "The total number of documents on the source at the beginning of the Copying stage, or -1 if the total count was unknown" + } + }, + "required": [ + "bytesCopied", + "documentsCopied", + "elapsedTime", + "errors", + "eventsPending", + "eventsReplayed", + "resultType", + "state", + "totalBytes", + "totalDocuments" + ], + "discriminator": "resultType" + }, + "MongoDbMigrationProgress": { + "x-ms-discriminator-value": "Migration", + "type": "object", + "description": "Describes the progress of the overall migration", + "properties": { + "databases": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseProgress" + }, + "description": "The progress of the databases in the migration. The keys are the names of the databases" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbObjectInfo": { + "type": "object", + "description": "Describes a database or collection within a MongoDB data source", + "properties": { + "averageDocumentSize": { + "type": "integer", + "format": "int64", + "description": "The average document size, or -1 if the average size is unknown" + }, + "dataSize": { + "type": "integer", + "format": "int64", + "description": "The estimated total data size, in bytes, or -1 if the size is unknown." + }, + "documentCount": { + "type": "integer", + "format": "int64", + "description": "The estimated total number of documents, or -1 if the document count is unknown" + }, + "name": { + "type": "string", + "description": "The unqualified name of the database or collection" + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the database or collection. For a collection, this is the database-qualified name." + } + }, + "required": [ + "averageDocumentSize", + "dataSize", + "documentCount", + "name", + "qualifiedName" + ] + }, + "MongoDbRestartCommand": { + "x-ms-discriminator-value": "restart", + "type": "object", + "description": "Properties for the command that restarts a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbShardKeyField": { + "type": "object", + "description": "Describes a field reference within a MongoDB shard key", + "properties": { + "name": { + "type": "string", + "description": "The name of the field" + }, + "order": { + "type": "string", + "description": "The field ordering", + "enum": [ + "Forward", + "Reverse", + "Hashed" + ], + "x-ms-enum": { + "name": "MongoDbShardKeyOrder", + "modelAsString": true + } + } + }, + "required": [ + "name", + "order" + ] + }, + "MongoDbShardKeyInfo": { + "type": "object", + "description": "Describes a MongoDB shard key", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + }, + "description": "The fields within the shard key" + }, + "isUnique": { + "type": "boolean", + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields", + "isUnique" + ] + }, + "MongoDbShardKeySetting": { + "type": "object", + "description": "Describes a MongoDB shard key", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + }, + "description": "The fields within the shard key" + }, + "isUnique": { + "type": "boolean", + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields", + "isUnique" + ] + }, + "MongoDbThrottlingSettings": { + "type": "object", + "description": "Specifies resource limits for the migration", + "properties": { + "minFreeCpu": { + "type": "integer", + "format": "int32", + "description": "The percentage of CPU time that the migrator will try to avoid using, from 0 to 100" + }, + "minFreeMemoryMb": { + "type": "integer", + "format": "int32", + "description": "The number of megabytes of RAM that the migrator will try to avoid using" + }, + "maxParallelism": { + "type": "integer", + "format": "int32", + "description": "The maximum number of work items (e.g. collection copies) that will be processed in parallel" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/OracleAzureDbPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/OracleAzureDbPostgreSqlSyncTask.json new file mode 100644 index 000000000000..4cc4a2a05687 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/OracleAzureDbPostgreSqlSyncTask.json @@ -0,0 +1,599 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ConnectToSourceOracleSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates Oracle database connection", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/OracleConnectionInfo", + "description": "Information for connecting to Oracle source" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceOracleSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates Oracle database connection", + "properties": { + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of schemas 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 + } + } + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "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 + }, + "databaseSchemaMap": { + "type": "array", + "description": "Mapping of schemas per database", + "items": { + "type": "object", + "properties": { + "database": { + "type": "string" + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "GetUserTablesOracleTaskInput": { + "type": "object", + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas.", + "properties": { + "connectionInfo": { + "$ref": "./Common.json#/definitions/OracleConnectionInfo", + "description": "Information for connecting to Oracle source" + }, + "selectedSchemas": { + "type": "array", + "description": "List of Oracle schemas for which to collect tables", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedSchemas" + ] + }, + "GetUserTablesOracleTaskOutput": { + "type": "object", + "description": "Output for the task that gets the list of tables contained within a provided list of Oracle schemas.", + "properties": { + "schemaName": { + "type": "string", + "description": "The schema this result is for", + "readOnly": true + }, + "tables": { + "type": "array", + "description": "List of valid tables found for this schema", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "GetUserTablesPostgreSqlTaskInput": { + "type": "object", + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases.", + "properties": { + "connectionInfo": { + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo", + "description": "Information for connecting to PostgreSQL source" + }, + "selectedDatabases": { + "type": "array", + "description": "List of PostgreSQL databases for which to collect tables", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesPostgreSqlTaskOutput": { + "type": "object", + "description": "Output for the task that gets the list of tables for a provided list of PostgreSQL databases.", + "properties": { + "databaseName": { + "type": "string", + "description": "The database this result is for", + "readOnly": true + }, + "tables": { + "type": "array", + "description": "List of valid tables found for this database", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ValidateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "sourceConnectionInfo": { + "description": "Connection information for source Oracle", + "$ref": "./Common.json#/definitions/OracleConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel": { + "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/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel": { + "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/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel": { + "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/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError": { + "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/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs", + "properties": { + "caseManipulation": { + "type": "string", + "description": "How to handle object name casing: either Preserve or ToLower" + }, + "name": { + "type": "string", + "description": "Name of the migration pipeline" + }, + "schemaName": { + "type": "string", + "description": "Name of the source schema" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "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/stable/2021-06-30/definitions/Projects.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Projects.json new file mode 100644 index 000000000000..d1ebe585c4e6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Projects.json @@ -0,0 +1,155 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "Project": { + "type": "object", + "description": "A project resource", + "properties": { + "properties": { + "description": "Project properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/TrackedResource" + } + ] + }, + "ProjectList": { + "type": "object", + "description": "OData page of project resources", + "properties": { + "value": { + "type": "array", + "description": "List of projects", + "items": { + "$ref": "#/definitions/Project" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of projects" + } + } + }, + "ProjectProperties": { + "type": "object", + "description": "Project-specific properties", + "properties": { + "sourcePlatform": { + "description": "Source platform for the project", + "$ref": "#/definitions/ProjectSourcePlatform" + }, + "targetPlatform": { + "description": "Target platform for the project", + "$ref": "#/definitions/ProjectTargetPlatform" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "UTC Date and time when project was created" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to target" + }, + "databasesInfo": { + "type": "array", + "description": "List of DatabaseInfo", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The project's provisioning state", + "enum": [ + "Deleting", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProjectProvisioningState", + "modelAsString": true + } + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ] + }, + "DatabaseInfo": { + "type": "object", + "description": "Project Database Details", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ] + }, + "ProjectSourcePlatform": { + "type": "string", + "description": "Source platform of the project", + "enum": [ + "SQL", + "MySQL", + "PostgreSql", + "MongoDb", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectSourcePlatform", + "modelAsString": true + } + }, + "ProjectTargetPlatform": { + "type": "string", + "description": "Target platform of the project", + "enum": [ + "SQLDB", + "SQLMI", + "AzureDbForMySql", + "AzureDbForPostgreSql", + "MongoDb", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectTargetPlatform", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ResourceSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ResourceSkus.json new file mode 100644 index 000000000000..5c654de5dc61 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ResourceSkus.json @@ -0,0 +1,231 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ResourceSku": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Specifies the tier of DMS in a scale set." + }, + "size": { + "readOnly": true, + "type": "string", + "description": "The Size of the SKU." + }, + "family": { + "readOnly": true, + "type": "string", + "description": "The Family of this particular SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "capacity": { + "$ref": "#/definitions/ResourceSkuCapacity", + "readOnly": true, + "description": "Not used." + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "apiVersions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The api versions that support this SKU." + }, + "costs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCosts" + }, + "description": "Metadata for retrieving price info." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + }, + "description": "A name value pair to describe the capability." + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available DMS SKU." + }, + "ResourceSkuCapacity": { + "properties": { + "minimum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The maximum capacity." + }, + "default": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The default capacity." + }, + "scaleType": { + "type": "string", + "readOnly": true, + "description": "The scale type applicable to the SKU.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "x-ms-enum": { + "name": "ResourceSkuCapacityScaleType", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkuCosts": { + "properties": { + "meterID": { + "type": "string", + "readOnly": true, + "description": "Used for querying price from commerce." + }, + "quantity": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The multiplier is needed to extend the base metered cost." + }, + "extendedUnit": { + "type": "string", + "readOnly": true, + "description": "An invariant to show the extended unit." + } + }, + "description": "Describes metadata for retrieving price info." + }, + "ResourceSkuCapabilities": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "An invariant if the feature is measured by quantity." + } + }, + "description": "Describes The SKU capabilities object." + }, + "ResourceSkuRestrictions": { + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of restrictions.", + "enum": [ + "location" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "readOnly": true, + "description": "The reason code for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "description": "The list of SKUs available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page of DMS SKUs." + } + }, + "required": [ + "value" + ], + "description": "The DMS List SKUs operation response." + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceFeatureOCITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceFeatureOCITask.json new file mode 100644 index 000000000000..94599269011a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceFeatureOCITask.json @@ -0,0 +1,141 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "OracleOCIDriverInfo": { + "type": "object", + "description": "Information about an Oracle OCI driver.", + "properties": { + "driverName": { + "type": "string", + "description": "The name of the driver package", + "readOnly": true + }, + "driverSize": { + "type": "string", + "description": "The size in bytes of the driver package", + "readOnly": true + }, + "archiveChecksum": { + "type": "string", + "description": "The MD5 Base64 encoded checksum for the driver package.", + "readOnly": true + }, + "oracleChecksum": { + "type": "string", + "description": "The checksum for the driver package provided by Oracle.", + "readOnly": true + }, + "assemblyVersion": { + "type": "string", + "description": "Version listed in the OCI assembly 'oci.dll'", + "readOnly": true + }, + "supportedOracleVersions": { + "type": "array", + "description": "List of Oracle database versions supported by this driver. Only major minor of the version is listed.", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "CheckOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to check for OCI drivers.", + "properties": { + "serverVersion": { + "type": "string", + "description": "Version of the source server to check against. Optional." + } + } + }, + "CheckOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to check for OCI drivers.", + "properties": { + "installedDriver": { + "description": "Information about the installed driver if found and valid.", + "$ref": "#/definitions/OracleOCIDriverInfo" + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "UploadOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to upload an OCI driver.", + "properties": { + "driverShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "File share information for the OCI driver archive." + } + } + }, + "UploadOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to upload an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "The name of the driver package that was validated and uploaded.", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "InstallOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to install an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "Name of the uploaded driver package to install." + } + } + }, + "InstallOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to install an OCI driver.", + "properties": { + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceTasks.json new file mode 100644 index 000000000000..b4d1def36ff9 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceTasks.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "CheckOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Check.OCI", + "type": "object", + "description": "Properties for the task that checks for OCI drivers.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "UploadOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Upload.OCI", + "type": "object", + "description": "Properties for the task that uploads an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "InstallOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Install.OCI", + "type": "object", + "description": "Properties for the task that installs an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Services.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Services.json new file mode 100644 index 000000000000..09fb24e43619 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Services.json @@ -0,0 +1,294 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "AvailableServiceSku": { + "type": "object", + "description": "Describes the available service SKU.", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type, including the provider namespace" + }, + "sku": { + "type": "object", + "description": "SKU name, tier, etc.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU" + }, + "family": { + "type": "string", + "description": "SKU family" + }, + "size": { + "type": "string", + "description": "SKU size" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as \"Basic\", \"General Purpose\", or \"Business Critical\"" + } + } + }, + "capacity": { + "type": "object", + "description": "A description of the scaling capacities of the SKU", + "properties": { + "minimum": { + "type": "integer", + "description": "The minimum capacity, usually 0 or 1." + }, + "maximum": { + "type": "integer", + "description": "The maximum capacity" + }, + "default": { + "type": "integer", + "description": "The default capacity" + }, + "scaleType": { + "type": "string", + "description": "The scalability approach", + "enum": [ + "none", + "manual", + "automatic" + ], + "x-ms-enum": { + "name": "ServiceScalability", + "modelAsString": true + } + } + } + } + } + }, + "DataMigrationService": { + "type": "object", + "description": "A Database Migration Service resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Custom service properties", + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + "sku": { + "description": "Service SKU", + "$ref": "#/definitions/ServiceSku" + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/TrackedResource" + } + ] + }, + "DataMigrationServiceList": { + "type": "object", + "description": "OData page of service objects", + "properties": { + "value": { + "type": "array", + "description": "List of services", + "items": { + "$ref": "#/definitions/DataMigrationService" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of services" + } + } + }, + "DataMigrationServiceProperties": { + "type": "object", + "description": "Properties of the Database Migration Service instance", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The resource's provisioning state", + "enum": [ + "Accepted", + "Deleting", + "Deploying", + "Stopped", + "Stopping", + "Starting", + "FailedToStart", + "FailedToStop", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ServiceProvisioningState", + "modelAsString": true + } + }, + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + }, + "virtualNicId": { + "type": "string", + "description": "The ID of the Microsoft.Network/networkInterfaces resource which the service have" + } + }, + "required": [ + "virtualSubnetId" + ] + }, + "DataMigrationServiceStatusResponse": { + "type": "object", + "description": "Service health status", + "properties": { + "agentVersion": { + "type": "string", + "description": "The DMS instance agent version" + }, + "status": { + "type": "string", + "description": "The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed'" + }, + "vmSize": { + "type": "string", + "description": "The services virtual machine size, such as 'Standard_D2_v2'" + }, + "supportedTaskTypes": { + "type": "array", + "description": "The list of supported task types", + "items": { + "type": "string", + "description": "Migration task type" + } + } + } + }, + "ServiceOperation": { + "type": "object", + "description": "Description of an action supported by the Database Migration Service", + "properties": { + "name": { + "type": "string", + "description": "The fully qualified action name, e.g. Microsoft.DataMigration/services/read" + }, + "display": { + "type": "object", + "description": "Localized display text", + "properties": { + "provider": { + "type": "string", + "description": "The localized resource provider name" + }, + "resource": { + "type": "string", + "description": "The localized resource type name" + }, + "operation": { + "type": "string", + "description": "The localized operation name" + }, + "description": { + "type": "string", + "description": "The localized operation description" + } + } + } + } + }, + "ServiceOperationList": { + "type": "object", + "description": "OData page of action (operation) objects", + "properties": { + "value": { + "type": "array", + "description": "List of actions", + "items": { + "$ref": "#/definitions/ServiceOperation" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of actions" + } + } + }, + "ServiceSku": { + "type": "object", + "description": "An Azure SKU instance", + "properties": { + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "capacity": { + "type": "integer", + "description": "The capacity of the SKU, if it supports scaling" + } + } + }, + "ServiceSkuList": { + "type": "object", + "description": "OData page of available SKUs", + "properties": { + "value": { + "type": "array", + "description": "List of service SKUs", + "items": { + "$ref": "#/definitions/AvailableServiceSku" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of service SKUs" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json new file mode 100644 index 000000000000..02ad52f1dfb4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json @@ -0,0 +1,881 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "ProjectTaskProperties": { + "type": "object", + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.", + "properties": { + "taskType": { + "description": "Task 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 task. This is ignored if submitted.", + "enum": [ + "Unknown", + "Queued", + "Running", + "Canceled", + "Succeeded", + "Failed", + "FailedInputValidation", + "Faulted" + ], + "x-ms-enum": { + "name": "TaskState", + "modelAsString": true + }, + "readOnly": true + }, + "commands": { + "description": "Array of command properties.", + "type": "array", + "items": { + "$ref": "./Commands.json#/definitions/CommandProperties" + }, + "readOnly": true + }, + "clientData": { + "type": "object", + "description": "Key value pairs of client data to attach meta data information to task", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "taskType" + ], + "discriminator": "taskType" + }, + "ProjectTask": { + "type": "object", + "description": "A task resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "properties": { + "description": "Custom task properties", + "$ref": "#/definitions/ProjectTaskProperties" + }, + "systemData": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/Resource" + } + ] + }, + "TaskList": { + "type": "object", + "description": "OData page of tasks", + "properties": { + "value": { + "type": "array", + "description": "List of tasks", + "items": { + "$ref": "#/definitions/ProjectTask" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of tasks" + } + } + }, + "ConnectToMongoDbTaskProperties": { + "x-ms-discriminator-value": "Connect.MongoDb", + "type": "object", + "description": "Properties for the task that validates the connection to and provides information about a MongoDB server", + "properties": { + "input": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo" + }, + "output": { + "type": "array", + "description": "An array containing a single MongoDbClusterInfo object", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbClusterInfo" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceSqlServerTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.SqlServer", + "type": "object", + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements", + "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" + } + ] + }, + "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" + } + ] + }, + "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": "./ConnectToSourceMySqlTask.json#/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" + } + ] + }, + "ConnectToSourceOracleSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.Oracle.Sync", + "type": "object", + "description": "Properties for the task that validates Oracle database connection", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlDbTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.SqlDb", + "type": "object", + "description": "Properties for the task that validates connection to SQL DB and target server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$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" + } + ] + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.Oracle.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 for Oracle source.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesSqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTables.Sql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$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" + } + ] + }, + "GetUserTablesOracleTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesOracle", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of Oracle schemas", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesOracleTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesOracleTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesPostgreSqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesPostgreSql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesPostgreSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesPostgreSqlTaskOutput" + }, + "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" + } + ] + }, + "MigrateMongoDbTaskProperties": { + "x-ms-discriminator-value": "Migrate.MongoDb", + "type": "object", + "description": "Properties for the task that migrates data between MongoDB data sources", + "properties": { + "input": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationSettings" + }, + "output": { + "type": "array", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbProgress" + }, + "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", + "type": "object", + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + "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.SyncV2", + "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" + } + ] + }, + "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "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" + } + ] + }, + "ValidateMongoDbTaskProperties": { + "x-ms-discriminator-value": "Validate.MongoDb", + "type": "object", + "description": "Properties for the task that validates a migration between MongoDB data sources", + "properties": { + "input": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationSettings" + }, + "output": { + "type": "array", + "description": "An array containing a single MongoDbMigrationProgress object", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationProgress" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Validate.Oracle.AzureDbPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "type": "array", + "description": "An array containing a single validation error response object", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ValidateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "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" + } + ] + }, + "MigrateSsisTaskProperties": { + "x-ms-discriminator-value": "Migrate.Ssis", + "type": "object", + "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSsisTask.json#/definitions/MigrateSsisTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSsisTask.json#/definitions/MigrateSsisTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/TasksCommon.json new file mode 100644 index 000000000000..cf12556a922c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/TasksCommon.json @@ -0,0 +1,1303 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "Database": { + "type": "object", + "description": "Information about a single database", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the database" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "compatibilityLevel": { + "$ref": "#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database" + }, + "collation": { + "type": "string", + "description": "Collation name of the database" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "fqdn": { + "type": "string", + "description": "Fully qualified name" + }, + "installId": { + "type": "string", + "description": "Install id of the database" + }, + "serverVersion": { + "type": "string", + "description": "Version of the server" + }, + "serverEdition": { + "type": "string", + "description": "Edition of the server" + }, + "serverLevel": { + "type": "string", + "description": "Product level of the server (RTM, SP, CTP)." + }, + "serverDefaultDataPath": { + "type": "string", + "description": "Default path of the data files" + }, + "serverDefaultLogPath": { + "type": "string", + "description": "Default path of the log files" + }, + "serverDefaultBackupPath": { + "type": "string", + "description": "Default path of the backup folder" + }, + "serverCoreCount": { + "type": "integer", + "description": "Number of cores on the server" + }, + "serverVisibleOnlineCoreCount": { + "type": "integer", + "description": "Number of cores on the server that have VISIBLE ONLINE status" + }, + "databaseState": { + "$ref": "#/definitions/DatabaseState", + "description": "State of the database" + }, + "serverId": { + "type": "string", + "description": "The unique Server Id" + } + } + }, + "DatabaseCompatLevel": { + "type": "string", + "description": "An enumeration of SQL Server database compatibility levels", + "enum": [ + "CompatLevel80", + "CompatLevel90", + "CompatLevel100", + "CompatLevel110", + "CompatLevel120", + "CompatLevel130", + "CompatLevel140" + ], + "x-ms-enum": { + "name": "DatabaseCompatLevel", + "modelAsString": true + } + }, + "DatabaseState": { + "type": "string", + "description": "An enumeration of SQL Server Database states", + "enum": [ + "Online", + "Restoring", + "Recovering", + "RecoveryPending", + "Suspect", + "Emergency", + "Offline", + "Copying", + "OfflineSecondary" + ], + "x-ms-enum": { + "name": "DatabaseState", + "modelAsString": true + } + }, + "DatabaseObjectType": { + "type": "string", + "description": "An enumeration of type of objects", + "enum": [ + "StoredProcedures", + "Table", + "User", + "View", + "Function" + ], + "x-ms-enum": { + "name": "ObjectType", + "modelAsString": true + } + }, + "ScenarioSource": { + "type": "string", + "description": "An enumeration of source type", + "enum": [ + "Access", + "DB2", + "MySQL", + "Oracle", + "SQL", + "Sybase", + "PostgreSQL", + "MongoDB", + "SQLRDS", + "MySQLRDS", + "PostgreSQLRDS" + ], + "x-ms-enum": { + "name": "ScenarioSource", + "modelAsString": true + } + }, + "ScenarioTarget": { + "type": "string", + "description": "An enumeration of target type", + "enum": [ + "SQLServer", + "SQLDB", + "SQLDW", + "SQLMI", + "AzureDBForMySql", + "AzureDBForPostgresSQL", + "MongoDB" + ], + "x-ms-enum": { + "name": "ScenarioTarget", + "modelAsString": true + } + }, + "ReplicateMigrationState": { + "type": "string", + "description": "Wrapper for replicate reported migration states.", + "enum": [ + "UNDEFINED", + "VALIDATING", + "PENDING", + "COMPLETE", + "ACTION_REQUIRED", + "FAILED" + ], + "x-ms-enum": { + "name": "ReplicateMigrationState", + "modelAsString": true + } + }, + "DatabaseObjectName": { + "type": "object", + "description": "A representation of the name of an object in a database", + "properties": { + "databaseName": { + "type": "string", + "description": "The unescaped name of the database containing the object", + "readOnly": true + }, + "objectName": { + "type": "string", + "description": "The unescaped name of the object", + "readOnly": true + }, + "schemaName": { + "type": "string", + "description": "The unescaped name of the schema containing the object", + "readOnly": true + }, + "objectType": { + "$ref": "#/definitions/DatabaseObjectType", + "description": "Type of the object in the database" + } + } + }, + "DataItemMigrationSummaryResult": { + "type": "object", + "description": "Basic summary of a data item migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the item", + "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 + }, + "state": { + "$ref": "#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + } + }, + "DataMigrationProjectMetadata": { + "type": "object", + "description": "Common metadata for migration projects", + "properties": { + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerPort": { + "type": "string", + "description": "Source server port number", + "readOnly": true + }, + "sourceUsername": { + "type": "string", + "description": "Source username", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetUsername": { + "type": "string", + "description": "Target username", + "readOnly": true + }, + "targetDbName": { + "type": "string", + "description": "Target database name", + "readOnly": true + }, + "targetUsingWinAuth": { + "type": "boolean", + "description": "Whether target connection is Windows authentication", + "readOnly": true + }, + "selectedMigrationTables": { + "type": "array", + "description": "List of tables selected for migration", + "readOnly": true, + "items": { + "$ref": "#/definitions/MigrationTableMetadata" + } + } + } + }, + "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", + "description": "Current state of migration", + "enum": [ + "None", + "InProgress", + "Failed", + "Warning", + "Completed", + "Skipped", + "Stopped" + ], + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + } + }, + "MigrationStatus": { + "type": "string", + "description": "Current status of migration", + "enum": [ + "Default", + "Connecting", + "SourceAndTargetSelected", + "SelectLogins", + "Configured", + "Running", + "Error", + "Stopped", + "Completed", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "MigrationStatus", + "modelAsString": true + } + }, + "SqlMigrationTaskInput": { + "type": "object", + "description": "Base class for migration task input", + "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" + } + }, + "required": [ + "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", + "description": "Metadata for tables selected in migration project", + "properties": { + "sourceTableName": { + "type": "string", + "description": "Source table name", + "readOnly": true + }, + "targetTableName": { + "type": "string", + "description": "Target table name", + "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", + "description": "Migration Task errors", + "properties": { + "message": { + "type": "string", + "description": "Error description", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ErrorType" + } + } + }, + "ErrorType": { + "type": "string", + "description": "Error type", + "enum": [ + "Default", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "ErrorType", + "modelAsString": true + } + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupFileShare": { + "$ref": "#/definitions/FileShare", + "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", + "description": "The list of database files", + "items": { + "$ref": "#/definitions/DatabaseFileInput" + } + } + } + }, + "DatabaseFileInput": { + "type": "object", + "description": "Database file specific information for input", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + } + } + }, + "DatabaseFileInfo": { + "type": "object", + "description": "Database file specific information", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes" + } + } + }, + "DatabaseFileType": { + "type": "string", + "description": "An enumeration of SQL Server database file types", + "enum": [ + "Rows", + "Log", + "Filestream", + "NotSupported", + "Fulltext" + ], + "x-ms-enum": { + "name": "DatabaseFileType", + "modelAsString": true + } + }, + "ConnectToSourceNonSqlTaskOutput": { + "type": "object", + "description": "Output for connect to 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 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", + "description": "Current stage of migration", + "enum": [ + "None", + "Initialize", + "Backup", + "FileCopy", + "Restore", + "Completed" + ], + "x-ms-enum": { + "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", + "description": "Blob container storage information.", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + }, + "required": [ + "sasUri" + ] + }, + "FileShare": { + "type": "object", + "description": "File share information with Path, Username, and Password.", + "properties": { + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + }, + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + } + }, + "required": [ + "path" + ] + }, + "StartMigrationScenarioServerRoleResult": { + "type": "object", + "description": "Server role migration result", + "properties": { + "name": { + "type": "string", + "description": "Name of server role.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "LoginType": { + "type": "string", + "description": "Enum mapping of SMO LoginType.", + "enum": [ + "WindowsUser", + "WindowsGroup", + "SqlLogin", + "Certificate", + "AsymmetricKey", + "ExternalUser", + "ExternalGroup" + ], + "x-ms-enum": { + "name": "LoginType", + "modelAsString": true + } + }, + "LoginMigrationStage": { + "type": "string", + "description": "Enum of the different stage of login migration.", + "enum": [ + "None", + "Initialize", + "LoginMigration", + "EstablishUserMapping", + "AssignRoleMembership", + "AssignRoleOwnership", + "EstablishServerPermissions", + "EstablishObjectPermissions", + "Completed" + ], + "x-ms-enum": { + "name": "LoginMigrationStage", + "modelAsString": true + } + }, + "MigrationEligibilityInfo": { + "type": "object", + "description": "Information about migration eligibility of a server object", + "properties": { + "isEligibleForMigration": { + "type": "boolean", + "description": "Whether object is eligible for migration or not.", + "readOnly": true + }, + "validationMessages": { + "description": "Information about eligibility failure for the server object.", + "type": "array", + "items": { + "type": "string" + }, + "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", + "VALIDATING", + "VALIDATION_COMPLETE", + "VALIDATION_FAILED", + "RESTORE_IN_PROGRESS", + "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", + "BACKUP_COMPLETED" + ], + "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 + } + }, + "SsisMigrationInfo": { + "type": "object", + "description": "SSIS migration info with SSIS store type, overwrite policy.", + "properties": { + "ssisStoreType": { + "$ref": "#/definitions/SsisStoreType", + "description": "The SSIS store type of source, only SSIS catalog is supported now in DMS" + }, + "projectOverwriteOption": { + "$ref": "#/definitions/SsisMigrationOverwriteOption", + "description": "The overwrite option for the SSIS project migration" + }, + "environmentOverwriteOption": { + "$ref": "#/definitions/SsisMigrationOverwriteOption", + "description": "The overwrite option for the SSIS environment migration" + } + } + }, + "SsisStoreType": { + "type": "string", + "description": "An enumeration of supported source SSIS store type in DMS", + "enum": [ + "SsisCatalog" + ], + "x-ms-enum": { + "name": "SsisStoreType", + "modelAsString": true + } + }, + "SsisMigrationOverwriteOption": { + "type": "string", + "description": "The overwrite option for SSIS object migration, only ignore and overwrite are supported in DMS now and future may add Reuse option for container object", + "enum": [ + "Ignore", + "Overwrite" + ], + "x-ms-enum": { + "name": "SsisMigrationOverwriteOption", + "modelAsString": true + } + }, + "SsisMigrationStage": { + "type": "string", + "description": "Current stage of SSIS migration", + "enum": [ + "None", + "Initialize", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "SsisMigrationStage", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMITask.json new file mode 100644 index 000000000000..1fbf29564b18 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMITask.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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." + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..6b668a5c6156 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json @@ -0,0 +1,54 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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 + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateSyncMigrationInputSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateSyncMigrationInputSqlServerTask.json new file mode 100644 index 000000000000..09b546fd2e71 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateSyncMigrationInputSqlServerTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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/Microsoft.DataMigration/stable/2021-06-30/examples/Files_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_CreateOrUpdate.json new file mode 100644 index 000000000000..4315606d7e01 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_CreateOrUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + }, + "201": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Delete.json new file mode 100644 index 000000000000..0352ff180dcb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Get.json new file mode 100644 index 000000000000..b334dcfa3ce2 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "SchemaInput/DmsSdkFile.sql", + "lastModified": "2018-08-15T20:01:33+00:00", + "mediaType": "text/plain", + "size": 51835 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_List.json new file mode 100644 index 000000000000..8b20d089aa5b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "extension": "sql", + "filePath": "SchemaInput/DmsSdkFile.sql", + "lastModified": "2018-08-15T20:01:33+00:00", + "mediaType": "text/plain", + "size": 51835 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + }, + { + "properties": { + "extension": "sql", + "filePath": "7daf055f-82b0-483e-9da0-4244b4eaa9b0/AdventureWorks2008.sql", + "lastModified": "2018-10-05T16:51:03+00:00", + "mediaType": "text/plain", + "size": 910278 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p", + "name": "pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p", + "type": "Microsoft.DataMigration/services/projects/files" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Read.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Read.json new file mode 100644 index 000000000000..3967f511e649 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Read.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "uri": "https://dmssdkservicestorage.blob.core.windows.net/dmssdkservicecontainer/_rpfiles/dmssdkproject/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p?sv=2016-05-31&sr=b&sig=sassignature&se=2018-10-05T18%3A21%3A42Z&sp=r", + "headers": { + "x-ms-blob-type": "BlockBlob" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_ReadWrite.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_ReadWrite.json new file mode 100644 index 000000000000..9c634e60d5ab --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_ReadWrite.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "uri": "https://dmssdkservicestorage.blob.core.windows.net/dmssdkservicecontainer/_rpfiles/dmssdkproject/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p?sv=2016-05-31&sr=b&sig=sassignature&se=2018-10-05T18%3A21%3A42Z&sp=racwd", + "headers": { + "x-ms-blob-type": "BlockBlob" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Update.json new file mode 100644 index 000000000000..196a15430683 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Files_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Operations_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Operations_List.json new file mode 100644 index 000000000000..e10f64a3574b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Operations_List.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataMigration/services/read", + "display": { + "provider": "Database Migration Service", + "resource": "Database Migration Service", + "operation": "Read", + "description": "Read information about services." + } + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_CreateOrUpdate.json new file mode 100644 index 000000000000..990649ccc13f --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_CreateOrUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30", + "parameters": { + "location": "southcentralus", + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + }, + "201": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Delete.json new file mode 100644 index 000000000000..a871d3db0b7e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Get.json new file mode 100644 index 000000000000..a5f2d290b519 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:35:11.6561001-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_List.json new file mode 100644 index 000000000000..885d4f35ae33 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:29:56.3049263+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project1", + "location": "southcentralus", + "name": "project1", + "type": "Microsoft.DataMigration/services/projects" + }, + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:30:05.6185148+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project2", + "location": "southcentralus", + "name": "project2", + "type": "Microsoft.DataMigration/services/projects" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json new file mode 100644 index 000000000000..c33f7db56c75 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ResourceSkus_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ResourceSkus_ListSkus.json new file mode 100644 index 000000000000..78c55084bbf8 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ResourceSkus_ListSkus.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "services", + "name": "PP1", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "North Europe", + "West Europe", + "Central India", + "South India", + "West India", + "Japan East", + "Japan West", + "Korea South", + "Korea Central", + "UK South", + "UK South 2", + "UK North", + "UK West", + "East US 2 EUAP", + "Central US", + "East US", + "East US 2", + "North Central US", + "South Central US", + "West Central US", + "West US", + "West US 2" + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Cancel.json new file mode 100644 index 000000000000..20c378287d53 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Cancel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_CreateOrUpdate.json new file mode 100644 index 000000000000..21398aa322f1 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Delete.json new file mode 100644 index 000000000000..5b27ff38f6f6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Get.json new file mode 100644 index 000000000000..20c378287d53 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_List.json new file mode 100644 index 000000000000..155677de32bc --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Update.json new file mode 100644 index 000000000000..67f395be60ac --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/ServiceTasks_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckChildrenNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckChildrenNameAvailability.json new file mode 100644 index 000000000000..20faad1ad3f5 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckChildrenNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30", + "parameters": { + "requestedName": { + "name": "Task1", + "type": "tasks" + } + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..2e21bcc67ecd --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2021-06-30", + "location": "eastus", + "parameters": { + "requestedName": { + "name": "DmsSdkService", + "type": "services" + } + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckStatus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckStatus.json new file mode 100644 index 000000000000..f78615b0ca5c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CheckStatus.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "agentVersion": "3.3.3871.6", + "status": "Online", + "vmSize": "Standard_A4_v2", + "supportedTaskTypes": [ + "diagnostic.count", + "diagnostic.echo", + "diagnostic.error", + "diagnostic.fastCount", + "ConnectToSource.SqlServer.Sync", + "SyncMigrationOperationalTelemetry.LogCollector", + "GetUserTables.AzureSqlDb.Sync", + "ConnectToTarget.SqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", + "Migrate.SqlServer.AzureSqlDb.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", + "DataMigration.AzureSqlDbPostMigrationValidationScenarioId", + "GetTDECertificates.Sql", + "Migrate.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ConnectToTarget.AzureDbForMySql", + "ConnectToSource.SqlServer", + "GetUserTables.Sql", + "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.SqlDb", + "Migrate.SqlServer.SqlDb", + "ConnectToSource.MySql" + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..0f43c208b241 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_CreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "sku": { + "name": "Basic_1vCore" + }, + "location": "southcentralus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Delete.json new file mode 100644 index 000000000000..7b83b07851cd --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Get.json new file mode 100644 index 000000000000..6a074f981eca --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "publicKey": "0;AQAB;sCMXX00QDnuOIEQdXyY96h3VPSk3ccsBeYOGxntqg7y6oXbq4JbQHf8GnUhf5NsmUYBq1rO+6xSumIuLLANIIqNPpHCT8x7W+tcuShlju4fdSKfpyKbJnTJJzGLhRJYG97hDPo9D76qpEYQN66k0IfkKJVDTh7LAxqcE3lxdA98LB2EDM6vYoZ+raKXygYc1UUHDpkfksLk2YRTVCaayTFBh5HT/+CY+48V+rbx/nruvEEEbSg720m5Fc0k8ivM3A+RGkeK9pzQx+TtskSCDXiWL50a8Rrb5ORkBusgY+s0XLyKOuxZCIUOEO8JzUjCeZYdOfLJzx8yfTxEmSlOPqQ==", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "qt85+bWDN84/6PR8Gllxf63krZcXZX1h3wxAbs6pCjc=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_List.json new file mode 100644 index 000000000000..c50c48c7fcdc --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg1/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg2/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListByResourceGroup.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListByResourceGroup.json new file mode 100644 index 000000000000..6a4f42f75ad7 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "southcentralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListSkus.json new file mode 100644 index 000000000000..7aab2501b830 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_ListSkus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Start.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Start.json new file mode 100644 index 000000000000..72deff5012f7 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Start.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Stop.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Stop.json new file mode 100644 index 000000000000..72deff5012f7 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Stop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json new file mode 100644 index 000000000000..7b1e456545e2 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Cancel.json new file mode 100644 index 000000000000..4f2723fd1809 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Cancel.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json new file mode 100644 index 000000000000..5bb16b0da661 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30", + "parameters": { + "command": { + "commandType": "Migrate.Sync.Complete.Database", + "input": { + "databaseName": "TestDatabase" + } + } + } + }, + "responses": { + "200": { + "body": { + "input": { + "databaseName": "TestDatabase" + }, + "commandType": "Migrate.Sync.Complete.Database", + "state": "Accepted" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_CreateOrUpdate.json new file mode 100644 index 000000000000..8e2fed95c3b0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_CreateOrUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Delete.json new file mode 100644 index 000000000000..ebd29d80c9c3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Get.json new file mode 100644 index 000000000000..4f2723fd1809 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_List.json new file mode 100644 index 000000000000..743e38b24538 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Update.json new file mode 100644 index 000000000000..078577d1070d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Update.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2021-06-30", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Usages_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Usages_List.json new file mode 100644 index 000000000000..ad4c3647b4d4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Usages_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "90fb80a6-0f71-4761-8f03-921e7396f3c0", + "location": "westus", + "api-version": "2021-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 1.0, + "id": "/subscriptions/90fb80a6-0f71-4761-8f03-921e7396f3c0/providers/Microsoft.DataMigration/locations/westus/usages/Services", + "limit": 2.0, + "name": { + "localizedValue": "DMS service instances per region", + "value": "Services" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 42e97f085902..d95487e02038 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -9,6 +9,7 @@ The Data Migration RP comprises of APIs that enable a customer to manage the ser --- ## Getting Started + To build the SDK for Compute, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -22,13 +23,58 @@ To see additional help and options, run: ## Configuration ### Basic Information + These are the global settings for the Database Migration Service API. ``` yaml title: DataMigrationManagementClient description: Data Migration Client openapi-type: arm -tag: package-2018-07-15-preview +tag: package-2021-06 +``` + + +### Tag: package-2021-06 + +These settings apply only when `--tag=package-2021-06` is specified on the command line. + +```yaml $(tag) == 'package-2021-06' +input-file: +- Microsoft.DataMigration/stable/2021-06-30/datamigration.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/Commands.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceSqlServerTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourcePostgreSqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlDbTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMiSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlMITask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetSqlSqlDbSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesSqlTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSchemaSqlServerSqlDbTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMiSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlMITask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSsisTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MigrationValidation.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/MongoDbTasks.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/GetTdeCertificatesSqlTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/OracleAzureDbPostgreSqlSyncTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/Projects.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceFeatureOCITask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/Services.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ServiceTasks.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/TasksCommon.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMITask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateSyncMigrationInputSqlServerTask.json +- Microsoft.DataMigration/stable/2021-06-30/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json ``` ### Tag: package-2018-04-19 @@ -178,7 +224,6 @@ input-file: # Code Generation - ## Swagger to SDK This section describes what SDK should be generated by the automatic system. @@ -221,6 +266,3 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) - - - From 8a8b5494e24e03a7cf077fcfd8139b711dc9e42a Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Mon, 19 Jul 2021 18:04:06 -0700 Subject: [PATCH 2/7] Adding breaking changes --- .../stable/2021-06-30/definitions/Common.json | 5 + .../definitions/ConnectToSourceMySqlTask.json | 5 + .../ConnectToTargetAzureDbForMySqlTask.json | 5 + .../definitions/GetUserTablesMySqlTask.json | 72 ++++ ...igrateMySqlAzureDbForMySqlOfflineTask.json | 404 ++++++++++++++++++ .../stable/2021-06-30/definitions/Tasks.json | 48 +++ 6 files changed, 539 insertions(+) create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesMySqlTask.json create mode 100644 specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json index 610d88eae069..6ceea65f509c 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Common.json @@ -357,6 +357,11 @@ "port": { "type": "integer", "description": "Port for Server" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true } }, "allOf": [ diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json index c1ef0395e287..4c82e6b1d470 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToSourceMySqlTask.json @@ -32,6 +32,11 @@ "checkPermissionsGroup": { "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", "description": "Permission group for validations" + }, + "isOfflineMigration": { + "type": "boolean", + "description": "Flag for whether or not the migration is offline", + "default": false } }, "required": [ diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json index c91e6438f6d9..c4f4e7d79cea 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/ConnectToTargetAzureDbForMySqlTask.json @@ -28,6 +28,11 @@ "targetConnectionInfo": { "description": "Connection information for target Azure Database for MySQL server", "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "isOfflineMigration": { + "type": "boolean", + "description": "Flag for whether or not the migration is offline", + "default": false } }, "required": [ diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesMySqlTask.json new file mode 100644 index 000000000000..038f9c3c9003 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/GetUserTablesMySqlTask.json @@ -0,0 +1,72 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "GetUserTablesMySqlTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "List of database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesMySqlTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databasesToTables": { + "type": "string", + "description": "Mapping from database name to list of tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "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/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json new file mode 100644 index 000000000000..bd24b96e8713 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json @@ -0,0 +1,404 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2021-06-30" + }, + "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": { + "MigrateMySqlAzureDbForMySqlOfflineTaskInput": { + "type": "object", + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for offline 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/MigrateMySqlAzureDbForMySqlOfflineDatabaseInput" + } + }, + "makeSourceServerReadOnly": { + "type": "boolean", + "description": "Setting to set the source server read only", + "default": false + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Parameter to specify when the migration started" + }, + "optionalAgentSettings": { + "type": "object", + "description": "Optional parameters for fine tuning the data transfer rate during migration", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutput": { + "type": "object", + "description": "Output for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel": { + "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 + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration of task execution in seconds.", + "readOnly": true + }, + "status": { + "$ref": "./TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Migration status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + } + }, + "databaseSummary": { + "type": "string", + "description": "Summary of database results in the migration", + "additionalProperties": { + "$ref": "#/definitions/DatabaseSummaryResult" + }, + "readOnly": true + }, + "migrationReportResult": { + "type": "object", + "description": "Migration Report Result, provides unique url for downloading your migration report.", + "$ref": "./MigrationValidation.json#/definitions/MigrationReportResult" + }, + "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 + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel": { + "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 + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Migration stage that this database is in", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "numberOfObjects": { + "type": "integer", + "format": "int64", + "description": "Number of objects", + "readOnly": true + }, + "numberOfObjectsCompleted": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed objects", + "readOnly": true + }, + "errorCount": { + "type": "integer", + "format": "int64", + "description": "Number of database/object errors.", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + }, + "objectSummary": { + "type": "string", + "description": "Summary of object results in the migration", + "additionalProperties": { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the item", + "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 + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputError": { + "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/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineDatabaseInput": { + "type": "object", + "description": "Database specific information for offline 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." + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + } + } + }, + "DatabaseSummaryResult": { + "type": "object", + "description": "Summary of database results in the migration", + "properties": { + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json index 02ad52f1dfb4..cb2da55ed60a 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/Tasks.json @@ -449,6 +449,30 @@ } ] }, + "GetUserTablesMySqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesMySql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesMySqlTask.json#/definitions/GetUserTablesMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesMySqlTask.json#/definitions/GetUserTablesMySqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "ConnectToTargetSqlMITaskProperties": { "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI", "type": "object", @@ -663,6 +687,30 @@ } ] }, + "MigrateMySqlAzureDbForMySqlOfflineTaskProperties": { + "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql", + "type": "object", + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateMySqlAzureDbForMySqlOfflineTask.json#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateMySqlAzureDbForMySqlOfflineTask.json#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { "x-ms-discriminator-value": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", "type": "object", From e45298219172093c14acebd93373785b5bc80c88 Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Fri, 30 Jul 2021 15:04:22 -0700 Subject: [PATCH 3/7] Adding location to the services update example --- .../stable/2021-06-30/examples/Services_Update.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json index 7b1e456545e2..5d5afe553084 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Services_Update.json @@ -7,7 +7,8 @@ "parameters": { "properties": { "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" - } + }, + "location": "southcentralus" } }, "responses": { From 9191961fb0d275e2ec3c354242c3b3c90edbafd2 Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Fri, 30 Jul 2021 17:15:06 -0700 Subject: [PATCH 4/7] Adding location for projects update and refactoring the task command --- .../stable/2021-06-30/examples/Projects_Update.json | 1 + .../stable/2021-06-30/examples/Tasks_Command.json | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json index c33f7db56c75..ec69133685b4 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Projects_Update.json @@ -6,6 +6,7 @@ "projectName": "DmsSdkProject", "api-version": "2021-06-30", "parameters": { + "location": "southcentralus", "properties": { "sourcePlatform": "SQL", "targetPlatform": "SQLDB" diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json index 5bb16b0da661..126cba01c623 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json @@ -8,10 +8,10 @@ "api-version": "2021-06-30", "parameters": { "command": { - "commandType": "Migrate.Sync.Complete.Database", "input": { "databaseName": "TestDatabase" - } + }, + "commandType": "Migrate.Sync.Complete.Database" } } }, From c914363f50bc406cf03336cd3a6eaae2d9967fca Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Fri, 30 Jul 2021 18:02:38 -0700 Subject: [PATCH 5/7] Resolving tasks command ModelValidation test failure --- .../stable/2021-06-30/examples/Tasks_Command.json | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json index 126cba01c623..cf09280fd641 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/examples/Tasks_Command.json @@ -7,12 +7,10 @@ "taskName": "DmsSdkTask", "api-version": "2021-06-30", "parameters": { - "command": { - "input": { - "databaseName": "TestDatabase" - }, - "commandType": "Migrate.Sync.Complete.Database" - } + "input": { + "databaseName": "TestDatabase" + }, + "commandType": "Migrate.Sync.Complete.Database" } }, "responses": { From dc2ecc2664df9a0be430b67bf30c062b270765a0 Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Mon, 9 Aug 2021 17:48:24 -0700 Subject: [PATCH 6/7] Resolving issue based on zhenglaizhang's recommendation --- .../2021-06-30/definitions/MigrateSqlServerSqlDbTask.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json index df307197217f..36e23066913d 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json @@ -352,21 +352,25 @@ "MigrateSqlServerSqlDbTaskOutputValidationResult": { "x-ms-discriminator-value": "MigrationValidationOutput", "type": "object", - "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult", "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + { + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult" } ] }, "MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult": { "x-ms-discriminator-value": "MigrationDatabaseLevelValidationOutput", "type": "object", - "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult", "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" } + { + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult" + } ] } } From ef9fded91a00e96bc2f5f0efe4ad030b3cebbd7a Mon Sep 17 00:00:00 2001 From: Artem Pavlichenko Date: Mon, 9 Aug 2021 17:51:21 -0700 Subject: [PATCH 7/7] Adding comma to resolve issue --- .../2021-06-30/definitions/MigrateSqlServerSqlDbTask.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json index 36e23066913d..0e68c88e1026 100644 --- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2021-06-30/definitions/MigrateSqlServerSqlDbTask.json @@ -367,7 +367,7 @@ "allOf": [ { "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" - } + }, { "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult" }